)]}'
{
  "log": [
    {
      "commit": "49997d75152b3d23c53b0fa730599f2f74c92c65",
      "tree": "46e93126170d02cfec9505172e545732c1b69656",
      "parents": [
        "a0c80b80e0fb48129e4e9d6a9ede914f9ff1850d",
        "5b664cb235e97afbf34db9c4d77f08ebd725335e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 02:39:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 02:39:39 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tDocumentation/powerpc/booting-without-of.txt\n\tdrivers/atm/Makefile\n\tdrivers/net/fs_enet/fs_enet-main.c\n\tdrivers/pci/pci-acpi.c\n\tnet/8021q/vlan.c\n\tnet/iucv/iucv.c\n"
    },
    {
      "commit": "89a93f2f4834f8c126e8d9dd6b368d0b9e21ec3d",
      "tree": "e731456fec0cab1225ad3e806dc8d3efefa0a78b",
      "parents": [
        "260eddf4391f162a69d1d163729249635fa7a78f",
        "fe9233fb6914a0eb20166c967e3020f7f0fba2c9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 15 18:58:04 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 15 18:58:04 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (102 commits)\n  [SCSI] scsi_dh: fix kconfig related build errors\n  [SCSI] sym53c8xx: Fix bogus sym_que_entry re-implementation of container_of\n  [SCSI] scsi_cmnd.h: remove double inclusion of linux/blkdev.h\n  [SCSI] make struct scsi_{host,target}_type static\n  [SCSI] fix locking in host use of blk_plug_device()\n  [SCSI] zfcp: Cleanup external header file\n  [SCSI] zfcp: Cleanup code in zfcp_erp.c\n  [SCSI] zfcp: zfcp_fsf cleanup.\n  [SCSI] zfcp: consolidate sysfs things into one file.\n  [SCSI] zfcp: Cleanup of code in zfcp_aux.c\n  [SCSI] zfcp: Cleanup of code in zfcp_scsi.c\n  [SCSI] zfcp: Move status accessors from zfcp to SCSI include file.\n  [SCSI] zfcp: Small QDIO cleanups\n  [SCSI] zfcp: Adapter reopen for large number of unsolicited status\n  [SCSI] zfcp: Fix error checking for ELS ADISC requests\n  [SCSI] zfcp: wait until adapter is finished with ERP during auto-port\n  [SCSI] ibmvfc: IBM Power Virtual Fibre Channel Adapter Client Driver\n  [SCSI] sg: Add target reset support\n  [SCSI] lib: Add support for the T10 (SCSI) Data Integrity Field CRC\n  [SCSI] sd: Move scsi_disk() accessor function to sd.h\n  ...\n"
    },
    {
      "commit": "b9e40857682ecfc5bcd0356a23ff409883ffb982",
      "tree": "d241fd289bed6d16f36f6d26815c1e78e212c89a",
      "parents": [
        "e308a5d806c852f56590ffdd3834d0df0cbed8d7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 15 00:15:08 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 15 00:15:08 2008 -0700"
      },
      "message": "netdev: Do not use TX lock to protect address lists.\n\nNow that we have a specific lock to protect the network\ndevice unicast and multicast lists, remove extraneous\ngrabs of the TX lock in cases where the code only needs\naddress list protection.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e308a5d806c852f56590ffdd3834d0df0cbed8d7",
      "tree": "294ff654e90950f5162737c26f4799b0b710b748",
      "parents": [
        "f1f28aa3510ddb84c966bac65611bb866c77a092"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 15 00:13:44 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 15 00:13:44 2008 -0700"
      },
      "message": "netdev: Add netdev-\u003eaddr_list_lock protection.\n\nAdd netif_addr_{lock,unlock}{,_bh}() helpers.\n\nUse them to protect operations that operate on or read\nthe network device unicast and multicast address lists.\n\nAlso use them in cases where the code simply wants to\nblock calls into the driver\u0027s -\u003eset_rx_mode() and\n-\u003eset_multicast_list() methods.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bc3a290b51aaefc6a6af2d6e6d52ed32387c416c",
      "tree": "94b3358177c589796224c818b80ca4fdc0944719",
      "parents": [
        "e112373fd6aa280bd2cbc0d5cc3809115325a1be"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "time": "Mon Jul 14 23:48:52 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:52 2008 -0700"
      },
      "message": "IPoIB: Double default RX/TX ring sizes\n\nIncrease IPoIB ring sizes to twice their original sizes (RX: 128-\u003e256,\nTX: 64-\u003e128) to act as a shock absorber for high traffic peaks.  With\nthe current settings, we have seen cases that there are many calls to\nnetif_stop_queue(), which causes degradation in throughput.  Also,\nlarger receive buffer sizes help IPoIB in CM mode to avoid experiencing\nRNR NAK conditions due to insufficient receive buffers at the SRQ.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "e112373fd6aa280bd2cbc0d5cc3809115325a1be",
      "tree": "aaefb13c2558ab1041e63035b71ee6d114b8c906",
      "parents": [
        "df8666198dd058b9498ebdbc52c61957206d30a5"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "time": "Mon Jul 14 23:48:52 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:52 2008 -0700"
      },
      "message": "IPoIB/cm: Reduce connected mode TX object size\n\nSince IPoIB connected mode does not NETIF_F_SG, we only have one DMA\nmapping per send, so we don\u0027t need a mapping[] array.  Define a new\nstruct with a single u64 mapping member and use it for the CM tx_ring.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "bd3606715effbf37df986548c43bbed0842b49d5",
      "tree": "08f2a13d486a75b42244beca90ae78c0045c0fc1",
      "parents": [
        "c8c2afe360b7366f586f6bece1109a72ea334876"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.co.il",
        "time": "Mon Jul 14 23:48:51 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:51 2008 -0700"
      },
      "message": "IPoIB: Use dev_set_mtu() to change mtu\n\nWhen the driver sets the MTU of the net device outside of its\nchange_mtu method, it should make use of dev_set_mtu() instead of\ndirectly setting the mtu field of struct netdevice.  Otherwise\nfunctions registered to be called upon MTU change will not get called\n(this is done through call_netdevice_notifiers() in dev_set_mtu()).\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "c8c2afe360b7366f586f6bece1109a72ea334876",
      "tree": "c132fc0580deebde3dc49c59bac9c4a559aef192",
      "parents": [
        "9eae554c171e086c89ab83da2a2d3c8bf958fcb5"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.co.il",
        "time": "Mon Jul 14 23:48:51 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:51 2008 -0700"
      },
      "message": "IPoIB: Use rtnl lock/unlock when changing device flags\n\nUse of this lock is required to synchronize changes to the netdvice\u0027s\ndata structs.  Also move the call to ipoib_flush_paths() after the\nmodification of the netdevice flags in set_mode().\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "9eae554c171e086c89ab83da2a2d3c8bf958fcb5",
      "tree": "52023c51bf3ad116e3506f20f7c90fd9a29661b3",
      "parents": [
        "d0de13622d5ac658efe7c51521dbdbe0752aa3dd"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:50 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:50 2008 -0700"
      },
      "message": "IPoIB: Get rid of ipoib_mcast_detach() wrapper\n\nipoib_mcast_detach() does nothing except call ib_detach_mcast(), so just\nuse the core API in the one place that does a multicast group detach.\n\nadd/remove: 0/1 grow/shrink: 0/1 up/down: 0/-105 (-105)\nfunction                                     old     new   delta\nipoib_mcast_leave                            357     319     -38\nipoib_mcast_detach                            67       -     -67\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "d0de13622d5ac658efe7c51521dbdbe0752aa3dd",
      "tree": "c61104a706ff1122b72888e0ed466d8183ee79e3",
      "parents": [
        "5892eff91ad60ba365ae7f75050ce464036c5396"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.co.il",
        "time": "Mon Jul 14 23:48:50 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:50 2008 -0700"
      },
      "message": "IPoIB: Only set Q_Key once: after joining broadcast group\n\nThe current code will set the Q_Key for any join of a non-sendonly\nmulticast group.  The operation involves a modify QP operation, which\nis fairly heavyweight, and is only really required after the join of\nthe broadcast group.  Fix this by adding a parameter to ipoib_mcast_attach()\nto control when the Q_Key is set.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "5892eff91ad60ba365ae7f75050ce464036c5396",
      "tree": "8f1ddce8b1f71688ed60d6d9a8f47ede4e7067fe",
      "parents": [
        "c03d4731b5b6de45b95a10bf1d510dde423d6757"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.co.il",
        "time": "Mon Jul 14 23:48:50 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:50 2008 -0700"
      },
      "message": "IPoIB: Remove priv-\u003emcast_mutex\n\nNo need for a mutex around calls to ib_attach_mcast/ib_detach_mcast\nsince these operations are synchronized at the HW driver layer.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "c03d4731b5b6de45b95a10bf1d510dde423d6757",
      "tree": "c5635fc4061f716c4bc69228950fe3a44fcf7ab4",
      "parents": [
        "70fe1796a5ebc5f955be39bba5c42eee9eb89e1f"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.co.il",
        "time": "Mon Jul 14 23:48:50 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:50 2008 -0700"
      },
      "message": "IPoIB: Remove unused IPOIB_MCAST_STARTED code\n\nThe IPOIB_MCAST_STARTED flag is not used at all since commit b3e2749b\n(\"IPoIB: Don\u0027t drop multicast sends when they can be queued\"), so\nremove it.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "ee1e2c82c245a5fb2864e9dbcdaab3390fde3fcc",
      "tree": "2bd6686dcee9524352c1afce3cb772373ec83d5f",
      "parents": [
        "038919f29682b00ea95506e959210fc72d1aaf64"
      ],
      "author": {
        "name": "Moni Shoua",
        "email": "monis@Voltaire.COM",
        "time": "Mon Jul 14 23:48:49 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:49 2008 -0700"
      },
      "message": "IPoIB: Refresh paths instead of flushing them on SM change events\n\nThe patch tries to solve the problem of device going down and paths being\nflushed on an SM change event. The method is to mark the paths as candidates for\nrefresh (by setting the new valid flag to 0), and wait for an ARP\nprobe a new path record query.\n\nThe solution requires a different and less intrusive handling of SM\nchange event. For that, the second argument of the flush function\nchanges its meaning from a boolean flag to a level.  In most cases, SM\nfailover doesn\u0027t cause LID change so traffic won\u0027t stop.  In the rare\ncases of LID change, the remote host (the one that hadn\u0027t changed its\nLID) will lose connectivity until paths are refreshed. This is no\nworse than the current state.  In fact, preventing the device from\ngoing down saves packets that otherwise would be lost.\n\nSigned-off-by: Moni Levy \u003cmonil@voltaire.com\u003e\nSigned-off-by: Moni Shoua \u003cmonis@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "af40da894e96d5c826d38be3ea53ee00d9de0367",
      "tree": "15b8e850d4227ec04289e5bc67d1838f231c8d9f",
      "parents": [
        "12406734051a26e9fe4c8568e931dfddbb72d431"
      ],
      "author": {
        "name": "Vladimir Sokolovsky",
        "email": "vlad@mellanox.co.il",
        "time": "Mon Jul 14 23:48:48 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:48 2008 -0700"
      },
      "message": "IPoIB: add LRO support\n\nAdd \"ipoib_use_lro\" module parameter to enable LRO and an\n\"ipoib_lro_max_aggr\" module parameter to set the max number of packets\nto be aggregated.  Make LRO controllable and LRO statistics accessible\nthrough ethtool.\n\nSigned-off-by: Vladimir Sokolovsky \u003cvlad@mellanox.co.il\u003e\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "12406734051a26e9fe4c8568e931dfddbb72d431",
      "tree": "731bbb97c981389fd04684714214b18388ec8b41",
      "parents": [
        "521e575b9a7324a0bca762622139f69582a042bf"
      ],
      "author": {
        "name": "Ron Livne",
        "email": "ronli@voltaire.com",
        "time": "Mon Jul 14 23:48:48 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:48 2008 -0700"
      },
      "message": "IPoIB: Use multicast loopback blocking if available\n\nSet IB_QP_CREATE_BLOCK_MULTICAST_LOOPBACK for IPoIB\u0027s UD QPs if\nsupported by the underlying device.  This creates an improvement of up\nto 39% in bandwidth when sending multicast packets with IPoIB, and an\nimprovment of 12% in cpu usage.\n\nSigned-off-by: Ron Livne \u003cronli@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "a7d834c4bc6be73e8f83eaa5072fac3c5549f7f2",
      "tree": "aec2ed171dee9fc29b2a968a8048808d85b2cec1",
      "parents": [
        "468f2239bcc71ae0f345c3fe58c797cf4627daf4"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:47 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:47 2008 -0700"
      },
      "message": "IPoIB/cm: Fix racy use of receive WR/SGL in ipoib_cm_post_receive_nonsrq()\n\nFor devices that don\u0027t support SRQs, ipoib_cm_post_receive_nonsrq() is\ncalled from both ipoib_cm_handle_rx_wc() and ipoib_cm_nonsrq_init_rx(),\nand these two callers are not synchronized against each other.\nHowever, ipoib_cm_post_receive_nonsrq() always reuses the same receive\nwork request and scatter list structures, so multiple callers can end\nup stepping on each other, which leads to posting garbled work\nrequests.\n\nFix this by having the caller pass in the ib_recv_wr and ib_sge\nstructures to use, and allocating new local structures in\nipoib_cm_nonsrq_init_rx().\n\nBased on a patch by Pradeep Satyanarayana \u003cpradeep@us.ibm.com\u003e and\nDavid Wilder \u003cdwilder@us.ibm.com\u003e, with debugging help from Hoang-Nam\nNguyen \u003chnguyen@de.ibm.com\u003e.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "f89271da32bc1a636cf4eb078e615930886cd013",
      "tree": "7155618205af963d991f72766d1155702439f124",
      "parents": [
        "f3781d2e89f12dd5afa046dc56032af6e39bd116"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "time": "Mon Jul 14 23:48:44 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:44 2008 -0700"
      },
      "message": "IPoIB: Copy small received SKBs in connected mode\n\nThe connected mode implementation in the IPoIB driver has a large\noverhead in the way SKBs are handled in the receive flow.  It usually\nallocates an SKB with as big as was used in the currently received SKB\nand moves unused fragments from the old SKB to the new one. This\ninvolves a loop on all the remaining fragments and incurs overhead on\nthe CPU.  This patch, for small SKBs, allocates an SKB just large\nenough to contain the received data and copies to it the data from the\nreceived SKB.  The newly allocated SKB is passed to the stack and the\nold SKB is reposted.\n\nWhen running netperf, UDP small messages, without this pach I get:\n\n    UDP UNIDIRECTIONAL SEND TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to\n    14.4.3.178 (14.4.3.178) port 0 AF_INET\n    Socket  Message  Elapsed      Messages\n    Size    Size     Time         Okay Errors   Throughput\n    bytes   bytes    secs            #      #   10^6bits/sec\n\n    114688     128   10.00     5142034      0     526.31\n    114688           10.00     1130489            115.71\n\nWith this patch I get both send and receive at ~315 mbps.\n\nThe reason that send performance actually slows down is as follows:\nWhen using this patch, the overhead of the CPU for handling RX packets\nis dramatically reduced.  As a result, we do not experience RNR NAK\nmessages from the receiver which cause the connection to be closed and\nreopened again; when the patch is not used, the receiver cannot handle\nthe packets fast enough so there is less time to post new buffers and\nhence the mentioned RNR NACKs.  So what happens is that the\napplication *thinks* it posted a certain number of packets for\ntransmission but these packets are flushed and do not really get\ntransmitted.  Since the connection gets opened and closed many times,\neach time netperf gets the CPU time that otherwise would have been\ngiven to IPoIB to actually transmit the packets.  This can be verified\nwhen looking at the port counters -- the output of ifconfig and the\noputput of netperf (this is for the case without the patch):\n\n    tx packets\n    \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n    port counter:   1,543,996\n    ifconfig:       1,581,426\n    netperf:        5,142,034\n\n    rx packets\n    \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n    netperf         1,1304,089\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\n"
    },
    {
      "commit": "f3781d2e89f12dd5afa046dc56032af6e39bd116",
      "tree": "30d170dc1534daf283cfb9c7278c2c3926b31a0f",
      "parents": [
        "4deccd6d95f1f1536dad3c842e39c1ace577329d"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:44 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:44 2008 -0700"
      },
      "message": "RDMA: Remove subversion $Id tags\n\nThey don\u0027t get updated by git and so they\u0027re worse than useless.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "969a60f9db3f879f95bd37026a3c3bf02cc2568f",
      "tree": "1099a085e7b171f45051741f9e0da91af6eaeb04",
      "parents": [
        "50515af207d410c9f228380e529c56f43c3de0bd"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:43 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jul 14 23:48:43 2008 -0700"
      },
      "message": "IB/srp: Remove use of cached P_Key/GID queries\n\nThe SRP initiator is currently using ib_find_cached_pkey() and\nib_get_cached_gid() in situations where the uncached ib_find_pkey()\nand ib_query_gid() functions serve just as well: sleeping is allowed\nand performance is not an issue.  Since we want to eliminate the\ncached operations in the long term, convert SRP to use the uncached\nvariants.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "8e9a20cee4511be4560f9c858d9994eb6913731e",
      "tree": "ccfdb98eb453c5c02c10ac98a9ed5eb141924910",
      "parents": [
        "c95fddc729fafb43f420747027eeb998c2e5e798"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Mon Jun 16 10:11:33 2008 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Jul 12 08:22:29 2008 -0500"
      },
      "message": "[SCSI] libiscsi, iscsi_tcp, ib_iser: fix setting of can_queue with old tools.\n\nThis patch fixes two bugs that are related.\n\n1. Old tools did not set can_queue/cmds_max. This patch modifies\nlibiscsi so that when we add the host we catch this and set it\nto the default.\n\n2. iscsi_tcp thought that the scsi command that was passed to\nthe eh functions needed a iscsi_cmd_task allocated for it. It\nonly needed a mgmt task, and now it does not matter since it\nall comes from the same pool and libiscsi handles this for the\ndrivers. ib_iser had copied iscsi_tcp\u0027s code and set can_queue\nto its max - 1 to handle this. So this patch removes the max -1,\nand just sets it to the max.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "913e5bf435617aa529919a4f7567f849f9f35f9f",
      "tree": "db7357d78d7d6f20358d61bf88a8137ad044a5a5",
      "parents": [
        "3cf7b233ffc45d4fc381221f74d24f10e692c4ea"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Wed May 21 15:54:18 2008 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Jul 12 08:22:22 2008 -0500"
      },
      "message": "[SCSI] libiscsi, iser, tcp: remove recv_lock\n\nThe recv lock was defined so the iscsi layer could block\nthe recv path from processing IO during recovery. It\nturns out iser just set a lock to that pointer which was pointless.\n\nWe now disconnect the transport connection before doing recovery\nso we do not need the recv lock. For iscsi_tcp we still stop\nthe recv path incase older tools are being used.\n\nThis patch also has iscsi_itt_to_ctask user grab the session lock\nand has the caller access the task with the lock or get a ref\nto it in case the target is broken and sends a tmf success response\nthen sends data or a response for the command that was supposed to\nbe affected bty the tmf.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "88dfd340b9dece8fcaa1a2d4c782338926c017f7",
      "tree": "89800910ef8636f00d2c66ce4e83a161087857e6",
      "parents": [
        "06520edea0fc7007985fa4cd51560149feb3f442"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Wed May 21 15:54:16 2008 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Jul 12 08:22:21 2008 -0500"
      },
      "message": "[SCSI] iscsi class: Add session initiatorname and ifacename sysfs attrs.\n\nThis adds two new attrs used for creating initiator ports and\nbinding sessions to hardware.\n\nThe session level initiatorname:\n\nSince bnx2i does a scsi_host per host device, we need to add the\niface initiator port settings on the session, so we can create\nmultiple initiator ports (each with different inames) per device/scsi_host.\n\nThe current iname reflects that qla4xxx can have one iname per hba, and we are\nallocating a host per session for software. The iname on the host will\nremain so we can export and set the hba level qla4xxx setting.\n\nThe ifacename attr:\n\nTo bind a session to a some peice of hardware in userspace we maintain\nsome mappings, but during boot or iscsid restart (iscsid contains the user\nspace part of the driver) we need to be able to figure out which of those\nhost mappings abstractions maps to certain sessions. This patch adds\na ifacename attr, which userspace can set to id the host side of the\nendpoint across pivot_roots and iscsid restarts.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "412eeafa0a51a8d86545d0be637bf84e4374fccf",
      "tree": "70d2e9b274513953fd5df036474c9ae520d6843b",
      "parents": [
        "d82ff9be733a2e6da4f6c2ab4e9216f3f536503d"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Wed May 21 15:54:14 2008 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Jul 12 08:22:21 2008 -0500"
      },
      "message": "[SCSI] iser: Modify iser to take a iscsi_endpoint struct in ep callouts and session setup\n\nThis hooks iser into the iscsi endpoint code. Previously it handled the\nlookup and allocation. This has been made generic so bnx2i and iser can\nshare it. It also allows us to pass iser the leading conn\u0027s ep, so we\nknow the ib_deivce being used and can set it as the scsi_host\u0027s parent.\nAnd that allows scsi-ml to set the dma_mask based on those values.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "7970634b81a6e3561954517bca42615542c4535b",
      "tree": "e8a6aea24c5db8c1198173b75945746333cdbd4d",
      "parents": [
        "2261ec3d686e35c1a6088ab7f00a1d02b528b994"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Wed May 21 15:54:12 2008 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Jul 12 08:22:20 2008 -0500"
      },
      "message": "[SCSI] iscsi class: user device_for_each_child instead of duplicating session list\n\nCurrently we duplicate the list of sessions, because we were using the\ntest for if a session was on the host list to indicate if the session\nwas bound or unbound. We can instead use the target_id and fix up\nthe class so that drivers like bnx2i do not have to manage the target id\nspace.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "2261ec3d686e35c1a6088ab7f00a1d02b528b994",
      "tree": "7836e5ddf152861d074916ce1838941158138315",
      "parents": [
        "135a8ad4e09309d36dcb8b5c7f55db0b6a15b2d6"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Wed May 21 15:54:11 2008 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Jul 12 08:22:20 2008 -0500"
      },
      "message": "[SCSI] iser: handle iscsi_cmd_task rename\n\nThis handles the iscsi_cmd_task rename and renames\nthe iser cmd task to iser task.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "2747fdb25726caa1a89229f43d99ca50af72576a",
      "tree": "77e2da2ba710cb09f8e9ee4564a75ba6bb17bd5e",
      "parents": [
        "fbc514b4e262bc0596faae8640ebc0b9142a1cdd"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Wed May 21 15:54:08 2008 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Jul 12 08:22:19 2008 -0500"
      },
      "message": "[SCSI] iser: convert ib_iser to support merged tasks\n\nConvert ib_iser to support merged tasks.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "0af967f5d4f2dd1e00618d34ac988037d37a6c3b",
      "tree": "08297980d1b6dab820d22c12c7fe1c54602f2486",
      "parents": [
        "b40977d95fb3a1898ace6a7d97e4ed1a33a440a4"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Wed May 21 15:54:04 2008 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Jul 12 08:22:18 2008 -0500"
      },
      "message": "[SCSI] libiscsi, iscsi_tcp, iser: add session cmds array accessor\n\nCurrently to get a ctask from the session cmd array, you have to\nknow to use the itt modifier. To make this easier on LLDs and\nso in the future we can easilly kill the session array and use\nthe host shared map instead, this patch adds a nice wrapper\nto strip the itt into a session-\u003ecmds index and return a ctask.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "b40977d95fb3a1898ace6a7d97e4ed1a33a440a4",
      "tree": "dfbe7909a066c974f16403e25f687496dde7fb0a",
      "parents": [
        "5af3e91d232b7e022f258202f72ebb79b8b0c706"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Wed May 21 15:54:03 2008 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Jul 12 08:22:17 2008 -0500"
      },
      "message": "[SCSI] iser: fix handling of scsi cmnds during recovery.\n\nAfter the stop_conn callback has returned the LLD should not\ntouch the scsi cmds. iscsi_tcp and libiscsi use the\nconn-\u003erecv_lock and suspend_rx field to halt recv path\nprocessing, but iser does not have any protection.\n\nThis patch modifies iser so that userspace can just\ncall the ep_disconnect callback, which will halt\nall recv IO, before calling the stop_conn callback so\nwe do not have to worry about the conn-\u003erecv_lock and\nsuspend rx field. iser just needs to stop the send side\nfrom accessing the ib conn.\n\nFixup to handle when the ep poll fails and ep disconnect\nis called from Erez.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "5d91e209fb21fb9cc765729d4c6a85a9fb6c9187",
      "tree": "870367c290c1392fbe0d3762981553f0e24aa752",
      "parents": [
        "a4804cd6eb19318ae8d08ea967cfeaaf5c5b68a6"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Wed May 21 15:54:01 2008 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Jul 12 08:22:16 2008 -0500"
      },
      "message": "[SCSI] iscsi: remove session/conn_data_size from iscsi_transport\n\nThis removes the session and conn data_size fields from the iscsi_transport.\nJust pass in the value like with host allocation. This patch also makes\nit so the LLD iscsi_conn data is allocated with the iscsi_cls_conn.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "a4804cd6eb19318ae8d08ea967cfeaaf5c5b68a6",
      "tree": "a69acbfdf4e3646ebb7583f0627b7b7952d13b10",
      "parents": [
        "756135215ec743be6fdce2bdebe8cdb9f8a231f6"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Wed May 21 15:54:00 2008 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Jul 12 08:22:16 2008 -0500"
      },
      "message": "[SCSI] iscsi: add iscsi host helpers\n\nThis finishes the host/session unbinding, by adding some helpers\nto add and remove hosts and the session they manage.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "756135215ec743be6fdce2bdebe8cdb9f8a231f6",
      "tree": "7eb0a5a23731fcd974f9e5e5d136fe6944d4761c",
      "parents": [
        "32c6e1b9a2e27076b7070a9ec56a9e5437ebd725"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Wed May 21 15:53:59 2008 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Jul 12 08:22:16 2008 -0500"
      },
      "message": "[SCSI] iscsi: remove session and host binding in libiscsi\n\nbnx2i allocates a host per netdevice but will use libiscsi,\nso this unbinds the session from the host in that code.\n\nThis will also be useful for the iser parent device dma settings\nfixes.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "d3826721b198001c55353b1c54e10843068aae63",
      "tree": "7f2348a674da1f0d513c65d6225eea5f49ffff66",
      "parents": [
        "40753caa364bfba60ebd5e2a8bdf366ef175d03c"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Wed May 21 15:53:57 2008 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Jul 12 08:22:15 2008 -0500"
      },
      "message": "[SCSI] iscsi class, iscsi drivers: remove unused iscsi_transport attrs\n\nmax_cmd_len and max_conn are not really used. max_cmd_len is\nalways 16 and can be set by the LLD. max_conn is always one\nsince we do not support MCS.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "40753caa364bfba60ebd5e2a8bdf366ef175d03c",
      "tree": "ed43045b841521eb9c9fedc08d603df89a77cf6f",
      "parents": [
        "d54d48b80fb523ce1b1a644e4876b08835ad757f"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Wed May 21 15:53:56 2008 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Jul 12 08:22:15 2008 -0500"
      },
      "message": "[SCSI] iscsi class, iscsi_tcp/iser: add host arg to session creation\n\niscsi offload (bnx2i and qla4xx) allocate a scsi host per hba,\nso the session creation path needs a shost/host_no argument.\nSoftware iscsi/iser will follow the same behabior as before\nwhere it allcoates a host per session, but in the future iser\nwill probably look more like bnx2i where the host\u0027s parent is\nthe hardware (rnic for iser and for bnx2i it is the nic), because\nit does not use a socket layer like how iscsi_tcp does.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "e1d50dce5af77cb6d33555af70e2b8748dd84009",
      "tree": "2ee7146889f82fa1b4f606fd7962a20433692158",
      "parents": [
        "e5ec3789c16e12a1936a3be7bdda51897a4148b8"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Tue May 20 15:41:09 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue May 20 15:41:09 2008 -0700"
      },
      "message": "IPoIB: Test for NULL broadcast object in ipiob_mcast_join_finish()\n\nWe saw a kernel oops in our regression testing when a multicast \"join\nfinish\" occurred just after the interface was -- this is\n\u003chttps://bugs.openfabrics.org/show_bug.cgi?id\u003d1040\u003e.  The test\nrandomly causes the HCA physical port to go down then up.\n\nThe cause of this is that ipoib_mcast_join_finish() processing happen\njust after ipoib_mcast_dev_flush() was invoked (in which case the\nbroadcast pointer is NULL).  This patch tests for and handles the case\nwhere priv-\u003ebroadcast is NULL.\n\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "57ce41d1d18279cc90223f3deadca70c7de1cfca",
      "tree": "39111403527e4744b4a6a15d5ffe3fd038751489",
      "parents": [
        "3ae15e1623b9d32eb410c2a23d90e47b16e6acd0"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "time": "Wed Apr 30 20:02:45 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Apr 30 20:02:45 2008 -0700"
      },
      "message": "IB/ipoib: Fix transmit queue stalling forever\n\nCommit f56bcd80 (\"IPoIB: Use separate CQ for UD send completions\")\nintroduced a bug where the transmit queue could get stopped and never\nwoken up.  The problem is that send completions are only polled at the\nend of the xmit function, so if the send queue fills up and the xmit\npath stops the queue, then there is no way for send completions to\never get polled, and so the transmit queue stays stopped forever.\n\nFix this by arming the send CQ just before posting the last send\nrequest that fills the send queue.  Then, when the completion event\nhandler is called, drain the send CQ.  Since it is possible that not\nenough send completions are in the CQ, verify that the the net queue\nhas been woken up after draining the send CQ, and if not arm a timer\nand drain again at the timer function.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "b4132efa1a47858d741ecb05b8735e6fcb603bc8",
      "tree": "7345487035fb8725d5f6d3edeaf23839eef1da7e",
      "parents": [
        "baaad380c0aa955f7d62e846467316c94067f1a5"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "time": "Tue Apr 29 13:46:53 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Apr 29 13:46:53 2008 -0700"
      },
      "message": "IPoIB: Copy child MTU from parent\n\nWhen creating a child interface, copy the MTU information from the\nparent.  Otherwise when the child\u0027s multicast join completes, the MTU\nwill not be updated since the code does\n\n\tdev-\u003emtu \u003d min(priv-\u003emcast_mtu, priv-\u003eadmin_mtu);\n\nand priv-\u003eadmin_mtu will be set to 0.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "f56bcd8013566d4ad4759ae5fc85a6660e4655c7",
      "tree": "58b7e23f81caf5e6d8ada5819170f0bfb783d7e3",
      "parents": [
        "87528227dfa8776d12779d073c217f0835fd6d20"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "time": "Tue Apr 29 13:46:53 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Apr 29 13:46:53 2008 -0700"
      },
      "message": "IPoIB: Use separate CQ for UD send completions\n\nUse a dedicated CQ for UD send completions. Also, do not arm the UD\nsend CQ, which reduces the number of interrupts generated.  This patch\nfarther reduces overhead by not calling poll CQ for every posted send\nWR -- it does polls only when there 16 or more outstanding work requests.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "87528227dfa8776d12779d073c217f0835fd6d20",
      "tree": "b81e95f35826bc266fef2f425bee225f4b347a02",
      "parents": [
        "6f735e36bad6fa4949271b3c3d0f331aad812313"
      ],
      "author": {
        "name": "Eli Dorfman",
        "email": "dorfman.eli@gmail.com",
        "time": "Tue Apr 29 13:46:52 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Apr 29 13:46:52 2008 -0700"
      },
      "message": "IB/iser: Count FMR alignment violations per session\n\nCount FMR alignment violations per session as part of the iscsi\nstatistics.\n\nSigned-off-by: Eli Dorfman \u003celid@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "6f735e36bad6fa4949271b3c3d0f331aad812313",
      "tree": "eff436b7e4126b28a59dd7cc9c71e1fca783ce66",
      "parents": [
        "7df109d917e85d3da2e25bd495c4997e87ed2a4e"
      ],
      "author": {
        "name": "Eli Dorfman",
        "email": "dorfman.eli@gmail.com",
        "time": "Tue Apr 29 13:46:52 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Apr 29 13:46:52 2008 -0700"
      },
      "message": "IB/iser: Move high-volume debug output to higher debug level\n\nAdd another level for debug.\n\nSigned-off-by: Eli Dorfman \u003celid@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "bc7b3a36ba02e4053ca38653e6a753082d9add03",
      "tree": "28fe1daa7cab6c7cab71bbc7af22ee6ca7746323",
      "parents": [
        "bc5698f3ecc9587e1edb343a2878f8d228c49e0e"
      ],
      "author": {
        "name": "Shirley Ma",
        "email": "mashirle@us.ibm.com",
        "time": "Wed Apr 23 11:55:45 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Apr 23 11:55:45 2008 -0700"
      },
      "message": "IPoIB: Handle 4K IB MTU for UD (datagram) mode\n\nThis patch enables IPoIB to use 4K UD messages (when the underlying\ndevice and fabrics support a 4K MTU) by using two scatter buffers when\nPAGE_SIZE is less than or equal to thhe HCA IB MTU size.  The first\nbuffer is for IPoIB header + GRH header, and the second buffer is the\nIPoIB payload, which is 4K-4.\n\nSigned-off-by: Shirley Ma \u003cxma@us.ibm.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "ee959b00c335d7780136c5abda37809191fe52c3",
      "tree": "7775f3b274fd8caf5e7e5154fea89e96f2babd94",
      "parents": [
        "56d110e852b0b1c85ad6c9bfe1cb4473ceb16402"
      ],
      "author": {
        "name": "Tony Jones",
        "email": "tonyj@suse.de",
        "time": "Fri Feb 22 00:13:36 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:33 2008 -0700"
      },
      "message": "SCSI: convert struct class_device to struct device\n\nIt\u0027s big, but there doesn\u0027t seem to be a way to split it up smaller...\n\nSigned-off-by: Tony Jones \u003ctonyj@suse.de\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nCc: Sean Hefty \u003csean.hefty@intel.com\u003e\nCc: Hal Rosenstock \u003chal.rosenstock@gmail.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "05321937469a8592d6a6d35f1d38ca882d243044",
      "tree": "ac164db005c0cbabf58a9bf99533dee9c6e03c3b",
      "parents": [
        "f4e91eb4a81559da87a3843758a641b5cc590b65"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Mar 06 00:13:36 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:30 2008 -0700"
      },
      "message": "IB: rename \"dev\" to \"srp_dev\" in srp_host structure\n\nThis sets us up to be able to convert the srp_host to use a struct\ndevice instead of a class_device.\n\nBased on a original patch from Tony Jones, but split up into this piece\nby Greg.\n\nSigned-off-by: Tony Jones \u003ctonyj@suse.de\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nReviewed-by: Roland Dreier \u003crolandd@cisco.com\u003e\nCc: Sean Hefty \u003csean.hefty@intel.com\u003e\nCc: Hal Rosenstock \u003chal.rosenstock@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0a22ab92f51478796d5f3997f4f5922409c98b10",
      "tree": "97bf48294f96cb4cf00f565c08f7538e77f974c2",
      "parents": [
        "068c4ea1bb9ef733961d3d7a104fa9250ba80087"
      ],
      "author": {
        "name": "Erez Zilber",
        "email": "erezz@voltaire.com",
        "time": "Wed Apr 16 21:09:35 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Apr 16 21:09:35 2008 -0700"
      },
      "message": "IB/iser: Don\u0027t change itt endianness\n\nThe itt field in struct iscsi_data is not defined with any particular\nendianness.  open-iscsi should use it as-is without byte-swapping it.\nThis fixes sparse warnings coming from doing ntohl(hdr-\u003eitt).\n\nSigned-off-by: Erez Zilber \u003cerezz@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "9fdd5e5bf682130d1e1dd83d06e99eeafa645c0c",
      "tree": "623f92fc4f16377a9a0f2a3e791bfc435897f4ea",
      "parents": [
        "d97c51707d7d0716881be84ffd2100449852e44b"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Apr 16 21:09:35 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Apr 16 21:09:35 2008 -0700"
      },
      "message": "IPoIB: Handle case when P_Key is deleted and re-added at same index\n\nIf a P_Key is deleted and then re-added at the same index, then IPoIB\ngets confused because __ipoib_ib_dev_flush() only checks whether the\nindex is the same without checking whether the P_Key was present, so\nthe interface is stopped when the P_Key is deleted, but the event when\nthe P_Key is re-added gets ignored and the interface never gets\nrestarted.\n\nAlso, switch to using ib_find_pkey() instead of ib_find_cached_pkey()\neverywhere in IPoIB, since none of the places that look for P_Keys are\nin a fast path or in non-sleeping context, and in general we want to\nkill off the whole caching infrastructure eventually.  This also fixes\nconsistency problems caused because some IPoIB queries were cached and\nsome were uncached during the window where the cache was not updated.\n\nThanks to Venkata Subramonyam \u003cvsubramo@cisco.com\u003e for debugging this\nproblem and testing this fix.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "d97c51707d7d0716881be84ffd2100449852e44b",
      "tree": "eed3555698bbe9ca771f0703aa45001362555f8c",
      "parents": [
        "4ff08a76bce3ed5f7d109c646dcfc474d7946213"
      ],
      "author": {
        "name": "Erez Zilber",
        "email": "erezz@voltaire.com",
        "time": "Wed Apr 16 21:09:35 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Apr 16 21:09:35 2008 -0700"
      },
      "message": "IB/iser: Release connection resources on RDMA_CM_EVENT_DEVICE_REMOVAL event\n\nWhen a RDMA_CM_EVENT_DEVICE_REMOVAL event is raised, iSER should\nrelease the connection resources.\n\nThis is necessary when the IB HCA module is unloaded while open-iscsi\nis still running.  Currently, iSER just BUG()s.\n\nSigned-off-by: Erez Zilber \u003cerezz@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "28d52b3cd8d48ef0ff77d4a8a7a21fc2816bb0a5",
      "tree": "b1b7615491047d7b00bcaf193ba3a5c730655549",
      "parents": [
        "2dd5716227878d5950988514a2cbabf72f7fc888"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "time": "Wed Apr 16 21:09:33 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Apr 16 21:09:33 2008 -0700"
      },
      "message": "IPoIB: Support modifying IPoIB CQ event moderation\n\nThis can be used to tune at run time the parameters controlling the\nevent (interrupt) generation rate and thus reduce the overhead\nincurred by handling interrupts resulting in better throughput.  Since\nIPoIB uses a single CQ for both RX and TX, RX is chosen to dictate\nconfiguration for both RX and TX.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "82c24c18afc5e1c2a955bdc2762b19721283365c",
      "tree": "2dd054b0738962daee6bdfd268c8b9fbb9fc466d",
      "parents": [
        "9b1f38515c41a5f13021e15b50b6558db236d6d5"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "time": "Wed Apr 16 21:09:32 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Apr 16 21:09:32 2008 -0700"
      },
      "message": "IPoIB: Add basic ethtool support\n\nJust add the infrastructure so we can add functionality later.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "40ca1988e03c001747d0b4cc1b25cf38297c9f9e",
      "tree": "5eb1d1e32b41409bd722df9c80deb326a227b09f",
      "parents": [
        "c93570f23a98c633570397aedc6d1808f5d5846a"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "time": "Wed Apr 16 21:09:27 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Apr 16 21:09:27 2008 -0700"
      },
      "message": "IPoIB: Add LSO support\n\nFor HCAs that support TCP segmentation offload (IB_DEVICE_UD_TSO), set\nNETIF_F_TSO and use HW LSO to offload TCP segmentation.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "157de229468b2a63bbc8f9a7d37c70a2c9731ac8",
      "tree": "12c38b2c5f92af9b4ec3d7c7457b73b951a1729d",
      "parents": [
        "10f32065a25d22bf7894fa39ff2ce8492922086a"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Wed Apr 16 21:09:26 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Apr 16 21:09:26 2008 -0700"
      },
      "message": "IB: Use shorter list_splice_init() for brevity\n\nConvert list_splice() + INIT_LIST_HEAD() to the equivalent list_splice_init()\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "1e89a1946cfd906d12eff437d2a76b3aa7f5e731",
      "tree": "2f48454d19bb6d6e07c5161d3307b68dc4978393",
      "parents": [
        "826d801009fb3c82832f2d92149446cce354bf61"
      ],
      "author": {
        "name": "David Dillow",
        "email": "dillowda@ornl.gov",
        "time": "Wed Apr 16 21:01:12 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Apr 16 21:01:12 2008 -0700"
      },
      "message": "IB/srp: Enforce protocol limit on srp_sg_tablesize\n\nThe current SRP initiator will allow unlimited s/g entries in the\nindirect descriptors lists, but the entry count field in the SRP_CMD\nrequest is 8 bits, so setting srp_sg_tablesize too large will open the\npossibility of wrapping the count and generating invalid requests.\n\nClamp srp_sg_tablesize to the protocol limits to prevent surprises.\n\nReported by Martin W. Schlining III \u003cmschlining@datadirectnet.com\u003e.\n\nSigned-off-by: David Dillow \u003cdillowda@ornl.gov\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "6046136c742e32d5e6431cdcd8957638d1816821",
      "tree": "512a0165e982e5bdf93ba0732c4a52b01c84317b",
      "parents": [
        "3371836383d63b627b228875f5ac63023cbf11d2"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "time": "Wed Apr 16 21:01:10 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Apr 16 21:01:10 2008 -0700"
      },
      "message": "IPoIB: Use checksum offload support if available\n\nFor HCAs that support checksum offload (ie that set IB_DEVICE_UD_IP_CSUM\nin the device capabilities flags), have IPoIB set NETIF_F_IP_CSUM and\nuse the HCA to generate and verify IP checksums.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "10313cbb92206450b450e14f2b3f6ccde42d9a34",
      "tree": "6e10b1066fcb3f3a699960c62535f0cbea240738",
      "parents": [
        "4200406b8fbbf309f4fffb339bd16c4553ae0c30"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Mar 12 07:51:03 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Mar 12 07:51:03 2008 -0700"
      },
      "message": "IPoIB: Allocate priv-\u003etx_ring with vmalloc()\n\nCommit 7143740d (\"IPoIB: Add send gather support\") made struct\nipoib_tx_buf significantly larger, since the mapping member changed\nfrom a single u64 to an array with MAX_SKB_FRAGS + 1 entries.  This\nmeans that allocating tx_rings with kzalloc() may fail because there\nis not enough contiguous memory for the new, much bigger size.  Fix\nthis regression by allocating the rings with vmalloc() instead.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "4200406b8fbbf309f4fffb339bd16c4553ae0c30",
      "tree": "cb734632dc9fce70535cd873c8c2fa244262a9e6",
      "parents": [
        "b3e2749bf32f61e7beb259eb7cfb066d2ec6ad65"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Mar 11 18:35:20 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Mar 11 18:35:20 2008 -0700"
      },
      "message": "IPoIB/cm: Set tx_wr.num_sge in connected mode post_send()\n\nCommit 7143740d (\"IPoIB: Add send gather support\") made it possible\nfor tx_wr.num_sge to be !\u003d 1 -- this happens if send gather support is\nenabled.  However, the code in the connected mode post_send() function\nassumes the old invariant, namely that tx_wr.num_sge is always 1.  Fix\nthis by explicitly setting tx_wr.num_sge to 1 in the CM post_send().\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "b3e2749bf32f61e7beb259eb7cfb066d2ec6ad65",
      "tree": "3fb0ce0dd2c470b00a9bb942c163fd77f2a1dc51",
      "parents": [
        "450bb3875f5f5ab3679823c941d6045d16967370"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@voltaire.com",
        "time": "Tue Mar 11 16:10:02 2008 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Mar 11 14:12:03 2008 -0700"
      },
      "message": "IPoIB: Don\u0027t drop multicast sends when they can be queued\n\nWhen set_multicast_list() is called the multicast task is restarted\nand the IPOIB_MCAST_STARTED bit is cleared.  As a result for some\nwindow of time, multicast packets are not transmitted nor queued but\nrather dropped by ipoib_mcast_send().  These dropped packets are\npainful in two cases:\n\n - bonding fail-over which both calls set_multicast_list() on the new\n   active slave and sends Gratuitous ARP through that slave.\n\n - IP_DROP_MEMBERSHIP code which both calls set_multicast_list() on the\n   device and issues IGMP leave.\n\nIn both these cases, depending on the scheduling of the IPoIB\nmulticast task, the packets would be dropped.  As a result, in the\nbonding case, the failover would not be detected by the peers until\ntheir neighbour is renewed the neighbour (which takes a few tens of\nseconds).  In the IGMP case, the IP router doesn\u0027t get an IGMP leave\nand would only learn on that from further probes on the group (also a\ndelay of at least a few tens of seconds).\n\nFix this by allowing transmission (or queuing) depending on the\nIPOIB_FLAG_OPER_UP flag instead of the IPOIB_MCAST_STARTED flag.\n\nSigned-off-by: Olga Shern \u003colgas@voltaire.com\u003e\nSigned-off-by: Or Gerlitz \u003cogerlitz@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "d33ed425c6cc14370d8c418b504328d2c3db58b4",
      "tree": "a026c1189014d6dc8a972c7584a6150e84679f8e",
      "parents": [
        "9a378270c085080b2f38dee6308de4d8413b5141"
      ],
      "author": {
        "name": "Arne Redlich",
        "email": "arne.redlich@xiranet.com",
        "time": "Tue Mar 04 14:11:54 2008 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Mar 10 21:17:51 2008 -0700"
      },
      "message": "IB/iser: Handle iser_device allocation error gracefully\n\n\"iser_device\" allocation failure is \"handled\" with a BUG_ON() right\nbefore dereferencing the NULL-pointer - fix this!\n\nSigned-off-by: Arne Redlich \u003carne.redlich@xiranet.com\u003e\nSigned-off-by: Erez Zilber \u003cerezz@voltaire.com\u003e\n"
    },
    {
      "commit": "9a378270c085080b2f38dee6308de4d8413b5141",
      "tree": "347ce131d4b06f11430632ded2b6a257950a6193",
      "parents": [
        "4fa45725df0f00c2bf86a0fc2670e88bfe0ceee7"
      ],
      "author": {
        "name": "Arne Redlich",
        "email": "arne.redlich@xiranet.com",
        "time": "Tue Mar 04 14:07:22 2008 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Mar 10 21:15:49 2008 -0700"
      },
      "message": "IB/iser: Fix list iteration bug\n\nThe iteration through the list of \"iser_device\"s during device\nlookup/creation is broken -- it might result in an infinite loop if\nmore than one HCA is used with iSER.  Fix this by using\nlist_for_each_entry() instead of the open-coded flawed list iteration\ncode.\n\nSigned-off-by: Arne Redlich \u003carne.redlich@xiranet.com\u003e\nSigned-off-by: Erez Zilber \u003cerezz@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "ec229e5e81b3cf757e5e8b6a8bd0b4f32fe52f8c",
      "tree": "0a257aa06672c5212110390baafc09752f4ca425",
      "parents": [
        "9a4c8546f3e7c893888bccc2b3416d6214f2664a"
      ],
      "author": {
        "name": "Pradeep Satyanarayana",
        "email": "pradeeps@linux.vnet.ibm.com",
        "time": "Tue Feb 12 15:00:59 2008 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Feb 19 10:25:11 2008 -0800"
      },
      "message": "IPoIB/cm: Fix ipoib_cm_dev_stop() cleanup when drain times out\n\nCommit efcd9971 (\"IPoIB/cm: Factor out ipoib_cm_free_rx_reap_list()\")\nintroduced a bug in ipoib_cm_dev_stop() when the receive drain times\nout.  In that case, the function moves all the pending rx stuff into a\nprivate list but then calls ipoib_cm_free_rx_reap_list(), which\nhandles a different list.\n\nFix this by moving everything to the rx_reap_list that will actually\nget freed up.\n\nThis fixes \u003chttps://bugs.openfabrics.org/show_bug.cgi?id\u003d906\u003e.\n\nSigned-off-by: Pradeep Satyanarayana \u003cpradeeps@linux.vnet.ibm.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "a9d1884925c80b96a621939a4fef5d74de58debe",
      "tree": "89541ba3ecfbbf21a3d15f6e1905ca68563f34ae",
      "parents": [
        "167c42655cca188657aa9bb4e06d1194af3c73a5"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "time": "Thu Feb 14 13:15:28 2008 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Feb 14 10:30:50 2008 -0800"
      },
      "message": "IPoIB: Remove unused struct ipoib_cm_tx.ibwc member\n\nstruct ipoib_cm_tx.ibwc is unused since commit 1b524963 (\"IPoIB/cm:\nUse common CQ for CM send completions\"), so remove it.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\n"
    },
    {
      "commit": "167c42655cca188657aa9bb4e06d1194af3c73a5",
      "tree": "52e500e426a6d4a77acdc68333c6dcae0bc342c8",
      "parents": [
        "5163dc1a645bc9ed7984fa484f1a77378c166d23"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Wed Feb 13 16:23:50 2008 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Feb 14 10:15:06 2008 -0800"
      },
      "message": "IPoIB: On P_Key change event, reset state properly\n\nIn P_Key event handling, if the old P_Key is no longer available, the\ndriver must call ipoib_ib_dev_stop() -- just as it does when the P_Key\nis still available (see procedure __ipoib_ib_dev_flush()).\n\nWhen a P_Key becomes available, the driver will perform ipoib_open(),\nwhich assumes that the QP is in RESET, the cm_id has been\ndestroyed/deleted, etc.  If ipoib_ib_dev_stop() is not called as\ndescribed above, then these assumptions will be false, and the attempt\nto bring the interface up will fail.\n\nFound by Mellanox QA.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "7143740d26098aca84ecc7376ccfe2c58fd0412e",
      "tree": "c29029045ebdbe197f94ead3e1d6610f498f1880",
      "parents": [
        "eb14032f9eb595621270f3269f40094adb3144e8"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.co.il",
        "time": "Wed Jan 30 18:30:53 2008 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Feb 08 14:32:37 2008 -0800"
      },
      "message": "IPoIB: Add send gather support\n\nThis patch acts as a preparation for using checksum offload for IB\ndevices capable of inserting/verifying checksum in IP packets.  The\npatch does not actaully turn on NETIF_F_SG - we defer that to the\npatches adding checksum offload capabilities.\n\nWe only add support for send gathers for datagram mode, since existing\nHW does not support checksum offload on connected QPs.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@mellanox.co.il\u003e\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "eb14032f9eb595621270f3269f40094adb3144e8",
      "tree": "88c837fe13a5415e26e2744fd309a01e034832e2",
      "parents": [
        "ea54b10c7773007e173da31fe7adcc049da33331"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.co.il",
        "time": "Wed Jan 30 18:30:46 2008 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Feb 08 13:39:26 2008 -0800"
      },
      "message": "IPoIB: Add high DMA feature flag\n\nAll current InfiniBand devices can handle all DMA addresses, and it\u0027s\nhard to imagine anyone would be silly enough to build a new device\nthat couldn\u0027t.  Therefore, enable the NETIF_F_HIGHDMA feature for IPoIB.\n\nThis has no effect for no, but is needed when we enable gather/scatter\nsupport and checksum stateless offloads.\n\nSigned-off-by: Eli Cohen \u003celi@mellnaox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "9fe4bcf45ece0b0081031edaaa41581c85ef7049",
      "tree": "b4d7cd3aff19fe8802d71d031d79340962164434",
      "parents": [
        "893da75956ab48545e8732b46e1cf4350bd25f9c"
      ],
      "author": {
        "name": "David Dillow",
        "email": "dillowda@ornl.gov",
        "time": "Tue Jan 08 17:08:52 2008 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Feb 04 20:20:43 2008 -0800"
      },
      "message": "IB/srp: Retry stale connections\n\nWhen a host just goes away (crash, power loss, etc.) without tearing\ndown its IB connections, it can get stale connection errors when it\ntries to reconnect to targets upon rebooting.  Retrying the connection\na few times will prevent sysadmins from playing the \"which disk(s)\nwent missing?\" game.\n\nThis would have made things slightly quicker when tracking down some\nof the recent bugs, but it also helps quite a bit when you\u0027ve got a\nlarge number of targets hanging off a wedged server.\n\nSigned-off-by: David Dillow \u003cdillowda@ornl.gov\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "7bc531dd883b955e6198c8e202161f22d2e8c472",
      "tree": "509aaa21f88d024c422937339783fb7c41c94e44",
      "parents": [
        "bafff9741704959e99fb65a7327c017251019a19"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@voltaire.com",
        "time": "Tue Jan 29 12:57:56 2008 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Feb 04 20:20:43 2008 -0800"
      },
      "message": "IPoIB: Remove a misleading debug print\n\nCommit 732a2170 (\"IB/ipoib: Bound the net device to the ipoib_neigh\nstructue\") left a misleading debug print (n-\u003edev would be a bond\ndevice only if boding is used).  Clean it up.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "bafff9741704959e99fb65a7327c017251019a19",
      "tree": "571a380b5be9b35d46d76003d2b362a377eb7bbb",
      "parents": [
        "0d89fe2c0ca12ad2ee4e35a0661319746af6e94a"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@voltaire.com",
        "time": "Thu Jan 17 17:03:45 2008 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Feb 04 20:20:43 2008 -0800"
      },
      "message": "IPoIB: Handle bonding failover race for connected neighbours too\n\nMove up the code that checks for a situation where the remote GID\nstored in the ipoib_neigh is different than the one present in the\nneighbour (handle gratuitous ARP) or that a bonding fail over has\nhappened but the neighbour still has a pointer to an ipoib_neigh\ncreated by a different device than the current slave.  This will cause\nthe driver to apply the check also for connected mode neighbours.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "d3f46f39b7092594b498abc12f0c73b0b9913bde",
      "tree": "6d595bdecbdd41a958e05e425664209f5d71ecf1",
      "parents": [
        "b8de16318410f6f8611a879678a531237e4aadc9"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Tue Jan 15 11:11:46 2008 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 30 13:14:02 2008 -0600"
      },
      "message": "[SCSI] remove use_sg_chaining\n\nWith the sg table code, every SCSI driver is now either chain capable\nor broken (or has sg_tablesize set so chaining is never activated), so\nthere\u0027s no need to have a check in the host template.\n\nAlso tidy up the code by moving the scatterlist size defines into the\nSCSI includes and permit the last entry of the scatterlist pools not\nto be a power of two.\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "9b73e76f3cf63379dcf45fcd4f112f5812418d0a",
      "tree": "4e6bef87cd0cd6d848fc39a5ae25b981dbbe035b",
      "parents": [
        "50d9a126240f9961cfdd063336bbeb91f77a7dce",
        "23c3e290fb9ce38cabc2822b47583fc8702411bf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 17:19:08 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 17:19:08 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (200 commits)\n  [SCSI] usbstorage: use last_sector_bug flag universally\n  [SCSI] libsas: abstract STP task status into a function\n  [SCSI] ultrastor: clean up inline asm warnings\n  [SCSI] aic7xxx: fix firmware build\n  [SCSI] aacraid: fib context lock for management ioctls\n  [SCSI] ch: remove forward declarations\n  [SCSI] ch: fix device minor number management bug\n  [SCSI] ch: handle class_device_create failure properly\n  [SCSI] NCR5380: fix section mismatch\n  [SCSI] sg: fix /proc/scsi/sg/devices when no SCSI devices\n  [SCSI] IB/iSER: add logical unit reset support\n  [SCSI] don\u0027t use __GFP_DMA for sense buffers if not required\n  [SCSI] use dynamically allocated sense buffer\n  [SCSI] scsi.h: add macro for enclosure bit of inquiry data\n  [SCSI] sd: add fix for devices with last sector access problems\n  [SCSI] fix pcmcia compile problem\n  [SCSI] aacraid: add Voodoo Lite class of cards.\n  [SCSI] aacraid: add new driver features flags\n  [SCSI] qla2xxx: Update version number to 8.02.00-k7.\n  [SCSI] qla2xxx: Issue correct MBC_INITIALIZE_FIRMWARE command.\n  ...\n"
    },
    {
      "commit": "1cf18d5aab5144866cb5221250905623b03a32a9",
      "tree": "a4acb4c2039485572e81810bee76b916671454ab",
      "parents": [
        "c6b5b5047417c1becb5e48e748e3acb3801079a1"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Tue Jan 22 20:45:30 2008 +0100"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Jan 25 14:17:46 2008 -0800"
      },
      "message": "IPoIB: Constify seq_operations function pointer tables\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "48fe5e594c979177b7f20affd027be56e8ea2767",
      "tree": "7e2885c5f3ac8cd1abc4366b228088589f1ec917",
      "parents": [
        "3d68ea32611095c7e09409ac1b2a56da22fd5eb7"
      ],
      "author": {
        "name": "Krishna Kumar",
        "email": "krkumar2@in.ibm.com",
        "time": "Thu Nov 15 10:35:37 2007 +0530"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Jan 25 14:17:44 2008 -0800"
      },
      "message": "IPoIB: Remove redundant check of netif_queue_stopped() in xmit handler\n\nqdisc_run() now tests for queue_stopped() before calling\n__qdisc_run(), and the same check is done in every iteration of\n__qdisc_run(), so another check is not required in the driver xmit.\nThis means that ipoib_start_xmit() no longer needs to test\nnetif_queue_stopped(); the test was added to fix earlier kernels,\nwhere the networking stack did not guarantee that the xmit method of\nan LLTX driver would not be called after the queue was stopped, but\ncurrent kernels do provide this guarantee.\n\nTo validate, I put a debug in the TX_BUSY path which never hit with 64\nthreads running overnight exercising this code a few 100 million\ntimes.\n\nSigned-off-by: Krishna Kumar \u003ckrkumar2@in.ibm.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "6410627eb9804e541b83d220c8e914ce64475b31",
      "tree": "8ce0d4be69366fb19c2e71772d578ba065cdfd74",
      "parents": [
        "a4ef1451dfba92f51934e8331f634497b9ed3393"
      ],
      "author": {
        "name": "Erez Zilber",
        "email": "erezz@voltaire.com",
        "time": "Thu Jan 17 11:53:17 2008 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Jan 25 14:15:43 2008 -0800"
      },
      "message": "IB/iser: Add change_queue_depth method\n\nAdd a .change_queue_depth handler to the scsi_host_template in the\niSER driver.  iscsi_change_queue_depth was added to iscsi_tcp in order\nto solve the problem of queue depth which was too high for some\ntargets.  It is also applicable for iSER.\n\nSigned-off-by: Erez Zilber \u003cerezz@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "a4ef1451dfba92f51934e8331f634497b9ed3393",
      "tree": "049cdae2c051fd16d8c3bc2570cc078c4afe195e",
      "parents": [
        "a3cd7d9070be417a21905c997ee32d756d999b38"
      ],
      "author": {
        "name": "Erez Zilber",
        "email": "erezz@voltaire.com",
        "time": "Thu Jan 17 11:51:58 2008 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Jan 25 14:15:43 2008 -0800"
      },
      "message": "IB/iser: Print information about unhandled RDMA CM events\n\nSome RDMA CM events are not supported or not handled in iSER.\nThis patch adds some info (printk) for the user about them.\n\nSigned-off-by: Erez Zilber \u003cerezz@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "7aa54bd730df1468c90ae84b56ade7f322b44de7",
      "tree": "249aa5c24972a08f6550b2c83378aa921f64e6da",
      "parents": [
        "586a693448676de5174e752426ced69ec79ab174"
      ],
      "author": {
        "name": "David Dillow",
        "email": "dillowda@ornl.gov",
        "time": "Mon Jan 07 18:23:41 2008 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Jan 25 14:15:38 2008 -0800"
      },
      "message": "IB/srp: Add identifying information to log messages\n\nWhen you have multiple targets, it gets really confusing when you try\nto track down who did a reset when there is no identifying information\nin the log message, especially when the same extension ID is mapped\nthrough two different local IB ports.  So, add an identifier that can\nbe used to track back to which local IB port/remote target pair is the\none having problems.\n\nSigned-off-by: David Dillow \u003cdillowda@ornl.gov\u003e\nAcked-by: Pete Wyckoff \u003cpw@osc.edu\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "586a693448676de5174e752426ced69ec79ab174",
      "tree": "a42a760115ccdde07853428c485296ce364a9b7d",
      "parents": [
        "fff09a8e6e726f0752254e1f46f7224e3bebb302"
      ],
      "author": {
        "name": "Pradeep Satyanarayana",
        "email": "pradeeps@linux.vnet.ibm.com",
        "time": "Fri Dec 21 13:08:23 2007 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Jan 25 14:15:37 2008 -0800"
      },
      "message": "IPoIB/CM: Enable SRQ support on HCAs that support fewer than 16 SG entries\n\nSome HCAs (such as ehca2) support SRQ, but only support fewer than 16 SG\nentries for SRQs.  Currently IPoIB/CM implicitly assumes all HCAs will\nsupport 16 SG entries for SRQs (to handle a 64K MTU with 4K pages). This\npatch removes that restriction by limiting the maximum MTU in connected\nmode to what the maximum number of SRQ SG entries allows.\n\nThis patch addresses \u003chttps://bugs.openfabrics.org/show_bug.cgi?id\u003d728\u003e\n\nSigned-off-by: Pradeep Satyanarayana \u003cpradeeps@linux.vnet.ibm.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "fff09a8e6e726f0752254e1f46f7224e3bebb302",
      "tree": "54e5b987ede7eadd3d8b4b84aee94b18b6c5ba74",
      "parents": [
        "8cba2077325b361dedf058c7dfc6c33691422497"
      ],
      "author": {
        "name": "David Dillow",
        "email": "dillowda@ornl.gov",
        "time": "Wed Dec 19 17:09:15 2007 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Jan 25 14:15:37 2008 -0800"
      },
      "message": "IB/srp: Enable SG list chaining\n\nBy default, the SCSI mid-layer seems to send down 512KB requests\n(sg_tablesize \u003d 256), with some requests occasionally combined. By\nallowing the mid-layer to chain requests, we can easily grow to 1024KB\nor larger -- I\u0027ve tested 4096KB I/O requests with no problems.\n\nI looked through the DMA paths on the hardware drivers to ensure they\ncould take advantage of the SG chaining, and it seems that every one\nexcept ipath uses the system\u0027s DMA routines, which have been converted\nto handle chaining.  ipath looks like it should be OK, but I have no\nway to test it.\n\nSigned-off-by: David Dillow \u003cdillowda@ornl.gov\u003e\n\n[ Tested on ipath.  - Roland ]\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "8cba2077325b361dedf058c7dfc6c33691422497",
      "tree": "def0972f32f690ac7107cbeabdf7c0547abf8f87",
      "parents": [
        "a9e527e3f9f4510e9f3450ca3bc51bc3ef2854fd"
      ],
      "author": {
        "name": "David Dillow",
        "email": "dillowda@ornl.gov",
        "time": "Wed Dec 19 17:08:43 2007 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Jan 25 14:15:37 2008 -0800"
      },
      "message": "IB/srp: Respect target credit limit\n\nThe current SRP initiator will send requests even if it has no credits\navailable.  The results of sending extra requests are vendor specific,\nbut on some devices, overrunning credits will cost 85% of peak\nperformance -- e.g. 100 MB/s vs 720 MB/s.  Other devices may just drop\nthe requests.\n\nThis patch will tell the SCSI midlayer to queue requests if there are\nfewer than two credits remaining, and will not issue a task management\nrequest if there are no credits remaining.  The mid-layer will retry\nthe queued command once an outstanding command completes.\n\nThe patch also removes the unlikely() in __srp_get_tx_iu(), as it is\nnot at all unlikely to hit this limit under heavy load.\n\nSigned-off-by: David Dillow \u003cdillowda@ornl.gov\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "a9e527e3f9f4510e9f3450ca3bc51bc3ef2854fd",
      "tree": "519458581cf3b8dd7c7a6d19c29572efb3405df1",
      "parents": [
        "755807a296f77ca7c31dc000afdfe1e5172bbf72"
      ],
      "author": {
        "name": "Rolf Manderscheid",
        "email": "rvm@obsidianresearch.com",
        "time": "Mon Dec 10 13:38:41 2007 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Jan 25 14:15:37 2008 -0800"
      },
      "message": "IPoIB: improve IPv4/IPv6 to IB mcast mapping functions\n\nAn IPoIB subnet on an IB fabric that spans multiple IB subnets can\u0027t\nuse link-local scope in multicast GIDs.  The existing routines that\nmap IP/IPv6 multicast addresses into IB link-level addresses hard-code\nthe scope to link-local, and they also leave the partition key field\nuninitialised.  This patch adds a parameter (the link-level broadcast\naddress) to the mapping routines, allowing them to initialise both the\nscope and the P_Key appropriately, and fixes up the call sites.\n\nThe next step will be to add a way to configure the scope for an IPoIB\ninterface.\n\nSigned-off-by: Rolf Manderscheid \u003crvm@obsidianresearch.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "38dc732f47948b9f91ae846806159a16aab1015f",
      "tree": "146727b7fcbccbee175af48288e085968d0871c3",
      "parents": [
        "bd5d7a8585bb196a03655b25d2ec6395a491cd01"
      ],
      "author": {
        "name": "Oliver Pinter",
        "email": "oliver.pntr@gmail.com",
        "time": "Fri Jan 25 14:15:32 2008 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Jan 25 14:15:32 2008 -0800"
      },
      "message": "IB/iser: Typo fix (s/destory/destroy/)\n\nSigned-off-by: Oliver Pinter \u003coliver.pntr@gmail.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "bd5d7a8585bb196a03655b25d2ec6395a491cd01",
      "tree": "2a10b7fc7b9f025aaa532b5dd20c5da0e0b6050e",
      "parents": [
        "88314e4dda1e158aabce76429ef4d017b48f8b92"
      ],
      "author": {
        "name": "Erez Zilber",
        "email": "erezz@voltaire.com",
        "time": "Fri Jan 25 14:15:32 2008 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Jan 25 14:15:32 2008 -0800"
      },
      "message": "IB/iser: update URLs of iSER docs\n\nSigned-off-by: Erez Zilber \u003cerezz@voltaire.com\u003e\n"
    },
    {
      "commit": "908cf9a565348b5a6d765d120cb189a568ea4883",
      "tree": "ee37f9cbeb6631eb0d6ca82d24d6f0bc003ab726",
      "parents": [
        "2c45688faed1b19583c388694025e39001b68c8d"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Nov 19 17:48:11 2007 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Jan 25 14:15:26 2008 -0800"
      },
      "message": "drivers/infiniband: Add missing \"space\"\n\nAdd missing spaces in the middle of format strings.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "68e995a295720439ad2bf8677114cdf9d262d905",
      "tree": "24de129501f4fb576f1fc9eef90900a342707278",
      "parents": [
        "efcd99717f76c6d19dd81203c60fe198480de522"
      ],
      "author": {
        "name": "Pradeep Satyanarayana",
        "email": "pradeeps@linux.vnet.ibm.com",
        "time": "Fri Jan 25 14:15:24 2008 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Jan 25 14:15:24 2008 -0800"
      },
      "message": "IPoIB/cm: Add connected mode support for devices without SRQs\n\nSome IB adapters (notably IBM\u0027s eHCA) do not implement SRQs (shared\nreceive queues).  The current IPoIB connected mode support only works\non devices that support SRQs.\n\nFix this by adding support for using the receive queue of each\nconnected mode receive QP.  The disadvantage of this compared to using\nan SRQ is that it means a full queue of receives must be posted for\neach remote connected mode peer, which means that total memory usage\nis potentially much higher than when using SRQs.  To manage this, add\na new module parameter \"max_nonsrq_conn_qp\" that limits the number of\nconnections allowed per interface.\n\nThe rest of the changes are fairly straightforward: we use a table of\nstruct ipoib_cm_rx to hold all the active connections, and put the\ntable index of the connection in the high bits of receive WR IDs.\nThis is needed because we cannot rely on the struct ib_wc.qp field for\nnon-SRQ receive completions.  Most of the rest of the changes just\ntest whether or not an SRQ is available, and post receives or find\nreceived packets in the right place depending on the answer.\n\nCleaning up dead connections actually becomes simpler, because we do\nnot have to do the \"last WQE reached\" dance that is required to\ndestroy QPs attached to an SRQ.  We just move the QP to the error\nstate and wait for all pending receives to be flushed.\n\nSigned-off-by: Pradeep Satyanarayana \u003cpradeeps@linux.vnet.ibm.com\u003e\n\n[ Completely rewritten and split up, based on Pradeep\u0027s work.  Several\n  bugs fixed and no doubt several bugs introduced.  - Roland ]\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "efcd99717f76c6d19dd81203c60fe198480de522",
      "tree": "684815ced67fd8443fe9e039cba4b4909c1f73ce",
      "parents": [
        "7b3687df66cab4ecd6efb42cfa0c7de60cc4e3b9"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Jan 25 14:15:24 2008 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Jan 25 14:15:24 2008 -0800"
      },
      "message": "IPoIB/cm: Factor out ipoib_cm_free_rx_reap_list()\n\nFactor out the code for going through the rx_reap list of struct\nipoib_cm_rx and freeing each one.  This consolidates the code\nduplicated between ipoib_cm_dev_stop() and ipoib_cm_rx_reap() and\nreduces the risk of error when adding additional accounting.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "7b3687df66cab4ecd6efb42cfa0c7de60cc4e3b9",
      "tree": "8a5369a9fb1d4c645833852bec9d29bf3319e5ea",
      "parents": [
        "1efb61444ca3a598dfafb7a6c573c5d5d42d3432"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Jan 25 14:15:24 2008 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Jan 25 14:15:24 2008 -0800"
      },
      "message": "IPoIB/cm: Factor out ipoib_cm_create_srq()\n\nFactor out the code to create an SRQ and allocate the receive ring in\nipoib_cm_dev_init() into a new function ipoib_cm_create_srq().  This\nwill make the code neater when support for devices that don\u0027t implement\nSRQs is added.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "1efb61444ca3a598dfafb7a6c573c5d5d42d3432",
      "tree": "bcc6fde51f22f89f9dc86f7555956ef245996896",
      "parents": [
        "2337f80941ac22f747ce6fd2c7a79e91d911a3ce"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Jan 25 14:15:24 2008 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Jan 25 14:15:24 2008 -0800"
      },
      "message": "IPoIB/cm: Factor out ipoib_cm_free_rx_ring()\n\nFactor out the code to unmap/free skbs and free the receive ring in\nipoib_cm_dev_cleanup() into a new function ipoib_cm_free_rx_ring().\nThis function will be called from a couple of other places when\nsupport for devices that don\u0027t implement SRQs is added.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "2337f80941ac22f747ce6fd2c7a79e91d911a3ce",
      "tree": "e813aa78a5ec8fc07bad4826ac083ac83ae35f5c",
      "parents": [
        "657c2f2cbccbac88689ac5174fc13dd3f9aece34"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Oct 23 19:57:54 2007 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Jan 25 14:15:23 2008 -0800"
      },
      "message": "IPoIB: Trivial formatting cleanups\n\nFix whitespace blunders, convert \"foo* bar\" to \"foo *bar\", etc.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "90c18f3c280f80e0bfbab7c1fc4b282842ccb853",
      "tree": "b03d7a6d5e0fddc0adcf46028b0bf9fe1799f8ad",
      "parents": [
        "5b7f16804ad90e7f7a10c05b6a2e782598d9745a"
      ],
      "author": {
        "name": "Erez Zilber",
        "email": "erezz@voltaire.com",
        "time": "Tue Jan 22 12:06:25 2008 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 23 13:39:43 2008 -0600"
      },
      "message": "[SCSI] IB/iSER: add logical unit reset support\n\neh_device_reset_handler was already added to scsi_host_template\nin iscsi_tcp, and is now added also for iscsi_iser.\n\nSigned-off-by: Erez Zilber \u003cerezz@voltaire.com\u003e\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "a8ac6311cc21d78fa284cd43f56df2063f536bf1",
      "tree": "c408dcccab2854dd9dd1775b5971ea60b34127dd",
      "parents": [
        "1040c99d9fd9de2bf00efae6d91014f890575bdb"
      ],
      "author": {
        "name": "Olaf Kirch",
        "email": "olaf.kirch@oracle.com",
        "time": "Thu Dec 13 12:43:35 2007 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Jan 11 18:28:42 2008 -0600"
      },
      "message": "[SCSI] iscsi: convert xmit path to iscsi chunks\n\nConvert xmit to iscsi chunks.\n\nfrom michaelc@cs.wisc.edu:\n\nBug fixes, more digest integration, sg chaining conversion and other\nsg wrapper changes, coding style sync up, and removal of io fields,\nlike pdu_sent, that are not needed.\n\nSigned-off-by: Olaf Kirch \u003colaf.kirch@oracle.com\u003e\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "f6d5180c78780d63b0577edeb3ce41eeb3e93eea",
      "tree": "95eb44fb84dd7659f816c5f1166c1ae7e2301f5f",
      "parents": [
        "2697478903d0ad8bdbf868b1346ae4b891662bb1"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Thu Dec 13 12:43:30 2007 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Jan 11 18:28:35 2008 -0600"
      },
      "message": "[SCSI] libiscsi: fix nop handling\n\nDuring root boot and shutdown the target could send us nops.\nAt this time iscsid cannot be running, so the target will drop\nthe session and the boot or shutdown will hang.\n\nTo handle this and allow us to better control when to check the network\nthis patch moves the nop handling to the kernel.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "b3a7ea8d50f6028964b468d13a095dfb2508b2fb",
      "tree": "47cc070e1761208e7e6448a0eb8ca3567e27a462",
      "parents": [
        "6320377fd94316e58f75d0be6f6e7a644950a4ee"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Thu Dec 13 12:43:26 2007 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Jan 11 18:28:28 2008 -0600"
      },
      "message": "[SCSI] libiscsi: do not block session during logout\n\nThere is not need to block the session during logout. Since\nwe are going to fail the commands that were blocked just fail them\nimmediately instead.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "38ad03de3fd350e683213ddf898a7049534628a8",
      "tree": "dd543bcfd0c3729be02572e816fe8fd1067ed451",
      "parents": [
        "004d6530f83bee43a55b51bb5960db96e7ae0ffa"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "boazharrosh@gmail.com",
        "time": "Thu Dec 13 12:43:24 2007 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Jan 11 18:28:25 2008 -0600"
      },
      "message": "[SCSI] libiscsi,iser: patch for AHS support\n\n  - The default initialization of hdr_max is the minimum -\n    sizeof(struct iscsi_cmd) - Once this patch goes into iser the default\n    initialization at libiscsi can be removed.\n  - This is not yet full support for AHSs at iser end. But it should be easy.\n    Just allocate more space at iser_desc right after iscsi_hdr. Than\n    at transmission time use ctask-\u003ehdr_len to retrieve the total\n    size of all iscsi pdu headers. See previous patch at iscsi_tcp.[ch]\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "843c0a8a76078cf961b244b839683d0667313740",
      "tree": "3feaf71c8e67f38e10e78e315bbc8623dcf38a3d",
      "parents": [
        "8ae732a91df051aba6820068a47b631a06599d84"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Thu Dec 13 12:43:20 2007 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Jan 11 18:28:19 2008 -0600"
      },
      "message": "[SCSI] libiscsi, iscsi_tcp: add device support\n\nThis patch adds logical unit reset support. This should work for ib_iser,\nbut I have not finished testing that driver so it is not hooked in yet.\n\nThis patch also temporarily reverts the iscsi_tcp r2t write out patch.\nThat code is completely rewritten in this patchset.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "ad696989b4a2fce8494964814376aef41da3ff55",
      "tree": "0eb3f2655c76ca8a92e7f2996b41fea4ee90d90e",
      "parents": [
        "e1bb7843e4c25e6e331890a2ca512581e844bbaa"
      ],
      "author": {
        "name": "Dave Dillow",
        "email": "dillowda@ornl.gov",
        "time": "Thu Jan 03 22:35:41 2008 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Jan 08 12:08:10 2008 -0800"
      },
      "message": "IB/srp: Release transport before removing host\n\nThe documented call sequence for removing a host is to call the\ntransport xxx_remove_host() prior to scsi_remove_host(). The SRP\ntransport used to crash when that order was followed, but as it is now\nfixed, use the documented order.\n\nSigned-off-by: David Dillow \u003cdillowda@ornl.gov\u003e\nAcked-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "b0e47c8b79154772a436f25bf7646733e1d6194c",
      "tree": "48d4b1232975de4b12b57e4919665e7cc93ccb14",
      "parents": [
        "b8c9a18712f7b617fda66d878ce3759c9e575ba0"
      ],
      "author": {
        "name": "David Dillow",
        "email": "dillowda@ornl.gov",
        "time": "Thu Jan 03 10:25:27 2008 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Jan 03 10:25:27 2008 -0800"
      },
      "message": "IB/srp: Fix list corruption/oops on module reload\n\nAdd a missing call to srp_remove_host() in srp_remove_one() so that we \ndon\u0027t leak SRP transport class list entries.\n\nTested-by: David Dillow \u003cdillowda@ornl.gov\u003e\nAcked-by: FUJITA Tomonori \u003ctomof@acm.org\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "1401b53acc0328d96bacb2a3393d2852699df96b",
      "tree": "1f6ac801ec6c4c5b8ced21cd55449212ecd93dd1",
      "parents": [
        "7749c902592f610dc448830210174ab922f54be9"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Mon Nov 26 10:41:19 2007 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Nov 27 15:40:10 2007 -0800"
      },
      "message": "IPoIB: Fix oops if xmit is called when priv-\u003ebroadcast is NULL\n\nIf a port goes down, ipoib_ib_dev_down() is invoked -- which flushes\nthe mcasts (clearing priv-\u003ebroadcast) and clearing the path record\ncache.  If ipoib_start_xmit() is then invoked (before the broadcast\ngroup is rejoined), a kernel oops results from attempting to access\npriv-\u003ebroadcast, which is still unset.\n\nReturning NULL from path_rec_create() if priv-\u003ebroadcast is NULL is a\nharmless way of bypassing the problem -- the offending packet is\nsimply discarded \"without prejudice.\"\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "a316b79c3306c59176d7ae04e4aad12374dfed37",
      "tree": "59f20bf4fbea3527a531cd1e4c02cc1f2bd7a2b0",
      "parents": [
        "3fe2ed344d4b36e7489b1d0c7cf677312b0bf870"
      ],
      "author": {
        "name": "Erez Zilber",
        "email": "erezz@voltaire.com",
        "time": "Wed Nov 21 13:11:37 2007 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sat Nov 24 13:50:39 2007 -0800"
      },
      "message": "IB/iser: Add missing counter increment in iser_data_buf_aligned_len()\n\nWhile adding sg chaining support to iSER, a \"for\" loop was replaced\nwith a \"for_each_sg\" loop. The \"for\" loop included the incrementation\nof 2 variables. Only one of them is incremented in the current\n\"for_each_sg\" loop. This caused iSER to think that all data is\nunaligned, and all data was copied to aligned buffers.\n\nThis patch increments the missing counter inside the \"for_each_sg\"\nloop whenever necessary.\n\nSigned-off-by: Erez Zilber \u003cerezz@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "09f60f8f54c5e2391f0b7c38dccd7b00d83587ab",
      "tree": "4d296b98490e9f30b6a2f06e1676f3cdb8eb646a",
      "parents": [
        "0b776eb5426752d4e53354ac89e3710d857e09a7"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Oct 26 13:44:25 2007 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Oct 26 13:44:25 2007 -0700"
      },
      "message": "IPoIB/cm: Fix receive QP cleanup\n\nCommit 1b524963 (\"IPoIB/cm: Use common CQ for CM send completions\")\nchanged how the high-order bits of work request IDs were used, which\nhad the effect that IPOIB_CM_RX_DRAIN_WRID was no longer handled as a\nconnected mode receive completion.  This leads to the messages\n\n    ib1: cm send completion event with wrid 1073741823 (\u003e 64)\n    ib1: RX drain timing out\n\nwhen an interface with connected mode QPs is brought down.  Fix this\nby making sure that both IPOIB_OP_CM and IPOIB_OP_RECV are set in\nIPOIB_CM_RX_DRAIN_WRID.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "0b776eb5426752d4e53354ac89e3710d857e09a7",
      "tree": "1eebeeaabab90de5834b32e72d2e259dc8a4a635",
      "parents": [
        "0d6810091cdbd05efeb31654c6a41a6cbdfdd2c8",
        "77109cc2823f025ccd66ebd9b88fbab90437b2d8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 23 09:56:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 23 09:56:11 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:\n  mlx4_core: Increase command timeout for INIT_HCA to 10 seconds\n  IPoIB/cm: Use common CQ for CM send completions\n  IB/uverbs: Fix checking of userspace object ownership\n  IB/mlx4: Sanity check userspace send queue sizes\n  IPoIB: Rewrite \"if (!likely(...))\" as \"if (unlikely(!(...)))\"\n  IB/ehca: Enable large page MRs by default\n  IB/ehca: Change meaning of hca_cap_mr_pgsize\n  IB/ehca: Fix ehca_encode_hwpage_size() and alloc_fmr()\n  IB/ehca: Fix masking error in {,re}reg_phys_mr()\n  IB/ehca: Supply QP token for SRQ base QPs\n  IPoIB: Use round_jiffies() for ah_reap_task\n  RDMA/cma: Fix deadlock destroying listen requests\n  RDMA/cma: Add locking around QP accesses\n  IB/mthca: Avoid alignment traps when writing doorbells\n  mlx4_core: Kill mlx4_write64_raw()\n"
    },
    {
      "commit": "45711f1af6eff1a6d010703b4862e0d2b9afd056",
      "tree": "3d0048f46e3df9d217d56127462ebe680348bd5a",
      "parents": [
        "78c2f0b8c285c5305b3e67b0595200541e15eb43"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 22 21:19:53 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 22 21:19:53 2007 +0200"
      },
      "message": "[SG] Update drivers to use sg helpers\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1b524963fd2d7fb20ea68df497151aa9d17fbca4",
      "tree": "71c6514ea9860027de2180a0470e672654650acc",
      "parents": [
        "cbfb50e6e2e9c580848c0f51d37c24cdfb1cb704"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@mellanox.co.il",
        "time": "Thu Aug 16 15:36:16 2007 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Oct 19 21:39:34 2007 -0700"
      },
      "message": "IPoIB/cm: Use common CQ for CM send completions\n\nUse the same CQ for CM send completions as for all other IPoIB\ncompletions.  This means all completions are processed via the same\nNAPI polling routine.  This should help reduce the number of\ninterrupts for bi-directional traffic (such as TCP) and fixes \"driver\nis hogging interrupts\" errors reported for IPoIB send side, e.g.\n\u003chttps://bugs.openfabrics.org/show_bug.cgi?id\u003d508\u003e\n\nTo do this, keep a per-interface counter of outstanding send WRs, and\nstop the interface when this counter reaches the send queue size to\navoid CQ overruns.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "fd312561adcc90e924f35d3032d5493aeb4c3017",
      "tree": "5a69996b93124a8beeb589007324a8a33a7c2fa8",
      "parents": [
        "8da9ee9c1ec9036d8fad82f6ddbc4d15143cc6ca"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Oct 17 21:54:44 2007 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Oct 17 21:54:44 2007 -0700"
      },
      "message": "IPoIB: Rewrite \"if (!likely(...))\" as \"if (unlikely(!(...)))\"\n    \nIt\u0027s too hard to figure out what \"!likely(...)\" really means, and who\nknows how compilers interpret the hint.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "69fc507a1424ce31d2096be5b1e5b1750bdfe235",
      "tree": "4b07024cdba9b650e8c30f9906be49750eda2fb9",
      "parents": [
        "d02d1f5359e795bac9a4461698521680cddd782b"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Mon Oct 15 00:50:56 2007 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Oct 16 12:28:56 2007 -0700"
      },
      "message": "IPoIB: Use round_jiffies() for ah_reap_task\n\nUse round_jiffies() to align the 1 second ah_reap_task with other work\nand potentially save power by sleeping cores for longer.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "53d412fce05e73dd0b25b0ebfa83c7ee94f16451",
      "tree": "3aca42d6408bfcded0d5e829a9446a1c04af9b21",
      "parents": [
        "51cf22495ae2fe60ba28123e04059cff4ddd9461"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 24 14:41:13 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 16 11:20:59 2007 +0200"
      },
      "message": "infiniband: sg chaining support\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    }
  ],
  "next": "200d1713b47200aa478f27e454e3d957264d49be"
}
