)]}'
{
  "log": [
    {
      "commit": "1ab142d499294b844ecc81e8004db4ce029b0b61",
      "tree": "9db85a456d0cba3de8b9bd6671b1b52fa939770c",
      "parents": [
        "267d7b23dd62f6ec55e0fba777e456495c308fc7",
        "187e70a554e0f0717a65998bc9199945cbbd4692"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 12:38:04 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 12:38:04 2012 -0700"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending\n\nPull SCSI target updates from Nicholas Bellinger:\n \"This contains the usual set of updates and bugfixes to target-core +\n  existing fabric module code, along with a handful of the patches\n  destined for v3.3 stable.\n\n  It also contains the necessary target-core infrastructure pieces\n  required to run using tcm_qla2xxx.ko WWPNs with the new Qlogic Fibre\n  Channel fabric module currently queued in target-pending/for-next-merge,\n  and coming for round 2.\n\n  The highlights for this series include:\n\n   - Add target_submit_tmr() helper function for fabric task management\n     (andy)\n   - Convert tcm_fc to use target_submit_tmr() (andy)\n   - Replace target core various cmd flags with a transport state (hch)\n   - Convert loopback to use workqueue submission (hch)\n   - Convert target core to use array_zalloc for tpg_lun_list (joern)\n   - Convert target core to use array_zalloc for device_list (joern)\n   - Add target core support for TMR_ABORT_TASK (nab)\n   - Add target core se_sess-\u003esess_kref + get/put helpers (nab)\n   - Add target core se_node_acl-\u003eacl_kref for -\u003eacl_free_comp usage\n     (nab)\n   - Convert iscsi-target to use target_put_session + sess_kref (nab)\n   - Fix tcm_fc fc_exch memory leak in ft_send_resp_status (nab)\n   - Fix ib_srpt srpt_handle_cmd send_ioctx-\u003eioctx_kref leak on\n     exception (nab)\n   - Fix target core up handling of short INQUIRY buffers (roland)\n   - Untangle target-core front-end and back-end meanings of max_sectors\n     attribute (roland)\n   - Set loopback residual field for SCSI commands (roland)\n   - Fix target-core 16-bit target ports for SET TARGET PORT GROUPS\n     emulation (roland)\n\n  Thanks again to Andy, Christoph, Joern, Roland, and everyone who has\n  contributed this round!\"\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (64 commits)\n  ib_srpt: Fix srpt_handle_cmd send_ioctx-\u003eioctx_kref leak on exception\n  loopback: Fix transport_generic_allocate_tasks error handling\n  iscsi-target: remove improper externs\n  iscsi-target: Remove unused variables in iscsi_target_parameters.c\n  target: remove obvious warnings\n  target: Use array_zalloc for device_list\n  target: Use array_zalloc for tpg_lun_list\n  target: Fix sense code for unsupported SERVICE ACTION IN\n  target: Remove hack to make READ CAPACITY(10) lie if thin provisioning is enabled\n  target: Bump core version to v4.1.0-rc2-ml + fabric versions\n  tcm_fc: Fix fc_exch memory leak in ft_send_resp_status\n  target: Drop unused legacy target_core_fabric_ops API callers\n  iscsi-target: Convert to use target_put_session + sess_kref\n  target: Convert se_node_acl-\u003eacl_group removal to use -\u003eacl_kref\n  target: Add se_node_acl-\u003eacl_kref for -\u003eacl_free_comp usage\n  target: Add se_node_acl-\u003eacl_free_comp for NodeACL release path\n  target: Add se_sess-\u003esess_kref + get/put helpers\n  target: Convert session_lock to irqsave\n  target: Fix typo in drivers/target\n  iscsi-target: Fix dynamic -\u003e explict NodeACL pointer reference\n  ...\n"
    },
    {
      "commit": "0c2fe82a9b106f1c03719783134360586d718a69",
      "tree": "ec1a18ca49f1e6724ef3a93727f5f73b7df61931",
      "parents": [
        "5f0e685f316a1de6d3af8b23eaf46651faca32ab",
        "f0e88aeb19dac00ed2e09fd4d39ee65f32d5e968"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 10:33:42 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 10:33:42 2012 -0700"
      },
      "message": "Merge tag \u0027rdma-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\nPull InfiniBand/RDMA changes for the 3.4 merge window from Roland Dreier:\n \"Nothing big really stands out; by patch count lots of fixes to the\n  mlx4 driver plus some cleanups and fixes to the core and other\n  drivers.\"\n\n* tag \u0027rdma-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (28 commits)\n  mlx4_core: Scale size of MTT table with system RAM\n  mlx4_core: Allow dynamic MTU configuration for IB ports\n  IB/mlx4: Fix info returned when querying IBoE ports\n  IB/mlx4: Fix possible missed completion event\n  mlx4_core: Report thermal error events\n  mlx4_core: Fix one more static exported function\n  IB: Change CQE \"csum_ok\" field to a bit flag\n  RDMA/iwcm: Reject connect requests if cmid is not in LISTEN state\n  RDMA/cxgb3: Don\u0027t pass irq flags to flush_qp()\n  mlx4_core: Get rid of redundant ext_port_cap flags\n  RDMA/ucma: Fix AB-BA deadlock\n  IB/ehca: Fix ilog2() compile failure\n  IB: Use central enum for speed instead of hard-coded values\n  IB/iser: Post initial receive buffers before sending the final login request\n  IB/iser: Free IB connection resources in the proper place\n  IB/srp: Consolidate repetitive sysfs code\n  IB/srp: Use pr_fmt() and pr_err()/pr_warn()\n  IB/core: Fix SDR rates in sysfs\n  mlx4: Enforce device max FMR maps in FMR alloc\n  IB/mlx4: Set bad_wr for invalid send opcode\n  ...\n"
    },
    {
      "commit": "9f3938346a5c1fa504647670edb5fea5756cfb00",
      "tree": "7cf6d24d6b076c8db8571494984924cac03703a2",
      "parents": [
        "69a7aebcf019ab3ff5764525ad6858fbe23bb86d",
        "317b6e128247f75976b0fc2b9fd8d2c20ef13b3a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 09:40:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 09:40:26 2012 -0700"
      },
      "message": "Merge branch \u0027kmap_atomic\u0027 of git://github.com/congwang/linux\n\nPull kmap_atomic cleanup from Cong Wang.\n\nIt\u0027s been in -next for a long time, and it gets rid of the (no longer\nused) second argument to k[un]map_atomic().\n\nFix up a few trivial conflicts in various drivers, and do an \"evil\nmerge\" to catch some new uses that have come in since Cong\u0027s tree.\n\n* \u0027kmap_atomic\u0027 of git://github.com/congwang/linux: (59 commits)\n  feature-removal-schedule.txt: schedule the deprecated form of kmap_atomic() for removal\n  highmem: kill all __kmap_atomic() [swarren@nvidia.com: highmem: Fix ARM build break due to __kmap_atomic rename]\n  drbd: remove the second argument of k[un]map_atomic()\n  zcache: remove the second argument of k[un]map_atomic()\n  gma500: remove the second argument of k[un]map_atomic()\n  dm: remove the second argument of k[un]map_atomic()\n  tomoyo: remove the second argument of k[un]map_atomic()\n  sunrpc: remove the second argument of k[un]map_atomic()\n  rds: remove the second argument of k[un]map_atomic()\n  net: remove the second argument of k[un]map_atomic()\n  mm: remove the second argument of k[un]map_atomic()\n  lib: remove the second argument of k[un]map_atomic()\n  power: remove the second argument of k[un]map_atomic()\n  kdb: remove the second argument of k[un]map_atomic()\n  udf: remove the second argument of k[un]map_atomic()\n  ubifs: remove the second argument of k[un]map_atomic()\n  squashfs: remove the second argument of k[un]map_atomic()\n  reiserfs: remove the second argument of k[un]map_atomic()\n  ocfs2: remove the second argument of k[un]map_atomic()\n  ntfs: remove the second argument of k[un]map_atomic()\n  ...\n"
    },
    {
      "commit": "69a7aebcf019ab3ff5764525ad6858fbe23bb86d",
      "tree": "7211df5704b743a7667159748c670a9744164482",
      "parents": [
        "d464c92b5234227c1698862a1906827e2e398ae0",
        "f1f996b66cc3908a8f5ffccc2ff41840e92f3b10"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 21:12:50 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 21:12:50 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\nPull trivial tree from Jiri Kosina:\n \"It\u0027s indeed trivial -- mostly documentation updates and a bunch of\n  typo fixes from Masanari.\n\n  There are also several linux/version.h include removals from Jesper.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (101 commits)\n  kcore: fix spelling in read_kcore() comment\n  constify struct pci_dev * in obvious cases\n  Revert \"char: Fix typo in viotape.c\"\n  init: fix wording error in mm_init comment\n  usb: gadget: Kconfig: fix typo for \u0027different\u0027\n  Revert \"power, max8998: Include linux/module.h just once in drivers/power/max8998_charger.c\"\n  writeback: fix fn name in writeback_inodes_sb_nr_if_idle() comment header\n  writeback: fix typo in the writeback_control comment\n  Documentation: Fix multiple typo in Documentation\n  tpm_tis: fix tis_lock with respect to RCU\n  Revert \"media: Fix typo in mixer_drv.c and hdmi_drv.c\"\n  Doc: Update numastat.txt\n  qla4xxx: Add missing spaces to error messages\n  compiler.h: Fix typo\n  security: struct security_operations kerneldoc fix\n  Documentation: broken URL in libata.tmpl\n  Documentation: broken URL in filesystems.tmpl\n  mtd: simplify return logic in do_map_probe()\n  mm: fix comment typo of truncate_inode_pages_range\n  power: bq27x00: Fix typos in comment\n  ...\n"
    },
    {
      "commit": "2a156d094d590e1cb946d1c353f1c1a89013f822",
      "tree": "bf101fd143b1801faf05b7b954c2b12aa816f6af",
      "parents": [
        "45b408d2efb04cda10b6112ce2be95689d70cb0c"
      ],
      "author": {
        "name": "Cong Wang",
        "email": "amwang@redhat.com",
        "time": "Fri Nov 25 23:14:20 2011 +0800"
      },
      "committer": {
        "name": "Cong Wang",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Tue Mar 20 21:48:18 2012 +0800"
      },
      "message": "infiniband: remove the second argument of k[un]map_atomic()\n\nAcked-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Cong Wang \u003camwang@redhat.com\u003e\n"
    },
    {
      "commit": "f0e88aeb19dac00ed2e09fd4d39ee65f32d5e968",
      "tree": "2e4f7b3740deb9305819e12e968ca70bdeb9434a",
      "parents": [
        "42872c7a5ed8d3ed49f51cb783978ca50369c564",
        "186834b5de69a89ba6cc846e7259451ced689b64",
        "db4106ce635830201fad1bfca731a635beab6a72",
        "91018f8632e09e3a617c9fc2efbbdaa2922d2fe7",
        "bd50f8924c684f84416fb58c11eb24619b041f25",
        "89e984e2c2cd14f77ccb26c47726ac7f13b70ae8",
        "0b307043049f34211affdde46f82e7abbe8c4590",
        "8dd87fba939370e729b0ee72c163f279d310de06",
        "520b3ee70527cb47f0b08ceb25ace02aed71eab7",
        "683b159a2eef6544d49020eb9c88a94157df7d2d",
        "a776ce7cfc905a1f8ebf9f7e87f0ba705e7efaef"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Mar 19 09:50:33 2012 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Mar 19 09:50:33 2012 -0700"
      },
      "message": "Merge branches \u0027cma\u0027, \u0027cxgb3\u0027, \u0027cxgb4\u0027, \u0027ehca\u0027, \u0027iser\u0027, \u0027mad\u0027, \u0027nes\u0027, \u0027qib\u0027, \u0027srp\u0027 and \u0027srpt\u0027 into for-next\n"
    },
    {
      "commit": "187e70a554e0f0717a65998bc9199945cbbd4692",
      "tree": "c328e72d485b172e5d4e8a283ea5252654dd7676",
      "parents": [
        "ee9b866a3696ae434418348e2f499c41841366d4"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Mar 17 20:12:36 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Mar 17 22:13:48 2012 -0700"
      },
      "message": "ib_srpt: Fix srpt_handle_cmd send_ioctx-\u003eioctx_kref leak on exception\n\nThis patch addresses a bug in srpt_handle_cmd() failure handling where\nsend_ioctx-\u003ekref is being leaked with the local extra reference after init,\ncausing the expected kref_put() in srpt_handle_send_comp() to not be the final\ncall to invoke srpt_put_send_ioctx_kref() -\u003e transport_generic_free_cmd() and\nperform se_cmd descriptor memory release.\n\nIt also fixes a SCF_SCSI_RESERVATION_CONFLICT handling bug where this code\nis incorrectly falling through to transport_handle_cdb_direct() after\ninvoking srpt_queue_status() to send SAM_STAT_RESERVATION_CONFLICT status.\n\nNote this patch is for \u003e\u003d v3.3 mainline code, and current lio-core.git\ncode has already been converted to target_submit_cmd() + se_cmd-\u003ecmd_kref usage,\nand internal ioctx-\u003ekref usage has been removed.  I\u0027m including this patch\nnow into target-pending/for-next with a CC\u0027 for v3.3 stable.\n\nCc: Bart Van Assche \u003cbvanassche@acm.org\u003e\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "42872c7a5ed8d3ed49f51cb783978ca50369c564",
      "tree": "0deea7b61c163e6997a4634ab4ee310014984688",
      "parents": [
        "d927d505c59a0c7353343174e6225c43c61fba6d",
        "db5a7a65c05867cb6ff5cb6d556a0edfce631d2d"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Mar 12 16:25:28 2012 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Mar 12 16:25:28 2012 -0700"
      },
      "message": "Merge branches \u0027misc\u0027 and \u0027mlx4\u0027 into for-next\n\nConflicts:\n\tdrivers/infiniband/hw/mlx4/main.c\n\tdrivers/net/ethernet/mellanox/mlx4/main.c\n\tinclude/linux/mlx4/device.h\n"
    },
    {
      "commit": "a9c766bb75ee2caad2735e41784387784ffd87db",
      "tree": "8dbc6a8fe8e2b6853f817b029d34dbcf856d0684",
      "parents": [
        "3616f9cead935d4e4c35915600d5e4d1384219cd"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Wed Jan 11 19:00:29 2012 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Mar 12 16:24:59 2012 -0700"
      },
      "message": "IB/mlx4: Fix info returned when querying IBoE ports\n\nTo issue a port query, use the QUERY_(Ethernet)_PORT command instead\nof the MAD_IFC command, since MAD_IFC attempts to query the firmware\nIB SMA, which is irrelevant for IBoE ports.\n\nThis allows us to handle both 10Gb/s and 40Gb/s rates (e.g in sysfs),\nusing QDR speed (10Gb/s) and width of 1X or 4X.\n\nSigned-off-by: Dotan Barak \u003cdotanb@mellanox.com\u003e\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "3616f9cead935d4e4c35915600d5e4d1384219cd",
      "tree": "b82899b32ce3c64195195351358267764e535c04",
      "parents": [
        "5984be90046fa978d94a5ec08bbf8f760cff2b30"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.com",
        "time": "Tue Mar 06 15:50:51 2012 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Mar 12 16:24:59 2012 -0700"
      },
      "message": "IB/mlx4: Fix possible missed completion event\n\nIf an erroneous CQE is polled in the first iteration (i.e. npolled \u003d\u003d\n0), we don\u0027t update the consumer index and hence the hardware could\nget a wrong notion of how many CQEs software polled.  Fix this by\nunconditionally updating the doorbell record.  We could change the\ncheck to be something like\n\n\tif (npolled || err !\u003d -EAGAIN)\n\t\t...\n\nbut it does not seem worth the effort since a posted write to memory\nshould not cost too much.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "c7ec05c82bfd6acf1fd800d628591500805f3179",
      "tree": "c64d5d330120d038f5ee9fe90b7a7eba0a0b3459",
      "parents": [
        "99367f01b8df2018ff3328ddf4111e701d34188d"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Feb 28 00:22:12 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Mar 10 14:42:55 2012 -0800"
      },
      "message": "target: Drop unused legacy target_core_fabric_ops API callers\n\nThis patch drops the following unused legacy API callers from target_core_fabric.h:\n\n*) TFO-\u003efall_back_to_erl0()\n*) TFO-\u003estop_session()\n*) TFO-\u003esess_logged_in()\n*) TFO-\u003eis_state_remove()\n\nThis patch also removes the stub usage in loopback, tcm_fc, iscsi_target,\nand ib_srpt fabric modules.\n\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "d927d505c59a0c7353343174e6225c43c61fba6d",
      "tree": "8fe928291acb9c6975f7c03514566933edeef7d5",
      "parents": [
        "3eae7c9f97415ac1f5ab5db4eeb03cde689eb427"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Wed Jan 11 19:03:51 2012 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Mar 08 12:34:27 2012 -0800"
      },
      "message": "IB: Change CQE \"csum_ok\" field to a bit flag\n\nUse a bit in wc_flags rather then a whole integer to hold the\n\"checksum OK\" flag.  By itself, this change doesn\u0027t reduce the size of\nstruct ib_wc on 64bit machines -- it stays on 56 bytes because of\npadding.  However, it will allow to add more fields in the future\nwithout enlarging the struct.  Also, it will let us have a unified\napproach with future libibverbs checksum offload reporting, because a\nbit flag doesn\u0027t break the library ABI.\n\nThis patch was suggested during conversation with Liran Liss\n\u003cliranl@mellanox.com\u003e.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nReviewed-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "3eae7c9f97415ac1f5ab5db4eeb03cde689eb427",
      "tree": "fa29c0cc9e465395808607cc9506445ba7473729",
      "parents": [
        "8154c07fe14e387c5a7c7f2eb70534813634e45e"
      ],
      "author": {
        "name": "Steve Wise",
        "email": "swise@opengridcomputing.com",
        "time": "Wed Mar 07 16:48:11 2012 -0600"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Mar 07 15:14:53 2012 -0800"
      },
      "message": "RDMA/iwcm: Reject connect requests if cmid is not in LISTEN state\n\nWhen destroying a listening cmid, the iwcm first marks the state of\nthe cmid as DESTROYING, then releases the lock and calls into the\niWARP provider to destroy the endpoint.  Since the cmid is not locked,\nits possible for the iWARP provider to pass a connection request event\nto the iwcm, which will be silently dropped by the iwcm.  This causes\nthe iWARP provider to never free up the resources from this connection\nbecause the assumption is the iwcm will accept or reject this connection.\n\nThe solution is to reject these connection requests.\n\nSigned-off-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "db4106ce635830201fad1bfca731a635beab6a72",
      "tree": "344aead8f592bdab67bc395213d0ddda0fe88bc5",
      "parents": [
        "6b21d18ed50c7d145220b0724ea7f2613abf0f95"
      ],
      "author": {
        "name": "Steve Wise",
        "email": "swise@opengridcomputing.com",
        "time": "Wed Mar 07 16:48:46 2012 -0600"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Mar 07 15:12:45 2012 -0800"
      },
      "message": "RDMA/cxgb3: Don\u0027t pass irq flags to flush_qp()\n\nSince flush_qp() is always called with irqs disabled, all the locking\ninside flush_qp() and __flush_qp() doesn\u0027t need irq save/restore.\n\nFurther, passing the flag variable from iwch_modify_qp() is just wrong\nand causes a WARN_ON() in local_bh_enable().\n\nSigned-off-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "8154c07fe14e387c5a7c7f2eb70534813634e45e",
      "tree": "04a62c867cb09976b415e8d6e04d41f0c2e793e1",
      "parents": [
        "2e96691c31ecf749f48aa94ea837b95dd656f5c2"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Tue Mar 06 15:50:50 2012 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Mar 06 17:25:18 2012 -0800"
      },
      "message": "mlx4_core: Get rid of redundant ext_port_cap flags\n\nWhile doing the work for commit a6f7feae6d (\"IB/mlx4: pass SMP\nvendor-specific attribute MADs to firmware\") we realized that the\nfirmware would respond on all sorts of vendor-specific MADs.\nTherefore commit 97285b7817 (\"mlx4_core: Add extended port\ncapabilities support\") adds redundant code into the driver, since\nthere\u0027s no real reaon to maintain the extended capabilities of the\nport, as they can be queried on demand (e.g the FDR10 capability).\n\nThis patch reverts commit 97285b7817 and removes the check for\nextended caps from the mlx4_ib driver port query flow.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "186834b5de69a89ba6cc846e7259451ced689b64",
      "tree": "805956214ca42d697264938080d362d1384f9dd6",
      "parents": [
        "6b21d18ed50c7d145220b0724ea7f2613abf0f95"
      ],
      "author": {
        "name": "Hefty, Sean",
        "email": "sean.hefty@intel.com",
        "time": "Fri Mar 02 00:01:19 2012 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Mar 05 12:27:57 2012 -0800"
      },
      "message": "RDMA/ucma: Fix AB-BA deadlock\n\nWhen we destroy a cm_id, we must purge associated events from the\nevent queue.  If the cm_id is for a listen request, we also purge\ncorresponding pending connect requests.  This requires destroying\nthe cm_id\u0027s associated with the connect requests by calling\nrdma_destroy_id().  rdma_destroy_id() blocks until all outstanding\ncallbacks have completed.\n\nThe issue is that we hold file-\u003emut while purging events from the\nevent queue.  We also acquire file-\u003emut in our event handler.  Calling\nrdma_destroy_id() while holding file-\u003emut can lead to a deadlock,\nsince the event handler callback cannot acquire file-\u003emut, which\nprevents rdma_destroy_id() from completing.\n\nFix this by moving events to purge from the event queue to a temporary\nlist.  We can then release file-\u003emut and call rdma_destroy_id()\noutside of holding any locks.\n\nBug report by Or Gerlitz \u003cogerlitz@mellanox.com\u003e:\n\n    [ INFO: possible circular locking dependency detected ]\n    3.3.0-rc5-00008-g79f1e43-dirty #34 Tainted: G          I\n\n    tgtd/9018 is trying to acquire lock:\n     (\u0026id_priv-\u003ehandler_mutex){+.+.+.}, at: [\u003cffffffffa0359a41\u003e] rdma_destroy_id+0x33/0x1f0 [rdma_cm]\n\n    but task is already holding lock:\n     (\u0026file-\u003emut){+.+.+.}, at: [\u003cffffffffa02470fe\u003e] ucma_free_ctx+0xb6/0x196 [rdma_ucm]\n\n    which lock already depends on the new lock.\n\n\n    the existing dependency chain (in reverse order) is:\n\n    -\u003e #1 (\u0026file-\u003emut){+.+.+.}:\n           [\u003cffffffff810682f3\u003e] lock_acquire+0xf0/0x116\n           [\u003cffffffff8135f179\u003e] mutex_lock_nested+0x64/0x2e6\n           [\u003cffffffffa0247636\u003e] ucma_event_handler+0x148/0x1dc [rdma_ucm]\n           [\u003cffffffffa035a79a\u003e] cma_ib_handler+0x1a7/0x1f7 [rdma_cm]\n           [\u003cffffffffa0333e88\u003e] cm_process_work+0x32/0x119 [ib_cm]\n           [\u003cffffffffa03362ab\u003e] cm_work_handler+0xfb8/0xfe5 [ib_cm]\n           [\u003cffffffff810423e2\u003e] process_one_work+0x2bd/0x4a6\n           [\u003cffffffff810429e2\u003e] worker_thread+0x1d6/0x350\n           [\u003cffffffff810462a6\u003e] kthread+0x84/0x8c\n           [\u003cffffffff81369624\u003e] kernel_thread_helper+0x4/0x10\n\n    -\u003e #0 (\u0026id_priv-\u003ehandler_mutex){+.+.+.}:\n           [\u003cffffffff81067b86\u003e] __lock_acquire+0x10d5/0x1752\n           [\u003cffffffff810682f3\u003e] lock_acquire+0xf0/0x116\n           [\u003cffffffff8135f179\u003e] mutex_lock_nested+0x64/0x2e6\n           [\u003cffffffffa0359a41\u003e] rdma_destroy_id+0x33/0x1f0 [rdma_cm]\n           [\u003cffffffffa024715f\u003e] ucma_free_ctx+0x117/0x196 [rdma_ucm]\n           [\u003cffffffffa0247255\u003e] ucma_close+0x77/0xb4 [rdma_ucm]\n           [\u003cffffffff810df6ef\u003e] fput+0x117/0x1cf\n           [\u003cffffffff810dc76e\u003e] filp_close+0x6d/0x78\n           [\u003cffffffff8102b667\u003e] put_files_struct+0xbd/0x17d\n           [\u003cffffffff8102b76d\u003e] exit_files+0x46/0x4e\n           [\u003cffffffff8102d057\u003e] do_exit+0x299/0x75d\n           [\u003cffffffff8102d599\u003e] do_group_exit+0x7e/0xa9\n           [\u003cffffffff8103ae4b\u003e] get_signal_to_deliver+0x536/0x555\n           [\u003cffffffff81001717\u003e] do_signal+0x39/0x634\n           [\u003cffffffff81001d39\u003e] do_notify_resume+0x27/0x69\n           [\u003cffffffff81361c03\u003e] retint_signal+0x46/0x83\n\n    other info that might help us debug this:\n\n     Possible unsafe locking scenario:\n\n           CPU0                    CPU1\n           ----                    ----\n      lock(\u0026file-\u003emut);\n                                   lock(\u0026id_priv-\u003ehandler_mutex);\n                                   lock(\u0026file-\u003emut);\n      lock(\u0026id_priv-\u003ehandler_mutex);\n\n     *** DEADLOCK ***\n\n    1 lock held by tgtd/9018:\n     #0:  (\u0026file-\u003emut){+.+.+.}, at: [\u003cffffffffa02470fe\u003e] ucma_free_ctx+0xb6/0x196 [rdma_ucm]\n\n    stack backtrace:\n    Pid: 9018, comm: tgtd Tainted: G          I  3.3.0-rc5-00008-g79f1e43-dirty #34\n    Call Trace:\n     [\u003cffffffff81029e9c\u003e] ? console_unlock+0x18e/0x207\n     [\u003cffffffff81066433\u003e] print_circular_bug+0x28e/0x29f\n     [\u003cffffffff81067b86\u003e] __lock_acquire+0x10d5/0x1752\n     [\u003cffffffff810682f3\u003e] lock_acquire+0xf0/0x116\n     [\u003cffffffffa0359a41\u003e] ? rdma_destroy_id+0x33/0x1f0 [rdma_cm]\n     [\u003cffffffff8135f179\u003e] mutex_lock_nested+0x64/0x2e6\n     [\u003cffffffffa0359a41\u003e] ? rdma_destroy_id+0x33/0x1f0 [rdma_cm]\n     [\u003cffffffff8106546d\u003e] ? trace_hardirqs_on_caller+0x11e/0x155\n     [\u003cffffffff810654b1\u003e] ? trace_hardirqs_on+0xd/0xf\n     [\u003cffffffffa0359a41\u003e] rdma_destroy_id+0x33/0x1f0 [rdma_cm]\n     [\u003cffffffffa024715f\u003e] ucma_free_ctx+0x117/0x196 [rdma_ucm]\n     [\u003cffffffffa0247255\u003e] ucma_close+0x77/0xb4 [rdma_ucm]\n     [\u003cffffffff810df6ef\u003e] fput+0x117/0x1cf\n     [\u003cffffffff810dc76e\u003e] filp_close+0x6d/0x78\n     [\u003cffffffff8102b667\u003e] put_files_struct+0xbd/0x17d\n     [\u003cffffffff8102b5cc\u003e] ? put_files_struct+0x22/0x17d\n     [\u003cffffffff8102b76d\u003e] exit_files+0x46/0x4e\n     [\u003cffffffff8102d057\u003e] do_exit+0x299/0x75d\n     [\u003cffffffff8102d599\u003e] do_group_exit+0x7e/0xa9\n     [\u003cffffffff8103ae4b\u003e] get_signal_to_deliver+0x536/0x555\n     [\u003cffffffff810654b1\u003e] ? trace_hardirqs_on+0xd/0xf\n     [\u003cffffffff81001717\u003e] do_signal+0x39/0x634\n     [\u003cffffffff8135e037\u003e] ? printk+0x3c/0x45\n     [\u003cffffffff8106546d\u003e] ? trace_hardirqs_on_caller+0x11e/0x155\n     [\u003cffffffff810654b1\u003e] ? trace_hardirqs_on+0xd/0xf\n     [\u003cffffffff81361803\u003e] ? _raw_spin_unlock_irq+0x2b/0x40\n     [\u003cffffffff81039011\u003e] ? set_current_blocked+0x44/0x49\n     [\u003cffffffff81361bce\u003e] ? retint_signal+0x11/0x83\n     [\u003cffffffff81001d39\u003e] do_notify_resume+0x27/0x69\n     [\u003cffffffff8118a1fe\u003e] ? trace_hardirqs_on_thunk+0x3a/0x3f\n     [\u003cffffffff81361c03\u003e] retint_signal+0x46/0x83\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "bd50f8924c684f84416fb58c11eb24619b041f25",
      "tree": "1663476c9a64c9bc9afd900b79404523936aaea5",
      "parents": [
        "6aeaa48b0dd3a4261804be1cccaea46d82be3fcb"
      ],
      "author": {
        "name": "Kyle McMartin",
        "email": "kmcmartin@redhat.com",
        "time": "Mon Feb 27 17:02:56 2012 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Mar 05 10:12:35 2012 -0800"
      },
      "message": "IB/ehca: Fix ilog2() compile failure\n\nI\u0027m getting compile failures building this driver, which I narrowed\ndown to the ilog2 call in ehca_get_max_hwpage_size...\n\n    ERROR: \".____ilog2_NaN\" [drivers/infiniband/hw/ehca/ib_ehca.ko]\n    undefined!\n    make[1]: *** [__modpost] Error 1\n    make: *** [modules] Error 2\n\nThe use of shca-\u003ehca_cap_mr_pgsize is confusing the compiler, and\nresulting in the __builtin_constant_p in ilog2 going insane.\n\nI tried making it take the u32 pgsize as an argument and the expansion\nof shca-\u003e_pgsize in the caller, but that failed as well.\n\nWith this patch in place, the driver compiles on my GCC 4.6.2 here.\n\nSuggested-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Kyle McMartin \u003ckmcmarti@redhat.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "2e96691c31ecf749f48aa94ea837b95dd656f5c2",
      "tree": "5e2bfaf522d66bc23c1ec0490fb3364c09aad4f2",
      "parents": [
        "e9319b0cb00d4d68792fdae37e81e316cb632cb9"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Tue Feb 28 18:49:50 2012 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Mar 05 09:25:16 2012 -0800"
      },
      "message": "IB: Use central enum for speed instead of hard-coded values\n\nThe kernel IB stack uses one enumeration for IB speed, which wasn\u0027t\nexplicitly specified in the verbs header file.  Add that enum, and use\nit all over the code.\n\nThe IB speed/width notation is also used by iWARP and IBoE HW drivers,\nwhich use the convention of rate \u003d speed * width to advertise their\nport link rate.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "89e984e2c2cd14f77ccb26c47726ac7f13b70ae8",
      "tree": "e628854190ad60fc8890318236a3ec395b8b94bb",
      "parents": [
        "d474186f19d7ac1c7fbb293fdcfa46103e45e2ca"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Mon Mar 05 18:21:44 2012 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Mar 05 08:53:05 2012 -0800"
      },
      "message": "IB/iser: Post initial receive buffers before sending the final login request\n\nAn iser target may send iscsi NO-OP PDUs as soon as it marks the iSER\niSCSI session as fully operative.  This means that there is window\nwhere there are no posted receive buffers on the initiator side, so\nit\u0027s possible for the iSER RC connection to break because of RNR NAK /\nretry errors.  To fix this, rely on the flags bits in the login\nrequest to have FFP (0x3) in the lower nibble as a marker for the\nfinal login request, and post an initial chunk of receive buffers\nbefore sending that login request instead of after getting the login\nresponse.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "d474186f19d7ac1c7fbb293fdcfa46103e45e2ca",
      "tree": "ba5eb32ddc42e99dd3600cd7a972cb31ecdf1e61",
      "parents": [
        "6b21d18ed50c7d145220b0724ea7f2613abf0f95"
      ],
      "author": {
        "name": "Doug Ledford",
        "email": "dledford@redhat.com",
        "time": "Thu Mar 01 19:55:21 2012 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Mar 05 00:23:27 2012 -0800"
      },
      "message": "IB/iser: Free IB connection resources in the proper place\n\nWe allocate the login dma buffers in iser_verbs.c as part of\nalloc_ib_conn_resources(), however we are freeing them in\niser_initiator.c as part of iser_free_rx_descriptors().  This is\nneedlessly confusing.  We have an alloc_rx_descriptors() and it\ndoesn\u0027t alloc something that the free_rx_descriptors() frees, and we\nhave an alloc_ib_conn_resources() that allocs something not freed by\nfree_ib_conn_resources().  Clean that up.\n\nSigned-off-by: Doug Ledford \u003cdledford@redhat.com\u003e\n\n[ Fix build error in iser_free_ib_conn_res().  - Or ]\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "683b159a2eef6544d49020eb9c88a94157df7d2d",
      "tree": "75c7ba070482711796f70af035e873dd6af7dc25",
      "parents": [
        "e0bda7d8c33e60fb08cc0b5522cd86346313722c"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@acm.org",
        "time": "Sat Jan 14 12:40:44 2012 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Feb 27 09:27:57 2012 -0800"
      },
      "message": "IB/srp: Consolidate repetitive sysfs code\n\nRemove sysfs attributes before removing a target instead of testing\nthe target state in every sysfs attribute callback method. Note: it is\nsafe to invoke a sysfs attribute removal method like\ndevice_remove_file() twice on the same attribute.\n\nSigned-off-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nAcked-by: David Dillow \u003cdillowda@ornl.gov\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "e0bda7d8c33e60fb08cc0b5522cd86346313722c",
      "tree": "cd5f1501be4ffddb4819059893d12e094fea9c9c",
      "parents": [
        "6b21d18ed50c7d145220b0724ea7f2613abf0f95"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@acm.org",
        "time": "Sat Jan 14 12:39:44 2012 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Feb 27 09:26:30 2012 -0800"
      },
      "message": "IB/srp: Use pr_fmt() and pr_err()/pr_warn()\n\nUse pr_fmt() and pr_xxx() instead of more verbose printk() equivalents.\n\nSigned-off-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nAcked-by: David Dillow \u003cdillowda@ornl.gov\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "e9319b0cb00d4d68792fdae37e81e316cb632cb9",
      "tree": "9947cf3123745e0cab9c587566a00a14e949459f",
      "parents": [
        "6b21d18ed50c7d145220b0724ea7f2613abf0f95"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Feb 27 09:15:08 2012 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Feb 27 09:15:08 2012 -0800"
      },
      "message": "IB/core: Fix SDR rates in sysfs\n\nCommit 71eeba16 (\"IB: Add new InfiniBand link speeds\") introduced a bug \nwhere eg the rate for IB 4X SDR links iss displayed as \"8.5 Gb/sec\" \ninstead of \"10 Gb/sec\" as it used to be.  Fix that.\n\nReported-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "80d326fab534a5380e8f6e509a0b9076655a9670",
      "tree": "57c636de934b3f8abb7db9bcde64360ecc4eaf66",
      "parents": [
        "48e316bc2e045206248c6c75c0d5bbc0c9ddc32c"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Fri Feb 24 14:30:15 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 26 14:10:06 2012 -0500"
      },
      "message": "netlink: add netlink_dump_control structure for netlink_dump_start()\n\nDavem considers that the argument list of this interface is getting\nout of control. This patch tries to address this issue following\nhis proposal:\n\nstruct netlink_dump_control c \u003d { .dump \u003d dump, .done \u003d done, ... };\n\nnetlink_dump_start(..., \u0026c);\n\nSuggested by David S. Miller.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a5bbe892da9441835cb6fece26d9bbd95fc820be",
      "tree": "2642ee58996918ae4a09be9d82d97a6516eb215b",
      "parents": [
        "4ba6b8eaa9d67d03fb653cb8a13afca3236d4d70"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "time": "Thu Feb 09 18:10:06 2012 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Sun Feb 26 01:43:37 2012 -0800"
      },
      "message": "mlx4: Enforce device max FMR maps in FMR alloc\n\nConnectX devices have a limit on the number of mappings that can be\ndone on an FMR before having to call sync_tpt.  The current\nmlx4_ib driver reports the limit correctly in max_map_per_fmr in\n.query_device(), but mlx4_core doesn\u0027t check it when actually\nallocating FMRs.\n\nAdd a max_fmr_maps field to struct mlx4_caps and enforce this maximum\nvalue on FMR allocations.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "4ba6b8eaa9d67d03fb653cb8a13afca3236d4d70",
      "tree": "529ac43cf579467c0552fcd102bd8c5764472786",
      "parents": [
        "6b21d18ed50c7d145220b0724ea7f2613abf0f95"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "time": "Thu Feb 09 18:52:50 2012 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Sun Feb 26 01:37:30 2012 -0800"
      },
      "message": "IB/mlx4: Set bad_wr for invalid send opcode\n\nIf the opcode of a work request exceeds the range of valid opcodes,\nreturn the pointer to the offending work request.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "a776ce7cfc905a1f8ebf9f7e87f0ba705e7efaef",
      "tree": "c2e34390ba3b90608a652d18e9cc72c02faf3774",
      "parents": [
        "6b21d18ed50c7d145220b0724ea7f2613abf0f95"
      ],
      "author": {
        "name": "Masanari Iida",
        "email": "standby24x7@gmail.com",
        "time": "Thu Feb 09 23:37:43 2012 +0900"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Sat Feb 25 17:49:37 2012 -0800"
      },
      "message": "IB/srpt: Fix typo \"alocate\" -\u003e \"allocate\"\n\nSigned-off-by: Masanari Iida \u003cstandby24x7@gmail.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "0b307043049f34211affdde46f82e7abbe8c4590",
      "tree": "49a9078b56a6d24884e6f656ec35eb29229d60a8",
      "parents": [
        "d144b650c635b941c3d73ef995ec16984594157f"
      ],
      "author": {
        "name": "Swapna Thete",
        "email": "swapna.thete@qlogic.com",
        "time": "Sat Feb 25 17:47:32 2012 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Sat Feb 25 17:47:32 2012 -0800"
      },
      "message": "IB/mad: Return error response for unsupported MADs\n\nSet up a response with appropriate error status and send it for MADs\nthat are not supported by a specific class/version.\n\nReviewed-by: Hal Rosenstock \u003chal@mellanox.com\u003e\nSigned-off-by: Swapna Thete \u003cswapna.thete@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "6aeaa48b0dd3a4261804be1cccaea46d82be3fcb",
      "tree": "5ab457a296d0f2c6f4fd79d2c2d0211aa7918bde",
      "parents": [
        "6b21d18ed50c7d145220b0724ea7f2613abf0f95"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sat Feb 25 17:47:21 2012 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Sat Feb 25 17:47:21 2012 -0800"
      },
      "message": "IB/ehca: Use kthread_create_on_node()\n\nSince create_comp_task() creates percpu kthread, it makes sense to use\nkthread_create_on_node() to get proper NUMA affinity for kthread\nstack.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Hoang-Nam Nguyen \u003chnguyen@de.ibm.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "520b3ee70527cb47f0b08ceb25ace02aed71eab7",
      "tree": "2441b4673d5440b4d2ee548d6c75dbc472b799f6",
      "parents": [
        "a778f3fddc6fc2ed4c065f6e160d517a5959f949"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Sat Feb 25 17:45:50 2012 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Sat Feb 25 17:45:50 2012 -0800"
      },
      "message": "IB/qib: Avoid filtering LID on SMA portinfo\n\nThe current get portinfo handling filters the LID being sent,\nchanging zero to 0xffff.\n\nThis causes OpenSM to log excessive warning messages.\n\nReviewed-by: Edward Mascarenhas \u003cedward.mascarenhas@qlogic.com\u003e\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "a778f3fddc6fc2ed4c065f6e160d517a5959f949",
      "tree": "ac024b855f69f9f512458b8a0e8e4a4cf7b9f1c7",
      "parents": [
        "6b21d18ed50c7d145220b0724ea7f2613abf0f95"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Sat Feb 25 17:45:49 2012 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Sat Feb 25 17:45:49 2012 -0800"
      },
      "message": "IB/qib: Add logic for affinity hint\n\nCall irq_set_affinity_hint() to give userspace programs such as\nirqbalance the information to be able to distribute qib interrupts\nappropriately.\n\nThe logic allocates all non-receive interrupts to the first CPU local\nto the HCA.  Receive interrupts are allocated round robin starting\nwith the second CPU local to the HCA with potential wrap back to the\nsecond CPU.\n\nThis patch also adds a refinement to the name registered for MSI-X\ninterrupts so that user level scripts can determine the device\nassociated with the IRQs when there are multiple HCAs with a\npotentially different set of local CPUs.\n\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "8dd87fba939370e729b0ee72c163f279d310de06",
      "tree": "fd849fb42bce941b9ca2fad1302d1f07dfd85543",
      "parents": [
        "6b21d18ed50c7d145220b0724ea7f2613abf0f95"
      ],
      "author": {
        "name": "Tatyana Nikolova",
        "email": "Tatyana.E.Nikolova@intel.com",
        "time": "Sat Feb 25 17:45:37 2012 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Sat Feb 25 17:45:37 2012 -0800"
      },
      "message": "RDMA/nes: Fixes for sparse endianness warnings\n\nFix endianness problems detect by sparse, introduced with the enhanced\nMPA patch.\n\nReported-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Tatyana Nikolova \u003cTatyana.E.Nikolova@intel.com\u003e\nSigned-off-by: Faisal Latif \u003cFaisal.Latif@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "91018f8632e09e3a617c9fc2efbbdaa2922d2fe7",
      "tree": "8b886b9a607ba59b2d8d3162e8a97722c31d8f25",
      "parents": [
        "6b21d18ed50c7d145220b0724ea7f2613abf0f95"
      ],
      "author": {
        "name": "Kumar Sanghvi",
        "email": "kumaras@chelsio.com",
        "time": "Sat Feb 25 17:45:02 2012 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Sat Feb 25 17:45:02 2012 -0800"
      },
      "message": "RDMA/cxgb4: Add missing peer2peer check in MPAv2 code\n\nDon\u0027t worry about p2p_type if peer2peer itself is not requested in the\nfirst place.\n\nSigned-off-by: Kumar Sanghvi \u003ckumaras@chelsio.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "c8e31f26feeb03dc6f51bff68135cc58431e099b",
      "tree": "8d584fcb7cb7a58988cd2463a9a26f577410e6ac",
      "parents": [
        "35b2cdc4fea1f0d13e1602c07e62c797c9fe5ed4"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Thu Jan 19 13:39:17 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Feb 25 14:37:47 2012 -0800"
      },
      "message": "target: Add SCF_SCSI_TMR_CDB usage and drop se_tmr_req_cache\n\nChange the test for if a cmd is a tmr request to checking if\nSCF_SCSI_TMR_CDB (a new flag) is set in cmd-\u003ese_cmd_flags.\n\nAlso remove se_tmr_req_cache usage in favor of kzalloc usage,\nand make core_tmr_alloc_req() return int + setup se_cmd-\u003ese_tmr_req\ndirectly and fix up various fabric module usages\n\nCc: Andy Grover \u003cagrover@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "7d680f3b74dd6f0f57569eeeee8c257790ceaa96",
      "tree": "e0797ab722c222213b7cbe4fa9ba4a61db2d8b0c",
      "parents": [
        "b01543dfe67bb1d191998e90d20534dc354de059"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Dec 21 14:13:47 2011 -0500"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Feb 25 14:37:45 2012 -0800"
      },
      "message": "target: replace various cmd flags with a transport state\n\nReplace various atomic_ts used as flags in struct se_cmd with a single\ntransport_state bitmap that requires t_state_lock to be held for modifications.\n\nIn the target core that assumption generally is true, but some recently added\ncode in the SRP target had to grow new lock calls.  I can\u0027t say I like the way\nhow it messes with the command state directly, but let\u0027s leave that for later.\n\n(Re-add missing ib_srpt.c changes that nab dropped..)\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "d5ef8a4d87ab21d575ac86366599c9152a28028d",
      "tree": "8b1be85ad1af7ee6a0e3e36c77ae738c966c1f21",
      "parents": [
        "d9dd966d7fc088a6bed991c2b1e2fba4485e0a31",
        "8df54d622a120058ee8bec38743c9b8f091c8e58"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 10 23:32:28 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 10 23:32:28 2012 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tdrivers/infiniband/hw/nes/nes_cm.c\n\nSimple whitespace conflict.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8df54d622a120058ee8bec38743c9b8f091c8e58",
      "tree": "559dc9788cff370bed7b36d61f77708ff4efbaa7",
      "parents": [
        "612b8507c5d545feed2437b3d2239929cac7688d",
        "70620c46ac2b45c24b0f22002fdf5ddd1f7daf81"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 10 14:18:46 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 10 14:18:46 2012 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nQuoth David:\n\n1) GRO MAC header comparisons were ethernet specific, breaking other\n   link types.  This required a multi-faceted fix to cure the originally\n   noted case (Infiniband), because IPoIB was lying about it\u0027s actual\n   hard header length.  Thanks to Eric Dumazet, Roland Dreier, and\n   others.\n\n2) Fix build failure when INET_UDP_DIAG is built in and ipv6 is modular.\n   From Anisse Astier.\n\n3) Off by ones and other bug fixes in netprio_cgroup from Neil Horman.\n\n4) ipv4 TCP reset generation needs to respect any network interface\n   binding from the socket, otherwise route lookups might give a\n   different result than all the other segments received.  From Shawn\n   Lu.\n\n5) Fix unintended regression in ipv4 proxy ARP responses, from Thomas\n   Graf.\n\n6) Fix SKB under-allocation bug in sh_eth, from Yoshihiro Shimoda.\n\n7) Revert skge PCI mapping changes that are causing crashes for some\n   folks, from Stephen Hemminger.\n\n8) IPV4 route lookups fill in the wildcarded fields of the given flow\n   lookup key passed in, which is fine most of the time as this is\n   exactly what the caller\u0027s want.  However there are a few cases that\n   want to retain the original flow key values afterwards, so handle\n   those cases properly.  Fix from Julian Anastasov.\n\n9) IGB/IXGBE VF lookup bug fixes from Greg Rose.\n\n10) Properly null terminate filename passed to ethtool flash device\n    method, from Ben Hutchings.\n\n11) S3 resume fix in via-velocity from David Lv.\n\n12) Fix double SKB free during xmit failure in CAIF, from Dmitry\n    Tarnyagin.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (72 commits)\n  net: Don\u0027t proxy arp respond if iif \u003d\u003d rt-\u003edst.dev if private VLAN is disabled\n  ipv4: Fix wrong order of ip_rt_get_source() and update iph-\u003edaddr.\n  netprio_cgroup: fix wrong memory access when NETPRIO_CGROUP\u003dm\n  netprio_cgroup: don\u0027t allocate prio table when a device is registered\n  netprio_cgroup: fix an off-by-one bug\n  bna: fix error handling of bnad_get_flash_partition_by_offset()\n  isdn: type bug in isdn_net_header()\n  net: Make qdisc_skb_cb upper size bound explicit.\n  ixgbe: ethtool: stats user buffer overrun\n  ixgbe: dcb: up2tc mapping lost on disable/enable CEE DCB state\n  ixgbe: do not update real num queues when netdev is going away\n  ixgbe: Fix broken dependency on MAX_SKB_FRAGS being related to page size\n  ixgbe: Fix case of Tx Hang in PF with 32 VFs\n  ixgbe: fix vf lookup\n  igb: fix vf lookup\n  e1000: add dropped DMA receive enable back in for WoL\n  gro: more generic L2 header check\n  IPoIB: Stop lying about hard_header_len and use skb-\u003ecb to stash LL addresses\n  zd1211rw: firmware needs duration_id set to zero for non-pspoll frames\n  net: enable TC35815 for MIPS again\n  ...\n"
    },
    {
      "commit": "7367d99b30a2eb385cea33aa8846d2f0502da2da",
      "tree": "ae62601dcce749bd2b9c3a6daaf3c714d5c88292",
      "parents": [
        "58642a24987195f6c572bfa0849824815cc0e68c"
      ],
      "author": {
        "name": "Masanari Iida",
        "email": "standby24x7@gmail.com",
        "time": "Thu Feb 09 23:37:43 2012 +0900"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Thu Feb 09 23:09:54 2012 +0100"
      },
      "message": "SRP: Fix typo in ib_srpt.c\n\nCorrect spelling \"alocate\" to \"allocate\" in\ndrivers/infiniband/ulp/srpt/ib_srpt.c\n\nSigned-off-by: Masanari Iida \u003cstandby24x7@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "936d7de3d736e0737542641269436f4b5968e9ef",
      "tree": "d83c1f3ce184202d31ade4fe46e78b6b7100e0ae",
      "parents": [
        "a1728800bed3b93b231d99e97c756f622b9991c2"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Feb 07 14:51:21 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 08 18:26:54 2012 -0500"
      },
      "message": "IPoIB: Stop lying about hard_header_len and use skb-\u003ecb to stash LL addresses\n\nCommit a0417fa3a18a (\"net: Make qdisc_skb_cb upper size bound\nexplicit.\") made it possible for a netdev driver to use skb-\u003ecb\nbetween its header_ops.create method and its .ndo_start_xmit\nmethod.  Use this in ipoib_hard_header() to stash away the LL address\n(GID + QPN), instead of the \"ipoib_pseudoheader\" hack.  This allows\nIPoIB to stop lying about its hard_header_len, which will let us fix\nthe L2 check for GRO.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "377cb4f9e763465984b9bb5187747fd9b02a14c0",
      "tree": "e5da6d7e7737db80a7b33b398f9de521c32d0a75",
      "parents": [
        "8c1a7f5283e72306d1d23524f051501ffa1baf57"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Feb 07 14:51:21 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 08 15:50:01 2012 -0500"
      },
      "message": "IPoIB: Stop lying about hard_header_len and use skb-\u003ecb to stash LL addresses\n\nCommit a0417fa3a18a (\"net: Make qdisc_skb_cb upper size bound\nexplicit.\") made it possible for a netdev driver to use skb-\u003ecb\nbetween its header_ops.create method and its .ndo_start_xmit\nmethod.  Use this in ipoib_hard_header() to stash away the LL address\n(GID + QPN), instead of the \"ipoib_pseudoheader\" hack.  This allows\nIPoIB to stop lying about its hard_header_len, which will let us fix\nthe L2 check for GRO.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "715252d41912941efb791a7b7bad94d2614dc5c3",
      "tree": "d2fe70572bb550113f76e5984bc4eaf9e8e5694a",
      "parents": [
        "3af336376f77859da84bb1156ef29d5337b316a9"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Sat Feb 04 23:49:40 2012 +0100"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Feb 06 08:57:11 2012 -0800"
      },
      "message": "IB/srpt: Don\u0027t return freed pointer from srpt_alloc_ioctx_ring()\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "3af336376f77859da84bb1156ef29d5337b316a9",
      "tree": "31e6e0efc8b66c2212f834aeaa041052febd5076",
      "parents": [
        "ebfded8c4b34caea450709ce467e67483fa4d8df"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Fri Nov 04 21:27:32 2011 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Feb 03 09:07:00 2012 -0800"
      },
      "message": "IB/srpt: Fix ERR_PTR() vs. NULL checking confusion\n\ntransport_init_session() and target_fabric_configfs_init() don\u0027t\nreturn NULL pointers, they only return ERR_PTRs or valid pointers.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "ebfded8c4b34caea450709ce467e67483fa4d8df",
      "tree": "8aebca3afbf674f0901968d12122ec35eae34496",
      "parents": [
        "f225066b64eaffe3a51ee488fb750c82fbcd971c"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Thu Feb 02 12:55:59 2012 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Feb 02 12:55:59 2012 -0800"
      },
      "message": "IB/srpt: Remove unneeded \u003clinux/version.h\u003e include\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "f225066b64eaffe3a51ee488fb750c82fbcd971c",
      "tree": "59f61ecdcdc8b2e371044c1a31eaafa1c83cb093",
      "parents": [
        "486d8b9f88cd0871a716e2f16873e811ee6c1ece"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Feb 02 12:55:58 2012 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Feb 02 12:55:58 2012 -0800"
      },
      "message": "IB/srpt: Use ARRAY_SIZE() instead of open-coding\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "486d8b9f88cd0871a716e2f16873e811ee6c1ece",
      "tree": "7602eac925eeee16302b8d2a50077e9e3ccc2217",
      "parents": [
        "18d3e0d7507949d776e50667d0a4e44b13d3e1ac"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Feb 02 12:55:58 2012 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Feb 02 12:55:58 2012 -0800"
      },
      "message": "IB/srpt: Use DEFINE_SPINLOCK()/LIST_HEAD()\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n\n"
    },
    {
      "commit": "f36ae342388e09361cfa43c38fd65b89687cf5db",
      "tree": "5c86fca419e311f2e7d3d4c7059878782f7baaa7",
      "parents": [
        "9ced69ca5296567033804950d8d2161f454c5012",
        "ef5352875a12a0a45be8bca29fc218a94786d920",
        "e47e321a35c741ee41b67976f8c6a3a7a42bc5c0",
        "a6f7feae6d19e84253918d88b04153af09d3a243",
        "c5488c571f08b2e21b060a1b43aa840d0a3c6e7a",
        "b6bfefb0410dc49853bccd9673ead896d317c082"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Jan 30 16:18:21 2012 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Jan 30 16:18:21 2012 -0800"
      },
      "message": "Merge branches \u0027cma\u0027, \u0027ipath\u0027, \u0027misc\u0027, \u0027mlx4\u0027, \u0027nes\u0027 and \u0027qib\u0027 into for-next\n"
    },
    {
      "commit": "c5488c571f08b2e21b060a1b43aa840d0a3c6e7a",
      "tree": "77936ac32e195316c4fb00ce600a6a72273fd75d",
      "parents": [
        "4a4b03f4efdcf9f4dd8ce68f305c5fb8ff8e56c4"
      ],
      "author": {
        "name": "Tatyana Nikolova",
        "email": "Tatyana.E.Nikolova@intel.com",
        "time": "Mon Nov 28 14:22:29 2011 -0600"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Jan 30 16:18:07 2012 -0800"
      },
      "message": "RDMA/nes: Copyright update\n\nUpdate copyright information in the source files.\n\nSigned-off-by: Tatyana Nikolova \u003cTatyana.E.Nikolova@intel.com\u003e\nSigned-off-by: Faisal Latif \u003cFaisal.Latif@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "a6f7feae6d19e84253918d88b04153af09d3a243",
      "tree": "8745df2fa8a944d81069249c88229b9e39c41b7d",
      "parents": [
        "dcd6c92267155e70a94b3927bce681ce74b80d1f"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@mellanox.com",
        "time": "Thu Jan 26 16:41:33 2012 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Jan 30 16:15:17 2012 -0800"
      },
      "message": "IB/mlx4: pass SMP vendor-specific attribute MADs to firmware\n\nIn the current code, vendor-specific MADs (e.g with the FDR-10\nattribute) are silently dropped by the driver, resulting in timeouts\nat the sending side and inability to query/configure the relevant\nfeature.  However, the ConnectX firmware is able to handle such MADs.\nFor unsupported attributes, the firmware returns a GET_RESPONSE MAD\ncontaining an error status.\n\nFor example, for a FDR-10 node with LID 11:\n\n    # ibstat mlx4_0 1\n\n    CA: \u0027mlx4_0\u0027\n    Port 1:\n    State: Active\n    Physical state: LinkUp\n    Rate: 40 (FDR10)\n    Base lid: 11\n    LMC: 0\n    SM lid: 24\n    Capability mask: 0x02514868\n    Port GUID: 0x0002c903002e65d1\n    Link layer: InfiniBand\n\nExtended Port Query (EPI) vendor mad timeouts before the patch:\n\n    # smpquery MEPI 11 -d\n\n    ibwarn: [4196] smp_query_via: attr 0xff90 mod 0x0 route Lid 11\n    ibwarn: [4196] _do_madrpc: retry 1 (timeout 1000 ms)\n    ibwarn: [4196] _do_madrpc: retry 2 (timeout 1000 ms)\n    ibwarn: [4196] _do_madrpc: timeout after 3 retries, 3000 ms\n    ibwarn: [4196] mad_rpc: _do_madrpc failed; dport (Lid 11)\n    smpquery: iberror: [pid 4196] main: failed: operation EPI: ext port info query failed\n\nEPI query works OK with the patch:\n\n    # smpquery MEPI 11 -d\n\n    ibwarn: [6548] smp_query_via: attr 0xff90 mod 0x0 route Lid 11\n    ibwarn: [6548] mad_rpc: data offs 64 sz 64\n    mad data\n    0000 0000 0000 0001 0000 0001 0000 0001\n    0000 0000 0000 0000 0000 0000 0000 0000\n    0000 0000 0000 0000 0000 0000 0000 0000\n    0000 0000 0000 0000 0000 0000 0000 0000\n    # Ext Port info: Lid 11 port 0\n    StateChangeEnable:...............0x00\n    LinkSpeedSupported:..............0x01\n    LinkSpeedEnabled:................0x01\n    LinkSpeedActive:.................0x01\n\nSigned-off-by: Jack Morgenstein \u003cjackm@mellanox.com\u003e\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nAcked-by: Ira Weiny \u003cweiny2@llnl.gov\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "4a4b03f4efdcf9f4dd8ce68f305c5fb8ff8e56c4",
      "tree": "d327ecc6cc1be3dd9b94968d568546897e0f49ed",
      "parents": [
        "94f622bdac82dd0542741382ea8c9359fd9c163b"
      ],
      "author": {
        "name": "Tatyana Nikolova",
        "email": "Tatyana.E.Nikolova@intel.com",
        "time": "Fri Jan 06 18:17:19 2012 -0600"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Jan 27 10:15:13 2012 -0800"
      },
      "message": "RDMA/nes: Fix fast memory registration opcode\n\nFix fast memory registration opcode in local invalidate completion.\n\nSigned-off-by: Tatyana Nikolova \u003cTatyana.E.Nikolova@intel.com\u003e\nSigned-off-by: Donald Wood \u003cDonald.E.Wood@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "94f622bdac82dd0542741382ea8c9359fd9c163b",
      "tree": "67b6c9bb037b9d81d22e10fcb1b104b34738179a",
      "parents": [
        "7525c85be0e6d18596390e7e2b17a206cd9777f6"
      ],
      "author": {
        "name": "Tatyana Nikolova",
        "email": "Tatyana.E.Nikolova@intel.com",
        "time": "Fri Jan 06 18:15:01 2012 -0600"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Jan 27 10:14:51 2012 -0800"
      },
      "message": "RDMA/nes: Fix fast memory registration length\n\nZero high order word of fast memory registration (FMR) length field.\nFMR length field is 32 bits, so high word should always be zero.\n\nSigned-off-by: Tatyana Nikolova \u003cTatyana.E.Nikolova@intel.com\u003e\nSigned-off-by: Donald Wood \u003cDonald.E.Wood@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "9ced69ca5296567033804950d8d2161f454c5012",
      "tree": "6db2856c3ba7e3c018ac039c4c664be0179c1ff3",
      "parents": [
        "dcd6c92267155e70a94b3927bce681ce74b80d1f"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Tue Jan 10 23:53:41 2012 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Jan 27 10:07:48 2012 -0800"
      },
      "message": "RDMA/ucma: Discard all events for new connections until accepted\n\nAfter reporting a new connection request to user space, the rdma_ucm\nwill discard subsequent events until the user has associated a user\nspace idenfier with the kernel cm_id.  This is needed to avoid\nreporting a reject/disconnect event to the user for a request that\nthey may not have processed.\n\nThe user space identifier is set once the user tries to accept the\nconnection request.  However, the following race exists in ucma_accept():\n\n\tctx-\u003euid \u003d cmd.uid;\n\t\u003cevents may be reported now\u003e\n\tret \u003d rdma_accept(ctx-\u003ecm_id, ...);\n\nOnce ctx-\u003euid has been set, new events may be reported to the user.\nWhile the above mentioned race is avoided, there is an issue that the\nuser _may_ receive a reject/disconnect event if rdma_accept() fails,\ndepending on when the event is processed.  To simplify the use of\nrdma_accept(), discard all events unless rdma_accept() succeeds.\n\nThis problem was discovered based on questions from Roland Dreier\n\u003croland@purestorage.com\u003e.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "b6bfefb0410dc49853bccd9673ead896d317c082",
      "tree": "28f767fddce244d327386a71f256d6ba585a9cf5",
      "parents": [
        "0f3696eb21ef39b7bb7ea7d0160e925904309281"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Thu Jan 12 21:29:59 2012 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Jan 27 10:03:38 2012 -0800"
      },
      "message": "IB/qib: Roll back PCIe tuning change\n\nCommit 8d4548f2b (\"IB/qib: Default some module parameters optimally\")\nintroduced an issue with older root complexes.  They cannot handle the\npcie_caps of 0x51 (MaxReadReq 4096, MaxPayload\u003d256).\n\nA typical diagnostic in this situation reported by syslog contains\nthe text:\n\n  [PCIe Poisoned TLP][Send DMA memory read]\n\nRestore the module paramter default to zero with will avoid any\nchanges in the root complex.\n\nReviewed-by: Mark Debbage \u003cmark.debbage@qlogic.com\u003e\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "0f3696eb21ef39b7bb7ea7d0160e925904309281",
      "tree": "c4bc55d49e5d63554cbed012a19124331a764db1",
      "parents": [
        "dcd6c92267155e70a94b3927bce681ce74b80d1f"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia.lawall@lip6.fr",
        "time": "Mon Jan 09 10:40:47 2012 +0100"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Jan 27 09:59:22 2012 -0800"
      },
      "message": "IB/qib: Use GFP_ATOMIC when locks are held\n\nalloc_dummy_hdrq() is called with locks held and thus should not use\nGFP_KERNEL.\n\nThe semantic patch that makes this report is available in\nscripts/coccinelle/locks/call_kern.cocci.\n\nSigned-off-by: Julia Lawall \u003cjulia.lawall@lip6.fr\u003e\nAcked-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "7525c85be0e6d18596390e7e2b17a206cd9777f6",
      "tree": "a0d0d08527421709c65f779ca583b08ac5efdc24",
      "parents": [
        "81f99dcc93226c7accfe5c4edad1749b8aebf7db"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Jan 27 09:54:30 2012 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Jan 27 09:54:30 2012 -0800"
      },
      "message": "RDMA/nes: Add missing rcu_read_unlock() in nes_addr_resolve_neigh()\n\nMake sure all exit paths from this function unlock everything.\n\nReported-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n\n"
    },
    {
      "commit": "81f99dcc93226c7accfe5c4edad1749b8aebf7db",
      "tree": "8ee5dcd31acd13dbd5ac7d6f7d854bcd75bdf928",
      "parents": [
        "dcd6c92267155e70a94b3927bce681ce74b80d1f"
      ],
      "author": {
        "name": "Tatyana Nikolova",
        "email": "Tatyana.E.Nikolova@intel.com",
        "time": "Tue Jan 17 10:17:30 2012 -0600"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Jan 27 09:50:48 2012 -0800"
      },
      "message": "RDMA/nes: Fix for sending MPA reject frame\n\nSet a reject flag, when sending MPA reject message to inform the peer\nthat the application has rejected the connection.\n\nSigned-off-by: Tatyana Nikolova \u003cTatyana.E.Nikolova@intel.com\u003e\nSigned-off-by: Faisal Latif \u003cFaisal.Latif@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "ef5352875a12a0a45be8bca29fc218a94786d920",
      "tree": "bb1921c0f5d3c5af1fade401fd1743b86ce638d3",
      "parents": [
        "dcd6c92267155e70a94b3927bce681ce74b80d1f"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Thu Jan 26 09:15:29 2012 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Jan 27 09:48:27 2012 -0800"
      },
      "message": "IB/ipath: Calling PTR_ERR() on right variable in create_file()\n\n\"dentry\" is a valid pointer.  \"*dentry\" was intended.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nAcked-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "e47e321a35c741ee41b67976f8c6a3a7a42bc5c0",
      "tree": "decac0280849f82f81bcaaa9ba465bb512f5cd8b",
      "parents": [
        "dcd6c92267155e70a94b3927bce681ce74b80d1f"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd.schubert@itwm.fraunhofer.de",
        "time": "Fri Jan 20 18:43:54 2012 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Jan 27 09:20:10 2012 -0800"
      },
      "message": "RDMA/core: Fix kernel panic by always initializing qp-\u003eusecnt\n\nWe have just been investigating kernel panics related to\ncq-\u003eibcq.event_handler() completion calls.  The problem is that\nib_destroy_qp() fails with -EBUSY.\n\nFurther investigation revealed qp-\u003eusecnt is not initialized.  This\ncounter was introduced in linux-3.2 by commit 0e0ec7e0638e\n(\"RDMA/core: Export ib_open_qp() to share XRC TGT QPs\") but it only\ngets initialized for IB_QPT_XRC_TGT, but it is checked in\nib_destroy_qp() for any QP type.\n\nFix this by initializing qp-\u003eusecnt for every QP we create.\n\nSigned-off-by: Bernd Schubert \u003cbernd.schubert@itwm.fraunhofer.de\u003e\nSigned-off-by: Sven Breuner \u003csven.breuner@itwm.fraunhofer.de\u003e\n\n[ Initialize qp-\u003eusecnt in uverbs too.  - Sean ]\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "e55684fadbc5c9c69cad1b3bae228c8374b99b85",
      "tree": "bd8ba497dda0da6697d9887f204005e6b474b468",
      "parents": [
        "64b7007eb99b78cbdd6cca7a98e12794201b9725"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 24 13:16:03 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 25 21:30:37 2012 -0500"
      },
      "message": "infiniband: nes: Convert nes_addr_resolve_neigh() over to dst_neigh_lookup().\n\nNow we must provide the IP destination address, and a reference has\nto be dropped when we\u0027re done with the entry.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "64b7007eb99b78cbdd6cca7a98e12794201b9725",
      "tree": "bcd1d92c5c44fb8d160ea0cf8d6d8ab38bbb75d4",
      "parents": [
        "02b619555ad68884bacfbe41893245394cb44885"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 24 13:15:57 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 25 21:30:37 2012 -0500"
      },
      "message": "infiniband: cxgb4: Convert import_ep() over to dst_neigh_lookup().\n\nNow we must provide the IP destination address, and a reference has\nto be dropped when we\u0027re done with the entry.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "02b619555ad68884bacfbe41893245394cb44885",
      "tree": "606e46ea10692cafb71bda71ee6c462764afc49a",
      "parents": [
        "9b28ecd66b391349d3492574500f978566195454"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 24 13:15:52 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 25 21:30:36 2012 -0500"
      },
      "message": "infiniband: Convert dst_fetch_ha() over to dst_neigh_lookup().\n\nNow we must provide the IP destination address, and a reference has\nto be dropped when we\u0027re done with the entry.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f59e842fc0871cd5baa213dc32e0ce8e5aaf4758",
      "tree": "5fc24fe6bc8e49d9d939485f3804a7ef977254c0",
      "parents": [
        "4ba3069fea9f0771dad3f4906b305ab50d5a1b30",
        "a42d985bd5b234da8b61347a78dc3057bf7bb94d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 18 16:29:42 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 18 16:29:42 2012 -0800"
      },
      "message": "Merge branch \u0027for-next-merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending\n\n* \u0027for-next-merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:\n  ib_srpt: Initial SRP Target merge for v3.3-rc1\n"
    },
    {
      "commit": "90ab5ee94171b3e28de6bb42ee30b527014e0be7",
      "tree": "fcf89889f6e881f2b231d3d20287c08174ce4b54",
      "parents": [
        "476bc0015bf09dad39d36a8b19f76f0c181d1ec9"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jan 13 09:32:20 2012 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jan 13 09:32:20 2012 +1030"
      },
      "message": "module_param: make bool parameters really bool (drivers \u0026 misc)\n\nmodule_param(bool) used to counter-intuitively take an int.  In\nfddd5201 (mid-2009) we allowed bool or int/unsigned int using a messy\ntrick.\n\nIt\u0027s time to remove the int/unsigned int option.  For this version\nit\u0027ll simply give a warning, but it\u0027ll break next kernel version.\n\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "69116f279a9eaf4c540934269342d9149538fc79",
      "tree": "eb335b97a99fb25ce548dd06f053a81e3c56016f",
      "parents": [
        "bafeafeab94b8d3019aac15c2df2ce47b08a6363"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jan 13 09:32:17 2012 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jan 13 09:32:17 2012 +1030"
      },
      "message": "module_param: avoid bool abuse, add bint for special cases.\n\nFor historical reasons, we allow module_param(bool) to take an int (or\nan unsigned int).  That\u0027s going away.\n\nA few drivers really want an int: they set it to -1 and a parameter\nwill set it to 0 or 1.  This sucks: reading them from sysfs will give\n\u0027Y\u0027 for both -1 and 1, but if we change it to an int, then the users\nmight be broken (if they did \"param\" instead of \"param\u003d1\").\n\nUse a new \u0027bint\u0027 parser for them.\n\n(ntfs has a different problem: it needs an int for debug_msgs because\nit\u0027s also exposed via sysctl.)\n\nCc: Steve Glendinning \u003csteve.glendinning@smsc.com\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\nCc: Hoang-Nam Nguyen \u003chnguyen@de.ibm.com\u003e\nCc: Christoph Raisch \u003craisch@de.ibm.com\u003e\nCc: Roland Dreier \u003croland@kernel.org\u003e\nCc: Sean Hefty \u003csean.hefty@intel.com\u003e\nCc: Hal Rosenstock \u003chal.rosenstock@gmail.com\u003e\nCc: linux390@de.ibm.com\nCc: Anton Altaparmakov \u003canton@tuxera.com\u003e\nCc: Jaroslav Kysela \u003cperex@perex.cz\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nCc: lm-sensors@lm-sensors.org\nCc: linux-rdma@vger.kernel.org\nCc: linux-s390@vger.kernel.org\nCc: linux-ntfs-dev@lists.sourceforge.net\nCc: alsa-devel@alsa-project.org\nAcked-by: Takashi Iwai \u003ctiwai@suse.de\u003e (For the sound part)\nAcked-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e (For the hwmon driver)\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "48fa57ac2c30a8a0b770b7ad50b4b30c1d12f005",
      "tree": "5a0b1a32b2e1639fdd07e9f1b946d698c093c3da",
      "parents": [
        "8e369672af8700299ab372bad9397f230b1d591a",
        "1583676d9e3f97371eaa726c4e061f9b23f43c44"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 14:05:48 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 14:05:48 2012 -0800"
      },
      "message": "Merge tag \u0027infiniband-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\ninfiniband changes for 3.3 merge window\n\n* tag \u0027infiniband-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:\n  rdma/core: Fix sparse warnings\n  RDMA/cma: Fix endianness bugs\n  RDMA/nes: Fix terminate during AE\n  RDMA/nes: Make unnecessarily global nes_set_pau() static\n  RDMA/nes: Change MDIO bus clock to 2.5MHz\n  IB/cm: Fix layout of APR message\n  IB/mlx4: Fix SL to 802.1Q priority-bits mapping for IBoE\n  IB/qib: Default some module parameters optimally\n  IB/qib: Optimize locking for get_txreq()\n  IB/qib: Fix a possible data corruption when receiving packets\n  IB/qib: Eliminate 64-bit jiffies use\n  IB/qib: Fix style issues\n  IB/uverbs: Protect QP multicast list\n"
    },
    {
      "commit": "972b2c719990f91eb3b2310d44ef8a2d38955a14",
      "tree": "b25a250ec5bec4b7b6355d214642d8b57c5cab32",
      "parents": [
        "02550d61f49266930e674286379d3601006b2893",
        "c3aa077648e147783a7a53b409578234647db853"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 12:19:57 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 12:19:57 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\n* \u0027for-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (165 commits)\n  reiserfs: Properly display mount options in /proc/mounts\n  vfs: prevent remount read-only if pending removes\n  vfs: count unlinked inodes\n  vfs: protect remounting superblock read-only\n  vfs: keep list of mounts for each superblock\n  vfs: switch -\u003eshow_options() to struct dentry *\n  vfs: switch -\u003eshow_path() to struct dentry *\n  vfs: switch -\u003eshow_devname() to struct dentry *\n  vfs: switch -\u003eshow_stats to struct dentry *\n  switch security_path_chmod() to struct path *\n  vfs: prefer -\u003edentry-\u003ed_sb to -\u003emnt-\u003emnt_sb\n  vfs: trim includes a bit\n  switch mnt_namespace -\u003eroot to struct mount\n  vfs: take /proc/*/mounts and friends to fs/proc_namespace.c\n  vfs: opencode mntget() mnt_set_mountpoint()\n  vfs: spread struct mount - remaining argument of next_mnt()\n  vfs: move fsnotify junk to struct mount\n  vfs: move mnt_devname\n  vfs: move mnt_list to struct mount\n  vfs: switch pnode.h macros to struct mount *\n  ...\n"
    },
    {
      "commit": "1583676d9e3f97371eaa726c4e061f9b23f43c44",
      "tree": "bcef0195095874c1f76d8a2502a58c6ec60282b9",
      "parents": [
        "c89d1bedf8b130d5b20f56a484989a19a2c2842a",
        "6f233d300d301b08b4627fbcf29dfc4eda16e4d8",
        "9106c410697427363517ca6b4f463698aebc5f25",
        "196f40c8464799d185ee7417d2ee532468b374e6",
        "8d4548f2b7407f7212f71831bb7b457ceb752709",
        "e214a0fe2b382fa302c036ecd6e6ffe99e3b9875"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jan 04 09:18:20 2012 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jan 04 09:18:20 2012 -0800"
      },
      "message": "Merge branches \u0027cma\u0027, \u0027misc\u0027, \u0027mlx4\u0027, \u0027nes\u0027, \u0027qib\u0027 and \u0027uverbs\u0027 into for-next\n"
    },
    {
      "commit": "c89d1bedf8b130d5b20f56a484989a19a2c2842a",
      "tree": "ac1e78a8213553335639f21eb8bac4da534c13f2",
      "parents": [
        "46ea5061c750fc6b088b9566234287115fb70f98"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Tue Dec 06 21:13:10 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jan 04 09:17:45 2012 -0800"
      },
      "message": "rdma/core: Fix sparse warnings\n\nClean up sparse warnings in the rdma core layer.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "46ea5061c750fc6b088b9566234287115fb70f98",
      "tree": "db5ad08595bac4e37b508f697b950246bb87aba3",
      "parents": [
        "5f0a6e2d503896062f641639dacfe5055c2f593b"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Tue Dec 06 21:15:18 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jan 04 09:13:52 2012 -0800"
      },
      "message": "RDMA/cma: Fix endianness bugs\n\nFix endianness bugs reported by sparse in the RDMA core stack.  Note\nthat these are real bugs, but don\u0027t affect any existing code to the\nbest of my knowledge.  The mlid issue would only affect kernel users\nof rdma_join_multicast which have the rdma_cm attach/detach its QP.\nThere are no current in tree users that do this. (rdma_join_multicast\nmay be used called by user space applications, which does not have\nthis issue.)  And the pkey setting is simply returned as\ninformational.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "196f40c8464799d185ee7417d2ee532468b374e6",
      "tree": "a5227c763d7803f1c46b068fa19c1898d02ef903",
      "parents": [
        "b0fda90f2a8eeac269833e7ef9e32d199747072b"
      ],
      "author": {
        "name": "Tatyana Nikolova",
        "email": "Tatyana.E.Nikolova@intel.com",
        "time": "Mon Dec 05 11:39:12 2011 -0600"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jan 04 09:12:39 2012 -0800"
      },
      "message": "RDMA/nes: Fix terminate during AE\n\nFix for reset which happens right after sending a terminate message.\nTerminate timer is not deleted when the connection is closed.\n\nSigned-off-by: Tatyana Nikolova \u003cTatyana.E.Nikolova@intel.com\u003e\nSigned-off-by: Faisal Latif \u003cFaisal.Latif@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "b0fda90f2a8eeac269833e7ef9e32d199747072b",
      "tree": "4b5b500002ad23ff9de6b9d7e8f0dc4477b51807",
      "parents": [
        "30b7e117af450850b0fe813e1ee0780934bdcad3"
      ],
      "author": {
        "name": "Tatyana Nikolova",
        "email": "Tatyana.E.Nikolova@intel.com",
        "time": "Wed Dec 07 16:04:27 2011 -0600"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jan 04 09:07:24 2012 -0800"
      },
      "message": "RDMA/nes: Make unnecessarily global nes_set_pau() static\n\nWarned about by sparse.\n\nSigned-off-by: Tatyana Nikolova \u003cTatyana.E.Nikolova@intel.com\u003e\nSigned-off-by: Faisal Latif \u003cFaisal.Latif@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "30b7e117af450850b0fe813e1ee0780934bdcad3",
      "tree": "9f911fce20422a715883856cafb51370c3f28f2b",
      "parents": [
        "5f0a6e2d503896062f641639dacfe5055c2f593b"
      ],
      "author": {
        "name": "Tatyana Nikolova",
        "email": "Tatyana.E.Nikolova@intel.com",
        "time": "Wed Dec 07 16:24:06 2011 -0600"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jan 04 09:02:15 2012 -0800"
      },
      "message": "RDMA/nes: Change MDIO bus clock to 2.5MHz\n\nChange the PHY clock divisor to make the MDIO clock 2.5MHz, instead of\n3.5MHz (which is out of spec).\n\nSigned-off-by: Tatyana Nikolova \u003cTatyana.E.Nikolova@intel.com\u003e\nSigned-off-by: Faisal Latif \u003cFaisal.Latif@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "6f233d300d301b08b4627fbcf29dfc4eda16e4d8",
      "tree": "acb241753fcbff8bbe8cd616ac3f7c8189262a37",
      "parents": [
        "5f0a6e2d503896062f641639dacfe5055c2f593b"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "time": "Mon Dec 19 21:46:53 2011 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Jan 03 21:04:18 2012 -0800"
      },
      "message": "IB/cm: Fix layout of APR message\n\nAdd a missing 16-bit reserved field between ap_status and info fields.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.com\u003e\nAcked-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "9106c410697427363517ca6b4f463698aebc5f25",
      "tree": "ddf079aeac48c40b479bb782f7e3de49153fca03",
      "parents": [
        "5f0a6e2d503896062f641639dacfe5055c2f593b"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Sun Dec 11 16:40:05 2011 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Jan 03 21:00:02 2012 -0800"
      },
      "message": "IB/mlx4: Fix SL to 802.1Q priority-bits mapping for IBoE\n\nFor IBoE, SLs 0-7 are mapped to Ethernet 802.1Q user priority bits\n(pbits) which are part of the VLAN tag, SLs 8-15 are reserved.\n\nUnder Ethernet, the ConnectX firmware treats (decode/encode) the four\nbit SL field in various constructs such as QPC / UD WQE / CQE as PPP0\nand not as 0PPP. This correlates well to the fact that within the\nvlan tag the pbits are located in bits 15-13 and not 12-14.\n\nThe current code wasn\u0027t consistent around that area - the\nencoding was correct for the IBoE QPC.path.schedule_queue field,\nbut was wrong for IBoE CQEs and when MLX header was built.\n\nThese inconsistencies resulted in wrong SL \u003c--\u003e wire 802.1Q pbits\nmapping, which is fixed by using SL \u003c--\u003e PPP0 all around the place.\n\nSigned-off-by: Oren Duer \u003coren@mellanox.co.il\u003e\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "8d4548f2b7407f7212f71831bb7b457ceb752709",
      "tree": "ad1fb9783cccfbe803eeae77811f177659f9fd3d",
      "parents": [
        "489471095170ed1c6d0341739a243461638b0e06"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Fri Dec 23 11:12:10 2011 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Jan 03 20:54:01 2012 -0800"
      },
      "message": "IB/qib: Default some module parameters optimally\n\nMinimize the need for users to have to set module parameters to get\ngood performance.\n\nThe following two parameters are changed:\n - rcvhdrcnt to twice the rcvegrcnt\n - pcie_caps\u003d0x51\n\nThe rcvhdrcnt at twice the egrcount allows the preemptive NAK code\nduring reception to function in 100% of the cases rather than a sender\njiffies-based timeout.\n\nThe pcie_caps default of 0x51 will set the proposed MaxPayload and\nMaxReceiveReqest to 256 and 4096 respectively.  The capabilities on\nthe root complex will be used to limit those values.\n\nReviewed-by: Ram Vepa \u003cram.vepa@qlogic.com\u003e\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "489471095170ed1c6d0341739a243461638b0e06",
      "tree": "d5820187d1d24dac7526bba2dd4dafb47c1bb0b3",
      "parents": [
        "eddfb675256f49d14e8c5763098afe3eb2c93701"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Fri Dec 23 08:03:41 2011 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Jan 03 20:53:31 2012 -0800"
      },
      "message": "IB/qib: Optimize locking for get_txreq()\n\nThe current code locks the QP s_lock, followed by the pending_lock, I\nguess to to protect against the allocate failing.\n\nThis patch only locks the pending_lock, assuming that the empty case\nis an exeception, in which case the pending_lock is dropped, and the\noriginal code is executed.  This will save a lock of s_lock in the\nnormal case.\n\nThe observation is that the sdma descriptors will deplete at twice the\nrate of txreq\u0027s, so this should be rare.\n\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "eddfb675256f49d14e8c5763098afe3eb2c93701",
      "tree": "fefe361432c162a48f98076f7156920e083c42fb",
      "parents": [
        "8482d5d1bc18c17429a89ad37f8b74d5a16de239"
      ],
      "author": {
        "name": "Ram Vepa",
        "email": "ram.vepa@qlogic.com",
        "time": "Fri Dec 23 08:01:43 2011 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Jan 03 20:53:02 2012 -0800"
      },
      "message": "IB/qib: Fix a possible data corruption when receiving packets\n\nPrevent a receive data corruption by ensuring that the write to update\nthe rcvhdrheadn register to generate an interrupt is at the very end\nof the receive processing.\n\nSigned-off-by: Ramkrishna Vepa \u003cram.vepa@qlogic.com\u003e\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "8482d5d1bc18c17429a89ad37f8b74d5a16de239",
      "tree": "4d2f952d8960b198234d5f7f09efac30d96ff1a2",
      "parents": [
        "865b64be86ed6e3e6137ce6506f31051097bf9cb"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Wed Nov 09 13:36:08 2011 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Jan 03 20:52:12 2012 -0800"
      },
      "message": "IB/qib: Eliminate 64-bit jiffies use\n\nThe qib driver makes use of the the 64-bit jiffies API.\n\nCode inspection reveals that that version of the API is not really\nrequired.  This patch converts to use the \"normal\" jiffies.\n\nReviewed-by: Ram Vepa \u003cram.vepa@qlogic.com\u003e\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "865b64be86ed6e3e6137ce6506f31051097bf9cb",
      "tree": "d56ef5df8391d2304f2daf9cf02fba395f616fd7",
      "parents": [
        "5f0a6e2d503896062f641639dacfe5055c2f593b"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Wed Nov 09 13:35:55 2011 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Jan 03 20:51:42 2012 -0800"
      },
      "message": "IB/qib: Fix style issues\n\nMore style issues revealed with checkpatch.pl -f.\n\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "e214a0fe2b382fa302c036ecd6e6ffe99e3b9875",
      "tree": "6cfd92715630e3406521f700a3df3cf3295e7770",
      "parents": [
        "5f0a6e2d503896062f641639dacfe5055c2f593b"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "time": "Tue Jan 03 20:36:48 2012 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Jan 03 20:36:48 2012 -0800"
      },
      "message": "IB/uverbs: Protect QP multicast list\n\nUserspace verbs multicast attach/detach operations on a QP are done\nwhile holding the rwsem of the QP for reading.  That\u0027s not sufficient\nsince a reader lock allows more than one reader to acquire the\nlock.  However, multicast attach/detach does list manipulation that\ncan corrupt the list if multiple threads run in parallel.\n\nFix this by acquiring the rwsem as a writer to serialize attach/detach\noperations.  Add idr_write_qp() and put_qp_write() to encapsulate\nthis.\n\nThis fixes oops seen when running applications that perform multicast\njoins/leaves.\n\nReported by: Mike Dubman \u003cmiked@mellanox.com\u003e\nSigned-off-by: Eli Cohen \u003celi@mellanox.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "f9ec80061af2116e9b6298a6334a6f288d7ea878",
      "tree": "b0c0a8a818e6aa8bcc468887f200af9e1d855ef4",
      "parents": [
        "faef2b6c9960b5ae288899f461a2218ec6bb7928"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 24 23:27:00 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:55:03 2012 -0500"
      },
      "message": "infiniband: umode_t noise, including open-coded S_ISDIR()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "587a1f1659e8b330b8738ef4901832a2b63f0bed",
      "tree": "b785c3f44ddba6ee036e02268502cdc961f55ea0",
      "parents": [
        "9104e427f3e21ddb380ddc39752624365b5bffea"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 23 23:11:19 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:55 2012 -0500"
      },
      "message": "switch -\u003eis_visible() to returning umode_t\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2c9ede55ecec58099b72e4bb8eab719f32f72c31",
      "tree": "8498a8c940fea97931b469fc73eb1a5022a2b28c",
      "parents": [
        "7d54fa6472609f2b0f2ea27e51ec2cf1fb27bd57"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 23 20:24:48 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:55 2012 -0500"
      },
      "message": "switch device_get_devnode() and -\u003edevnode() to umode_t *\n\nboth callers of device_get_devnode() are only interested in lower 16bits\nand nobody tries to return anything wider than 16bit anyway.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "abb434cb0539fb355c1c921f8fd761efbbac3462",
      "tree": "24a7d99ec161f8fd4dc9ff03c9c4cc93be883ce6",
      "parents": [
        "2494654d4890316e7340fb8b3458daad0474a1b9",
        "6350323ad8def2ac00d77cdee3b79c9b9fba75c4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 17:13:56 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 17:13:56 2011 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tnet/bluetooth/l2cap_core.c\n\nJust two overlapping changes, one added an initialization of\na local variable, and another change added a new local variable.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "480390c8f393b3c770b7b71faa094c733bd0ae09",
      "tree": "7b9c01f77c06475bd61d25b1f7a3520029ccf34b",
      "parents": [
        "04ded1672402577cd3f390c764f3046cc704a42a",
        "4af3ce0de0c12e5c17811eaefad36ab8e146c0fd",
        "29d1b16145e78e0f4af54751965c4a09e83bd872"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Dec 19 09:19:49 2011 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Dec 19 09:19:49 2011 -0800"
      },
      "message": "Merge branches \u0027cma\u0027, \u0027mlx4\u0027 and \u0027qib\u0027 into for-next\n"
    },
    {
      "commit": "29d1b16145e78e0f4af54751965c4a09e83bd872",
      "tree": "506014cf176583d3354e953128ceca1c509cc15c",
      "parents": [
        "5611cc4572e889b62a7b4c72a413536bf6a9c416"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Fri Dec 02 12:41:30 2011 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Dec 19 09:19:34 2011 -0800"
      },
      "message": "IB/qib: Correct sense on freectxts increment and decrement\n\nCommit 53ab1c64983 (\"IB/qib: Correct nfreectxts for multiple HCAs\")\nreversed the increments and decrements of dd-\u003enfreectxts.  Fix it.\n\nReviewed-by: Ram Vepa \u003cram.vepa@qlogic.com\u003e\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "04ded1672402577cd3f390c764f3046cc704a42a",
      "tree": "b87db81163685e91584ef4088009d2d107b447b6",
      "parents": [
        "5611cc4572e889b62a7b4c72a413536bf6a9c416"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Tue Dec 06 21:17:11 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Dec 19 09:15:33 2011 -0800"
      },
      "message": "RDMA/cma: Verify private data length\n\nprivate_data_len is defined as a u8.  If the user specifies a large\nprivate_data size (\u003e 220 bytes), we will calculate a total length that\nexceeds 255, resulting in private_data_len wrapping back to 0.  This\ncan lead to overwriting random kernel memory.  Avoid this by verifying\nthat the resulting size fits into a u8.\n\nReported-by: B. Thery \u003cbenjamin.thery@bull.net\u003e\nAddresses: \u003chttp://bugs.openfabrics.org/bugzilla/show_bug.cgi?id\u003d2335\u003e\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "a42d985bd5b234da8b61347a78dc3057bf7bb94d",
      "tree": "7c972f6da3192ebdd35125d9e2de80ac0ca185af",
      "parents": [
        "895f3022523361e9b383cf48f51feb1f7d5e7e53"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@acm.org",
        "time": "Fri Oct 14 01:30:46 2011 +0000"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Dec 16 06:33:56 2011 +0000"
      },
      "message": "ib_srpt: Initial SRP Target merge for v3.3-rc1\n\nThis patch adds the kernel module ib_srpt SCSI RDMA Protocol (SRP) target\nimplementation conforming to the SRP r16a specification for the mainline\ndrivers/target infrastructure.\n\nThis driver was originally developed by Vu Pham and has been optimized by\nBart Van Assche and merged into upstream LIO based on his srpt-lio-4.1\nbranch here:\n\n   https://github.com/bvanassche/srpt-lio/commits/srpt-lio-4.1/\n\nThis updated patch also contains the following two changes from\nlio-core-2.6.git/master.  One is to fix a bug with 1 \u003e\u003d task-\u003etask_sg[]\nchained mappings in ib_srpt, and the other to convert the configfs control\nplane to reference IB Port GUID and struct srpt_port directly following\nmainline v4.x target_core_fabric_configfs.c convertion for ib_srpt\nto work with rtslib/rtsadmin v2 code.\n\nThese seperate patches can be found here:\n\nib_srpt: Fix bug with chainged SGLs in srpt_map_sg_to_ib_sge\nhttp://www.risingtidesystems.com/git/?p\u003dlio-core-2.6.git;a\u003dcommitdiff;h\u003dea485147563b6555a97dbf811825fbb586519252\n\nib_srpt: Convert se_wwn endpoint reference to struct srpt_port-\u003eport_wwn\nhttp://www.risingtidesystems.com/git/?p\u003dlio-core-2.6.git;a\u003dcommitdiff;h\u003d4e544a210acb227df1bb4ca5086e65bdf4e648ea\n\nThis also includes the following recent v1 -\u003e v2 review changes:\n\nib_srpt: Fix potential out-of-bounds array access\nib_srpt: Avoid failed multipart RDMA transfers\nib_srpt: Fix srpt_alloc_fabric_acl failure case return value\nib_srpt: Update comments to reference $driver/$port layout\nib_srpt: Fix sport-\u003eport_guid formatting code\nib_srpt: Remove legacy use_port_guid_in_session_name module parameter\nib_srpt: Convert srp_max_rdma_size into per port configfs attribute\nib_srpt: Convert srp_max_rsp_size into per port configfs attribute\nib_srpt: Convert srpt_sq_size into per port configfs attribute\n\nand v2 -\u003e v3 review changes:\n\nib_srpt: Fix possible race with srp_sq_size in srpt_create_ch_ib\nib_srpt: Fix possible race with srp_max_rsp_size in srpt_release_channel_work\nib_srpt: Fix up MAX_SRPT_RDMA_SIZE define\nib_srpt: Make srpt_map_sg_to_ib_sge() failure case return -EAGAIN\nib_srpt: Convert port_guid to use subnet_prefix + interface_id formatting\nib_srpt: Make srpt_check_stop_free return kref_put status\nib_srpt: Make compilation with BUG\u003dn proceed`\nib_srpt: Use new target_core_fabric.h include\nib_srpt: Check hex2bin() return code to silence build warning\n\nCc: Bart Van Assche \u003cbvanassche@acm.org\u003e\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Vu Pham \u003cvu@mellanox.com\u003e\nCc: David Dillow \u003cdillowda@ornl.gov\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@risingtidesystems.com\u003e\n"
    },
    {
      "commit": "8e59d254feb3826230d19fb643691c89eabd71f8",
      "tree": "117964e91957e5bf1b96933a5246fd76c2fd5183",
      "parents": [
        "c82e9aa0a8bcf7a1643ccb71678bab57f3cb4bc6"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Tue Dec 13 04:15:46 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 13 13:56:07 2011 -0500"
      },
      "message": "mlx4_ib: disable SRIOV mode for IB ports (not yet supported)\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f9baff509f8a05a79626defdbdf4f4aa4efd373b",
      "tree": "d4f0e425cd8c8999775f0f135c9825e3bbdc180c",
      "parents": [
        "65dab25deb8da7dba4b6dd0145a9143be7f8369f"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Tue Dec 13 04:10:51 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 13 13:56:05 2011 -0500"
      },
      "message": "mlx4_core: Add \"native\" argument to mlx4_cmd and its callers (where needed)\n\nFor SRIOV, some Hypervisor commands can be executed directly (native \u003d 1).\nOthers should go through the command wrapper flow (for tracking resource\nusage, for example, or for changing some HCA configurations that slaves\nneed to be notified of).\n\nThis patch sets the groundwork for this capability -- adding the correct\nvalue of \"native\" in each case.\n\nNote that if SRIOV is not activated, this parameter has no effect.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "65dab25deb8da7dba4b6dd0145a9143be7f8369f",
      "tree": "a494864c9c97eef341f30529d71feceb08dcdb64",
      "parents": [
        "623ed84b1f9553bc962c2aca92f488aa6f27ecd1"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Tue Dec 13 04:10:41 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 13 13:56:05 2011 -0500"
      },
      "message": "mlx4: Extanding port_mask functionality\n\nPort mask now has additional state.\nPort can be set as \"none\". In this case neither the mlx4_en or mlx4_ib\ndrivers take ownership of the port.\nIn multifunction mode there is an option to set the vfs as single ported devices.\n(in single function mode, both physical ports belong to same function)\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4af3ce0de0c12e5c17811eaefad36ab8e146c0fd",
      "tree": "e243880d497d872c1c258799355598c13c00b737",
      "parents": [
        "5611cc4572e889b62a7b4c72a413536bf6a9c416"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Dec 06 10:47:37 2011 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Dec 06 10:47:37 2011 -0800"
      },
      "message": "IB/mlx4: Fix shutdown crash accessing a non-existent bitmap\n\nCommit cfcde11c3d7a (\"IB/mlx4: Use flow counters on IBoE ports\") added\ncode that sets elements of counters[] to -1 if no counter is allocated,\nbut then goes ahead and passes every entry to mlx4_counter_free() on\nshutdown.  This is a bad idea, especially if MLX4_DEV_CAP_FLAG_COUNTERS\nisn\u0027t set so there isn\u0027t even an underlying bitmap to free from.\n\nTested-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "17e6abeec4cb8df1e33ea0e2b889586c731a68be",
      "tree": "0e1dedd8afb3fffe9c67a5f61ce85f8da2bedd71",
      "parents": [
        "51e059bdd62f8da90973edf8a6180bd2c080f866"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 02 16:52:44 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 05 15:20:20 2011 -0500"
      },
      "message": "infiniband: ipoib: Sanitize neighbour handling in ipoib_main.c\n\nReduce the number of dst_get_neighbour_noref() calls within a single\ncall chain.  Primarily by passing the neighbour pointer down to the\nhelper functions.\n\nHandle dst_get_neighbour_noref() returning NULL in ipoib_start_xmit()\nby incrementing the dropped counter and freeing the packet.  We don\u0027t\nwant it to fall through into the ARP/RARP/multicast handling, since\nthat should only happen when skb_dst() is NULL.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "3786cf189f8b39cac870193368f9ad9f95fff9a4",
      "tree": "d7e8b85a1034ded69eec04efde443a31b349d477",
      "parents": [
        "40e2bb588f7712e4d58191ccc08b716927d9c7d0"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 02 16:52:31 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 05 15:20:20 2011 -0500"
      },
      "message": "infiniband: cxgb4: Consolidate 3 copies of the same operation into 1 helper function.\n\nThree pieces of code do the same thing, create a l2t entry and then\nimport this information into the c4iw_ep object.\n\nCreate a helper function and call it from these 3 locations instead.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "40e2bb588f7712e4d58191ccc08b716927d9c7d0",
      "tree": "32bb6a47e965619438923c659eeb45de22b8c6fc",
      "parents": [
        "c4be62a4d27cf4170c2e0eca5a4f8d6fa84d85e4"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 02 16:52:27 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 05 15:20:19 2011 -0500"
      },
      "message": "infiniband: nes: Use dst\u0027s neighbour entry.\n\nDo this instead of performing a by-hand lookup.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "a4757123aeadf450b5b3c5f51f214660e20477f3",
      "tree": "075d43113136926357be2863b2efb3b6a099e553",
      "parents": [
        "51d45974515c35cd401f6194a6e728a2d1c3e3c6"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 02 16:52:18 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 05 15:20:19 2011 -0500"
      },
      "message": "cxgb3: Rework t3_l2t_get to take a dst_entry instead of a neighbour.\n\nThis way we consolidate the RCU locking down into the place where it\nactually matters, and also we can make the code handle\ndst_get_neighbour_noref() returning NULL properly.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "51d45974515c35cd401f6194a6e728a2d1c3e3c6",
      "tree": "fba3f62f38214870f4cd5de6a0796dd72cf9fa67",
      "parents": [
        "2721745501a26d0dc3b88c0d2f3aa11471891388"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 02 16:52:14 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 05 15:20:19 2011 -0500"
      },
      "message": "infiniband: addr: Consolidate code to fetch neighbour hardware address from dst.\n\nIPV4 should do exactly what the IPV6 code does here, which is\nuse the neighbour obtained via the dst entry.\n\nAnd now that the two code paths do the same thing, use a common\nhelper function to perform the operation.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "2721745501a26d0dc3b88c0d2f3aa11471891388",
      "tree": "e9c09622b11ad7d9317b4b01824374a852867c28",
      "parents": [
        "761965eab38d2cbc59c36e355c59609e3a04705a"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 02 16:52:08 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 05 15:20:19 2011 -0500"
      },
      "message": "net: Rename dst_get_neighbour{, _raw} to dst_get_neighbour_noref{, _raw}.\n\nTo reflect the fact that a refrence is not obtained to the\nresulting neighbour entry.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "b3613118eb30a589d971e4eccbbb2a1314f5dfd4",
      "tree": "868c1ee59e1b5c19a4f2e43716400d0001a994e5",
      "parents": [
        "7505afe28c16a8d386624930a018d0052c75d687",
        "5983fe2b29df5885880d7fa3b91aca306c7564ef"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 02 13:49:21 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 02 13:49:21 2011 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "596b9b68ef118f7409afbc78487263e08ef96261",
      "tree": "0def3e591a0d5ede89e85339e35da3072f09330c",
      "parents": [
        "5b8b0060cbd6332ae5d1fa0bec0e8e211248d0e7"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 25 00:01:25 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 30 18:46:43 2011 -0500"
      },
      "message": "neigh: Add infrastructure for allocating device neigh privates.\n\nnetdev-\u003eneigh_priv_len records the private area length.\n\nThis will trigger for neigh_table objects which set tbl-\u003eentry_size\nto zero, and the first instances of this will be forthcoming.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a493f1a24a496711d96b91c4dc0a1bd35eb6954b",
      "tree": "6eaae9b9c9e42b8d2bf5a47324e2ea900d2d29a9",
      "parents": [
        "01b225e18fcb540c5d615ca79ef832473451f118",
        "3874397c0bdec3c21ce071711cd105165179b8eb",
        "580da35a31f91a594f3090b7a2c39b85cb051a12",
        "8ee887d74b3d741991edaa1836d22636c28926d9"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Nov 29 18:01:53 2011 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Nov 29 18:01:53 2011 -0800"
      },
      "message": "Merge branches \u0027cxgb4\u0027, \u0027ipoib\u0027, \u0027misc\u0027 and \u0027qib\u0027 into for-next\n"
    }
  ],
  "next": "580da35a31f91a594f3090b7a2c39b85cb051a12"
}
