)]}'
{
  "log": [
    {
      "commit": "426d266c12e9116497e3055212f823a56e1a6914",
      "tree": "c65828dd2f7aca6da8267f2a405ba39789eb6581",
      "parents": [
        "20e6926dcbafa1b361f1c29d967688be14b6ca4b",
        "3e34c1fc2b51f117045e4a2472572f14ac91df6e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 02 11:42:16 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 02 11:42:16 2013 -0800"
      },
      "message": "Merge tag \u0027scsi-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi\n\nPull SCSI updates from James Bottomley:\n \"This is an assorted set of stragglers into the merge window with\n  driver updates for qla2xxx, megaraid_sas, storvsc and ufs.\n\n  It also includes pulls of the uapi tree (all the remaining SCSI\n  pieces) and the fcoe tree (updates to fcoe and libfc)\"\n\n* tag \u0027scsi-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (81 commits)\n  [SCSI] ufs: Separate PCI code into glue driver\n  [SCSI] ufs: Segregate PCI Specific Code\n  [SCSI] scsi: fix lpfc build when wmb() is defined as mb()\n  [SCSI] storvsc: Handle dynamic resizing of the device\n  [SCSI] storvsc: Restructure error handling code on command completion\n  [SCSI] storvsc: avoid usage of WRITE_SAME\n  [SCSI] aacraid: suppress two GCC warnings\n  [SCSI] hpsa: check for dma_mapping_error in hpsa_passthru ioctls\n  [SCSI] hpsa: reorganize error handling in hpsa_passthru_ioctl\n  [SCSI] hpsa: check for dma_mapping_error in hpsa_map_sg_chain_block\n  [SCSI] hpsa: Check for dma_mapping_error for all code paths using fill_cmd\n  [SCSI] hpsa: Check for dma_mapping_error in hpsa_map_one\n  [SCSI] dc395x: uninitialized variable in device_alloc()\n  [SCSI] Fix range check in scsi_host_dif_capable()\n  [SCSI] storvsc: Initialize the sglist\n  [SCSI] mpt2sas: Add support for OEM specific controller\n  [SCSI] ipr: Fix oops while resetting an ipr adapter\n  [SCSI] fnic: Fnic Trace Utility\n  [SCSI] fnic: New debug flags and debug log messages\n  [SCSI] fnic: fnic driver may hit BUG_ON on device reset\n  ...\n"
    },
    {
      "commit": "3e34c1fc2b51f117045e4a2472572f14ac91df6e",
      "tree": "12c7c79931e657483f965bc944861bc8a6a9694d",
      "parents": [
        "c157750a901d767ecb95f1dbabd0972dee396b1e",
        "1f953b0dbc2549318afcc0a70af5542dffbce34a"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Fri Mar 01 09:09:51 2013 +0000"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Fri Mar 01 09:10:08 2013 +0000"
      },
      "message": "[SCSI] Merge tag \u0027fcoe-02-19-13\u0027 into for-linus\n\nFCoE Updates for 3.9\n\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "c157750a901d767ecb95f1dbabd0972dee396b1e",
      "tree": "c60874bc22cbcea6fb2ef32f71251a1771527169",
      "parents": [
        "e0eca63e342124cff4307eafb43908cab5b3cf88",
        "ee7afd717c26299c85675d84c7ff89a9c989f4fa"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Fri Mar 01 09:08:44 2013 +0000"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Fri Mar 01 09:08:44 2013 +0000"
      },
      "message": "Merge tag \u0027uapi-20121219\u0027 into for-linus\n\nUAPI Disintegration 2012-12-19\n\nThis is the remaining SCSI part of the UAPI\n\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "4d24834dfd25f2dab5977241cd5a6662edde92f7",
      "tree": "c6ab1936fcef076629dd2c54bd076d58e8c75951",
      "parents": [
        "9d2696e658ef4f209955ddaa987d43f1a1bd81a1"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Wed Sep 26 22:39:44 2012 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 24 09:26:18 2013 +0000"
      },
      "message": "[SCSI] Fix range check in scsi_host_dif_capable()\n\nThe range checking from fe542396 was bad. We would still end up walking\nbeyond the array as Type 3 is defined to be 4 in the protection\nbitmask. Instead use ARRAY_SIZE() for the range check.\n\nReported-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "44ec657be09e36091281674a5702f1c43ce22d94",
      "tree": "67182e79b73553b82d18d8fb9b151f31c1e3e4cc",
      "parents": [
        "6f4c827e68a78731c6c75df69bf7b75b029ec70c"
      ],
      "author": {
        "name": "Aaron Lu",
        "email": "aaron.lu@intel.com",
        "time": "Wed Jan 23 15:09:33 2013 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri Jan 25 15:36:50 2013 -0500"
      },
      "message": "[SCSI] remove can_power_off flag from scsi_device\n\nCommit 166a2967b45ede2e2e56f3ede3cd32053dc17812 \"libata: tell scsi layer\ndevice supports runtime power off\" introduced the can_power_off flag for\nscsi_device and is used to support ZPODD implementation in SCSI layer.\nSince ZPODD is now implemented in ATA layer, that flag is no longer\nneeded, so remove it.\n\nSigned-off-by: Aaron Lu \u003caaron.lu@intel.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "6f4c827e68a78731c6c75df69bf7b75b029ec70c",
      "tree": "5113f12fc6fd5c7e2769aa19c2a1bb59ea647652",
      "parents": [
        "6c7f1e2f12f6f37ddda01180c9e5c407eccce616"
      ],
      "author": {
        "name": "Aaron Lu",
        "email": "aaron.lu@intel.com",
        "time": "Wed Jan 23 15:09:32 2013 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri Jan 25 15:36:43 2013 -0500"
      },
      "message": "[libata] scsi: no poll when ODD is powered off\n\nWhen the ODD is powered off, any action the user did to the ODD that\nwould generate a media event will trigger an ACPI interrupt, so the\npoll for media event is no longer necessary. And the poll will also\ncause a runtime status change, which will stop the ODD from staying in\npowered off state, so the poll should better be stopped.\n\nBut since we don\u0027t have access to the gendisk structure in LLDs, here\ncomes the disk_events_disable_depth for scsi device. This field is a\nhint set by LLDs to convey information to upper layer drivers. A value\nof 0 means media poll is necessary for the device, while values above 0\nmeans media poll is not needed and should better be skipped. So we can\nincrease its value when we are to power off the ODD in ATA layer and\ndecrease its value when the ODD is powered on, effectively silence the\nmedia events poll.\n\nSigned-off-by: Aaron Lu \u003caaron.lu@intel.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "cf02820041668b14cbfa0fbd2bab45ac79bd6174",
      "tree": "0336e4e8f761ffcd979db30d853b84be205391fe",
      "parents": [
        "4f670ff8eb4cb3e9e6ae0c0c6976faa0a4503751"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Dec 19 16:07:25 2012 +0000"
      },
      "committer": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Mon Jan 07 14:58:36 2013 -0800"
      },
      "message": "UAPI: (Scripted) Disintegrate include/scsi/fc\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "ee7afd717c26299c85675d84c7ff89a9c989f4fa",
      "tree": "f4958ba35d76fd61a9215d06314a9378881fc4d1",
      "parents": [
        "752451f01c4567b506bf4343082682dbb8fb30dd"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Dec 19 16:07:23 2012 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Dec 19 16:07:23 2012 +0000"
      },
      "message": "UAPI: (Scripted) Disintegrate include/scsi\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "57c2728fa806aff08703e5739620454d723bc865",
      "tree": "4dda55f3f75f367a882718ff61b99a7e650a0e1c",
      "parents": [
        "03702689fcc985e9cb45b57099ebd5066f674739"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Thu Dec 06 06:24:13 2012 +0000"
      },
      "committer": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Fri Dec 14 10:38:55 2012 -0800"
      },
      "message": "libfcoe, fcoe: consolidate the fcoe_ctlr_get_lesb/fcoe_get_lesb\n\nSimilarly they can be moved into libfcoe instead of being private to fcoe now.\nAlso add comments particularly on the term LESB to the corresponding function.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nCc: Bhanu Prakash Gollapudi \u003cbprakash@broadcom.com\u003e\nTested-by: Marcus Dennis \u003cmarcusx.e.dennis@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\n"
    },
    {
      "commit": "03702689fcc985e9cb45b57099ebd5066f674739",
      "tree": "10079124d57a604c30ccfbda79ac697e362391e2",
      "parents": [
        "66524ec9d0aeaa8bc59077c7c5f78d09ec9eeb9d"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Thu Dec 06 06:23:58 2012 +0000"
      },
      "committer": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Fri Dec 14 10:38:55 2012 -0800"
      },
      "message": "libfcoe, fcoe: move fcoe_link_speed_update() to libfcoe and export it\n\nWith the previous patch, fcoe_link_speed_update() can be moved into libfcoe and\nexported to used by fcoe, bnx2fc, and etc.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nCc: Bhanu Prakash Gollapudi \u003cbprakash@broadcom.com\u003e\nTested-by: Marcus Dennis \u003cmarcusx.e.dennis@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\n"
    },
    {
      "commit": "66524ec9d0aeaa8bc59077c7c5f78d09ec9eeb9d",
      "tree": "dbdae89a6732c5c6dd155c84fd48bf1166589723",
      "parents": [
        "8106fb4790c33547a034db53f7658bccd3cfbf6b"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Thu Dec 06 06:23:43 2012 +0000"
      },
      "committer": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Fri Dec 14 10:38:55 2012 -0800"
      },
      "message": "fcoe: add support to the get_netdev() for fcoe_interface\n\nAdds support to fcoe_port\u0027s newly added get_netdev fucntion pointer.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nCc: Bhanu Prakash Gollapudi \u003cbprakash@broadcom.com\u003e\nTested-by: Marcus Dennis \u003cmarcusx.e.dennis@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\n"
    },
    {
      "commit": "8106fb4790c33547a034db53f7658bccd3cfbf6b",
      "tree": "6412d80ba43bbf6d6e95b57e33debd49591882ba",
      "parents": [
        "8e6c5363dc52afbc60011c2c079bf4c4d26b1272"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Thu Dec 06 06:23:27 2012 +0000"
      },
      "committer": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Fri Dec 14 10:38:55 2012 -0800"
      },
      "message": "fcoe: prep work to start consolidate the usage of fcoe_netdev\n\nCurrently, in the default kernel fcoe driver, it is needed to get to the underlying\nprivate per fcoe transport\u0027s private structure, e.g., fcoe_interface in\nfcoe.ko, and returns the associated netdev. The similar logic exists in other\nfcoe drivers, e.g., bnx2fc, so we add a function pointer into the common\nfcoe_port struct to allow individual fcoe transport implementaion (fcoe\nand bnx2fc) to get the corresponding netdev associated with a give lport.\n\nThen a inline fcoe_get_netdev() is added as part of libfcoe for all underlying\nfcoe transport drivers to use regardless of its individual fcoe transport\ndriver, and also allows move more common code such as fcoe_link_speed_update or\nfcoe_ctlr_get_lesb to be in libfcoe, rather than specific to fcoe.\n\nThis patch is a prep work that adds aforementioned fucntion pointer, and\nfollowed by the actual code changes to make use of it.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nCc: Bhanu Prakash Gollapudi \u003cbprakash@broadcom.com\u003e\nTested-by: Marcus Dennis \u003cmarcusx.e.dennis@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\n"
    },
    {
      "commit": "6a891b071b640e1de44c4a5117fa2c974dcfa84a",
      "tree": "cd40772ab35844d21ae44ad4a16fec4246b5f21f",
      "parents": [
        "3993de6183885a099163b9562a2ea9c07b994a0e"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Tue Nov 27 06:53:30 2012 +0000"
      },
      "committer": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Fri Dec 14 10:38:54 2012 -0800"
      },
      "message": "libfcoe, fcoe, bnx2fc: Add new fcoe control interface\n\nThis patch does a few things.\n\n1) Makes /sys/bus/fcoe/ctlr_{create,destroy} interfaces.\n   These interfaces take an \u003cifname\u003e and will either\n   create an FCoE Controller or destroy an FCoE\n   Controller depending on which file is written to.\n\n   The new FCoE Controller will start in a DISABLED\n   state and will not do discovery or login until it\n   is ENABLED. This pause will allow us to configure\n   the FCoE Controller before enabling it.\n\n2) Makes the \u0027mode\u0027 attribute of a fcoe_ctlr_device\n   writale. This allows the user to configure the mode\n   in which the FCoE Controller will start in when it\n   is ENABLED.\n\n   Possible modes are \u0027Fabric\u0027, or \u0027VN2VN\u0027.\n\n   The default mode for a fcoe_ctlr{,_device} is \u0027Fabric\u0027.\n   Drivers must implement the set_fcoe_ctlr_mode routine\n   to support this feature.\n\n   libfcoe offers an exported routine to set a FCoE\n   Controller\u0027s mode. The mode can only be changed\n   when the FCoE Controller is DISABLED.\n\n   This patch also removes the get_fcoe_ctlr_mode pointer\n   in the fcoe_sysfs function template, the code in\n   fcoe_ctlr.c to get the mode and the assignment of\n   the fcoe_sysfs function pointer to the fcoe_ctlr.c\n   implementation (in fcoe and bnx2fc). fcoe_sysfs can\n   return that value for the mode without consulting the\n   LLD.\n\n3) Make a \u0027enabled\u0027 attribute of a fcoe_ctlr_device. On a\n   read, fcoe_sysfs will return the attribute\u0027s value. On\n   a write, fcoe_sysfs will call the LLD (if there is a\n   callback) to notifiy that the enalbed state has changed.\n\nThis patch maintains the old FCoE control interfaces as\nmodule parameters, but it adds comments pointing out that\nthe old interfaces are deprecated.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nAcked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e777d192ffb9f2929d547a2f8a5f65b7db7a9552",
      "tree": "c9a82698ae66c0465aeb07908c9063d8c098da27",
      "parents": [
        "f132c54e3ab25b305a1e368ad413a417052c966e",
        "f92363d12359498f9a9960511de1a550f0ec41c2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 13 19:20:31 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 13 19:20:31 2012 -0800"
      },
      "message": "Merge tag \u0027scsi-misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi\n\nPull first round of SCSI updates from James Bottomley:\n \"This patch set includes two large new drivers: mpt3sas (for the next\n  gen fusion SAS hardware) and csiostor a FCoE offload driver for the\n  Chelsio converged network cards (this includes some net changes which\n  I\u0027ve OK\u0027d with DaveM).\n\n  The rest of the patch is driver updates (qla2xxx, lpfc, hptiop,\n  be2iscsi) plus a few assorted updates and bug fixes.\n\n  We also have a Power Management rework in the Upper Layer Drivers\n  preparatory to doing ACPI zero power optical devices, but the actual\n  enabler is still being worked on.\n\n  Signed-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\"\n\n* tag \u0027scsi-misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (72 commits)\n  [SCSI] mpt3sas: add new driver supporting 12GB SAS\n  [SCSI] scsi_transport_sas: add 12GB definitions for mpt3sas\n  [SCSI] miscdevice: Adding support for MPT3SAS_MINOR(222)\n  [SCSI] csiostor: remove unneeded memset()\n  [SCSI] csiostor: Fix sparse warnings.\n  [SCSI] qla2xxx: Display that driver is operating in legacy interrupt mode.\n  [SCSI] qla2xxx: Dont clear drv active on iospace config failure.\n  [SCSI] qla2xxx: Fix typo in qla2xxx driver.\n  [SCSI] qla2xxx: Update ql2xextended_error_logging parameter description with new option.\n  [SCSI] qla2xxx: Parameterize the link speed of hba rather than fcport.\n  [SCSI] qla2xxx: Add 16Gb/s case to get port speed capability.\n  [SCSI] qla2xxx: Move marking fcport online ahead of setting iiDMA speed.\n  [SCSI] qla2xxx: Add acquiring of risc semaphore before doing ISP reset.\n  [SCSI] qla2xxx: Ignore driver ack bit if corresponding presence bit is not set.\n  [SCSI] qla2xxx: Fix typo in qla83xx_fw_dump function.\n  [SCSI] qla2xxx: Add Gen3 PCIe speed 8GT/s to the log message.\n  [SCSI] qla2xxx: Use correct Request-Q-Out register during bidirectional request processing\n  [SCSI] qla2xxx: Move noisy Start scsi failed messages to verbose logging level.\n  [SCSI] qla2xxx: Fix coccinelle warnings in qla2x00_relogin.\n  [SCSI] qla2xxx: No fcport FC-4 type assignment in GA_NXT response.\n  ...\n"
    },
    {
      "commit": "f132c54e3ab25b305a1e368ad413a417052c966e",
      "tree": "e34ef551cd3e544f9b8599728e56cce292703179",
      "parents": [
        "d3b43e12b2c8c69f79ab76dcdc5956f47c376378",
        "01e03365981ebd99f1b4027dbf7c215d1c136f71"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 13 19:19:09 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 13 19:19:09 2012 -0800"
      },
      "message": "Merge tag \u0027rdma-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\nPull infiniband upate from Roland Dreier:\n \"First batch of InfiniBand/RDMA changes for the 3.8 merge window:\n   - A good chunk of Bart Van Assche\u0027s SRP fixes\n   - UAPI disintegration from David Howells\n   - mlx4 support for \"64-byte CQE\" hardware feature from Or Gerlitz\n   - Other miscellaneous fixes\"\n\nFix up trivial conflict in mellanox/mlx4 driver.\n\n* tag \u0027rdma-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (33 commits)\n  RDMA/nes: Fix for crash when registering zero length MR for CQ\n  RDMA/nes: Fix for terminate timer crash\n  RDMA/nes: Fix for BUG_ON due to adding already-pending timer\n  IB/srp: Allow SRP disconnect through sysfs\n  srp_transport: Document sysfs attributes\n  srp_transport: Simplify attribute initialization code\n  srp_transport: Fix attribute registration\n  IB/srp: Document sysfs attributes\n  IB/srp: send disconnect request without waiting for CM timewait exit\n  IB/srp: destroy and recreate QP and CQs when reconnecting\n  IB/srp: Eliminate state SRP_TARGET_DEAD\n  IB/srp: Introduce the helper function srp_remove_target()\n  IB/srp: Suppress superfluous error messages\n  IB/srp: Process all error completions\n  IB/srp: Introduce srp_handle_qp_err()\n  IB/srp: Simplify SCSI error handling\n  IB/srp: Keep processing commands during host removal\n  IB/srp: Eliminate state SRP_TARGET_CONNECTING\n  IB/srp: Increase block layer timeout\n  RDMA/cm: Change return value from find_gid_port()\n  ...\n"
    },
    {
      "commit": "d84fd392bd61524c4d81367969424e6c17086c8c",
      "tree": "a51d9f1a54d3e280792088309db375971531e666",
      "parents": [
        "78ad724ade23c66650dcaba04f4d2307c2884c69"
      ],
      "author": {
        "name": "Sreekanth Reddy",
        "email": "Sreekanth.Reddy@lsi.com",
        "time": "Fri Nov 30 07:43:11 2012 +0530"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sat Dec 01 10:08:41 2012 +0000"
      },
      "message": "[SCSI] scsi_transport_sas: add 12GB definitions for mpt3sas\n\n[jejb: split this core change into a separate patch]\nSigned-off-by: Sreekanth Reddy \u003cSreekanth.Reddy@lsi.com\u003e\nReviewed-by: Nagalakshmi Nandigama \u003cNagalakshmi.Nandigama@lsi.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "dc1bdbd9b8a077018d82230bc378f1bcfd8adba8",
      "tree": "e6484d9d378a0bad8a4f7057ae29d4164b33278e",
      "parents": [
        "7e1265bfe75f0ef1a9f5cfde202df68b7e35a53f"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@acm.org",
        "time": "Fri Sep 16 20:41:13 2011 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Nov 30 17:40:33 2012 -0800"
      },
      "message": "IB/srp: Allow SRP disconnect through sysfs\n\nMake it possible to disconnect the IB RC connection used by the SRP\nprotocol to communicate with a target.\n\nHave the SRP transport layer create a sysfs \"delete\" attribute for\ninitiator drivers that support this functionality.\n\nSigned-off-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nAcked-by: David Dillow \u003cdillowda@ornl.gov\u003e\nCc: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Robert Jennings \u003crcj@linux.vnet.ibm.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "53ad570be625045aba3ae7de8d82401364c655e1",
      "tree": "3034c3094a3ae501b0b53ebd2149fd93f4d9b5df",
      "parents": [
        "0b4334473d48aa18e8448f9f718f1dcd0398c550"
      ],
      "author": {
        "name": "Jason J. Herne",
        "email": "hernejj@gmail.com",
        "time": "Wed Nov 14 17:03:22 2012 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Tue Nov 27 09:00:38 2012 +0400"
      },
      "message": "[SCSI] sd: Use SCSI read/write(16) with \u003e 32-bit LBA drives\n\nForce large capacity (\u003e 0xFFFFFFFF blocks) drives to use READ/WRITE(16) instead\nof READ/WRITE(10). Some(most/all?) USB enclosures do not like READ(10) commands\nwhen a large capacity drive is installed. This issue was reported and discussed\nhere: http://marc.info/?l\u003dlinux-usb\u0026m\u003d135247705222324\n\nSigned-off-by: Jason J. Herne \u003chernejj@gmail.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "5db44863b6ebbb400c5e61d56ebe8f21ef48b1bd",
      "tree": "a352bab202b6cb40f234bd2fd306b54776543e8b",
      "parents": [
        "26e85fcd15f68b57d9ba645cd3591117a8ac0e05"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Tue Sep 18 12:19:32 2012 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Tue Nov 13 22:45:42 2012 -0800"
      },
      "message": "[SCSI] sd: Implement support for WRITE SAME\n\nImplement support for WRITE SAME(10) and WRITE SAME(16) in the SCSI disk\ndriver.\n\n - We set the default maximum to 0xFFFF because there are several\n   devices out there that only support two-byte block counts even with\n   WRITE SAME(16). We only enable transfers bigger than 0xFFFF if the\n   device explicitly reports MAXIMUM WRITE SAME LENGTH in the BLOCK\n   LIMITS VPD.\n\n - max_write_same_blocks can be overriden per-device basis in sysfs.\n\n - The UNMAP discovery heuristics remain unchanged but the discard\n   limits are tweaked to match the \"real\" WRITE SAME commands.\n\n - In the error handling logic we now distinguish between WRITE SAME\n   with and without UNMAP set.\n\nThe discovery process heuristics are:\n\n - If the device reports a SCSI level of SPC-3 or greater we\u0027ll issue\n   READ SUPPORTED OPERATION CODES to find out whether WRITE SAME(16) is\n   supported. If that\u0027s the case we will use it.\n\n - If the device supports the block limits VPD and reports a MAXIMUM\n   WRITE SAME LENGTH bigger than 0xFFFF we will use WRITE SAME(16).\n\n - Otherwise we will use WRITE SAME(10) unless the target LBA is beyond\n   0xFFFFFFFF or the block count exceeds 0xFFFF.\n\n - no_write_same is set for ATA, FireWire and USB.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nReviewed-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nReviewed-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "3c6bdaeab4fda6c9fdd5f3f5c610dea97bddf7d6",
      "tree": "85fad84ab7a257e1da2465711e6af8569934cf7c",
      "parents": [
        "49bd665c5407a453736d3232ee58f2906b42e83c"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Tue Sep 18 12:19:30 2012 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Tue Nov 13 21:11:31 2012 -0800"
      },
      "message": "[SCSI] Add a report opcode helper\n\nThe REPORT SUPPORTED OPERATION CODES command can be used to query\nwhether a given opcode is supported by a device. Add a helper function\nthat allows us to look up commands.\n\nWe only issue RSOC if the device reports compliance with SPC-3 or\nlater. But to err on the side of caution we disable the command for ATA,\nFireWire and USB.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nAcked-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "6a5a3d6a4adde0c66f3be29bbd7c0d6ffb7e1a40",
      "tree": "ae416ffa4458df755f984a05d65ee1c3e220c40b",
      "parents": [
        "8bbbfa70549bd84f29ff331d0ac051897ccbbd72",
        "5c1b10ab7f93d24f29b5630286e323d1c5802d5c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 13 10:57:01 2012 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 13 10:57:01 2012 +0900"
      },
      "message": "Merge tag \u0027scsi-misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi\n\nPull misc SCSI updates from James Bottomley:\n \"This is an assorted set of stragglers into the merge window with\n  driver updates for megaraid_sas, lpfc, bfi and mvumi.  It also\n  includes some fairly major fixes for virtio-scsi (scatterlist init),\n  scsi_debug (off by one error), storvsc (use after free) and qla2xxx\n  (potential deadlock).\n\n  Signed-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\"\n\n* tag \u0027scsi-misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (49 commits)\n  [SCSI] storvsc: Account for in-transit packets in the RESET path\n  [SCSI] qla2xxx: fix potential deadlock on ha-\u003ehardware_lock\n  [SCSI] scsi_debug: Fix off-by-one bug when unmapping region\n  [SCSI] Shorten the path length of scsi_cmd_to_driver()\n  [SCSI] virtio-scsi: support online resizing of disks\n  [SCSI] virtio-scsi: fix LUNs greater than 255\n  [SCSI] virtio-scsi: initialize scatterlist structure\n  [SCSI] megaraid_sas: Version, Changelog, Copyright update\n  [SCSI] megaraid_sas: Remove duplicate code\n  [SCSI] megaraid_sas: Add SystemPD FastPath support\n  [SCSI] megaraid_sas: Add array boundary check for SystemPD\n  [SCSI] megaraid_sas: Load io_request DataLength in bytes\n  [SCSI] megaraid_sas: Add module param for configurable MSI-X vector count\n  [SCSI] megaraid_sas: Remove un-needed completion_lock spinlock calls\n  [SCSI] lpfc 8.3.35: Update lpfc version for 8.3.35 driver release\n  [SCSI] lpfc 8.3.35: Fixed not reporting logical link speed to SCSI midlayer when QoS not on\n  [SCSI] lpfc 8.3.35: Fix error with fabric service parameters causing performance issues\n  [SCSI] lpfc 8.3.35: Fixed SCSI host create showing wrong link speed on SLI3 HBA ports\n  [SCSI] lpfc 8.3.35: Fixed not checking solicition in progress bit when verifying FCF record for use\n  [SCSI] lpfc 8.3.35: Fixed messages for misconfigured port errors\n  ...\n"
    },
    {
      "commit": "329a402cb052b233bc92aa34c4caf2f7dfb2d76e",
      "tree": "c58a423318703fc41a61641aef2720d48640f25d",
      "parents": [
        "865b58c05b841964f48f574c2027311bd04db8a1"
      ],
      "author": {
        "name": "Li Zhong",
        "email": "zhong@linux.vnet.ibm.com",
        "time": "Sat Sep 29 12:23:37 2012 +0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Tue Oct 09 12:04:42 2012 +0100"
      },
      "message": "[SCSI] Shorten the path length of scsi_cmd_to_driver()\n\nThis patch tries to shorten the path length of scsi_cmd_to_driver(). As only\nREQ_TYPE_BLOCK_PC commands can be submitted without a driver, so we could\navoid the related NULL checking, as long as we make sure we don\u0027t use it for\nREQ_TYPE_BLOCK_PC type commands. Plus, this fixes a bug where you get\ndifferent behaviors from REQ_TYPE_BLOCK_PC commands when a driver is and isn\u0027t\nattached.\n\nSigned-off-by: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nReviewed-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "3b64b1881143ce9e461c211cc81acc72d0cdc476",
      "tree": "4a4869002d37f8b3257ae442caa67b5071e69fed",
      "parents": [
        "31c37a6f21d86e6bca095b71d603ed543ae070ad"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Mon Sep 24 11:52:50 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Oct 07 11:52:55 2012 +0100"
      },
      "message": "[SCSI] libfc: fix lun reset failure bugs in fc_fcp_resp handling of FCP_RSP_INFO\n\nIn LUN RESET testing involving NetApp targets, it is observed that LUN\nRESET is failing. The fc_fcp_resp() is not completing the completion\nfor the LUN RESET task since fc_fcp_resp assumes that the FCP_RSP_INFO\nis 8 bytes with the 4 byte reserved field, where in case of NetApp targets\nthe FCP_RSP to LUN RESET only has 4 bytes of FCP_RSP_INFO. This leads\nfc_fcp_resp to error out w/o completing the task completion, eventually\ncausing LUN RESET to be escalated to host reset, which is not very nice.\n\nPer FCP-3 r04, clause 9.5.15 and Table 23, the FCP_RSP_INFO field can be either\n4 bytes or 8 bytes, with the last 4 bytes as \"Reserved (if any)\". Therefore it\nis valid to have 4 bytes FCP_RSP_INFO like some of the NetApp targets behave.\nFixing this by validating the FCP_RSP_INFO against both the two spec allowed\nlength.\n\nReported-by: Frank Zhang \u003cfrank_1.zhang@intel.com\u003e\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "31c37a6f21d86e6bca095b71d603ed543ae070ad",
      "tree": "1f0bf61ad223ec6b59aae969f62001bae5c1437f",
      "parents": [
        "bd756ddea18e02ccea8b29496b2fe3bd91af8eb7"
      ],
      "author": {
        "name": "Neerav Parikh",
        "email": "Neerav.Parikh@intel.com",
        "time": "Mon Sep 24 11:52:45 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Oct 07 11:49:34 2012 +0100"
      },
      "message": "[SCSI] fcoe: Fix write errors on NPIV ports\n\nSCSI errors were generated while writing to LUNs\nconnected via NPIV ports.\n\nDebugging this it was found that the FCoE packets\ntransmitted via the NPIV ports were not tagged with\ncorrect user priority as negotiated with peer by DCB\nagent. This resulted in FCoE traffic going with priority\nzero(0) that did not have priority flow control (PFC)\nenabled for it. The initiator after transferring data\nto the target never saw any reply indicating the transfer\nwas complete. This resulted in error recovery (ABTS) and\nSCSI command retries by the scsi-mid layer; eventually\nresulting in I/O errors.\n\nThis patch fixes this issue by keeping the FCoE user\npriority information in the fcoe_interface instance\nthat is common for both the physical port as well as\nNPIV ports connected to that physical port; instead\nof storing it in fcoe_port structure that has a per\nport instance.\n\nSigned-off-by: Neerav Parikh \u003cNeerav.Parikh@intel.com\u003e\nAcked-by: Yi Zou \u003cyi.zou@intel.com\u003e\nAcked-by: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nTested-by: Marcus Dennis \u003cmarcusx.e.dennis@intel.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "9b2e077c42a97fcbdc0dd71edb1fc9d15c74ad29",
      "tree": "20bf301d21f6c3776046acada5070630009ceedb",
      "parents": [
        "a54dfb1a845c38a97686268d8c4086a63d9493aa",
        "10b63956fce7f369cc37fd4d994f09bd5203efe4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 03 13:45:43 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 03 13:45:43 2012 -0700"
      },
      "message": "Merge tag \u0027uapi-prep-20121002\u0027 of git://git.infradead.org/users/dhowells/linux-headers\n\nPull preparatory patches for user API disintegration from David Howells:\n \"The patches herein prepare for the extraction of the Userspace API\n  bits from the various header files named in the Kbuild files.\n\n  New subdirectories are created under either include/uapi/ or\n  arch/x/include/uapi/ that correspond to the subdirectory containing\n  that file under include/ or arch/x/include/.\n\n  The new subdirs under the uapi/ directory are populated with Kbuild\n  files that mostly do nothing at this time.  Further patches will\n  disintegrate the headers in each original directory and fill in the\n  Kbuild files as they do it.\n\n  These patches also:\n\n   (1) fix up #inclusions of \"foo.h\" rather than \u003cfoo.h\u003e.\n\n   (2) Remove some redundant #includes from the DRM code.\n\n   (3) Make the kernel build infrastructure handle Kbuild files both in\n       the old places and the new UAPI place that both specify headers\n       to be exported.\n\n   (4) Fix some kernel tools that #include kernel headers during their\n       build.\n\n  I have compile tested this with allyesconfig against x86_64,\n  allmodconfig against i386 and a scattering of additional defconfigs of\n  other arches.  Prepared for main script\n\n  Signed-off-by: David Howells \u003cdhowells@redhat.com\u003e\n  Acked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n  Acked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n  Acked-by: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\n  Acked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n  Acked-by: Dave Jones \u003cdavej@redhat.com\u003e\n  Acked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\"\n\n* tag \u0027uapi-prep-20121002\u0027 of git://git.infradead.org/users/dhowells/linux-headers:\n  UAPI: Plumb the UAPI Kbuilds into the user header installation and checking\n  UAPI: x86: Differentiate the generated UAPI and internal headers\n  UAPI: Remove the objhdr-y export list\n  UAPI: Move linux/version.h\n  UAPI: Set up uapi/asm/Kbuild.asm\n  UAPI: x86: Fix insn_sanity build failure after UAPI split\n  UAPI: x86: Fix the test_get_len tool\n  UAPI: (Scripted) Set up UAPI Kbuild files\n  UAPI: Partition the header include path sets and add uapi/ header directories\n  UAPI: (Scripted) Convert #include \"...\" to #include \u003cpath/...\u003e in kernel system headers\n  UAPI: (Scripted) Convert #include \"...\" to #include \u003cpath/...\u003e in drivers/gpu/\n  UAPI: (Scripted) Remove redundant DRM UAPI header #inclusions from drivers/gpu/.\n  UAPI: Refer to the DRM UAPI headers with \u003c...\u003e and from certain headers only\n"
    },
    {
      "commit": "3151367f8778a1789d6f6e6f6c642681b6cd6d64",
      "tree": "1869d5429a25abd994ae94079808b8db060ec6f3",
      "parents": [
        "16642a2e7be23bbda013fc32d8f6c68982eab603",
        "fe709ed827d370e6b0c0a9f9456da1c22bdcd118"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 02 19:01:32 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 02 19:01:32 2012 -0700"
      },
      "message": "Merge tag \u0027scsi-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi\n\nPull first round of SCSI updates from James Bottomley:\n \"This is a large set of updates, mostly for drivers (qla2xxx [including\n  support for new 83xx based card], qla4xxx, mpt2sas, bfa, zfcp, hpsa,\n  be2iscsi, isci, lpfc, ipr, ibmvfc, ibmvscsi, megaraid_sas).\n\n  There\u0027s also a rework for tape adding virtually unlimited numbers of\n  tape drives plus a set of dif fixes for sd and a fix for a live lock\n  on hot remove of SCSI devices.\n\n  This round includes a signed tag pull of isci-for-3.6\n\n  Signed-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\"\n\nFix up trivial conflict in drivers/scsi/qla2xxx/qla_nx.c due to new PCI\nhelper function use in a function that was removed by this pull.\n\n* tag \u0027scsi-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (198 commits)\n  [SCSI] st: remove st_mutex\n  [SCSI] sd: Ensure we correctly disable devices with unknown protection type\n  [SCSI] hpsa: gen8plus Smart Array IDs\n  [SCSI] qla4xxx: Update driver version to 5.03.00-k1\n  [SCSI] qla4xxx: Disable generating pause frames for ISP83XX\n  [SCSI] qla4xxx: Fix double clearing of risc_intr for ISP83XX\n  [SCSI] qla4xxx: IDC implementation for Loopback\n  [SCSI] qla4xxx: update copyrights in LICENSE.qla4xxx\n  [SCSI] qla4xxx: Fix panic while rmmod\n  [SCSI] qla4xxx: Fail probe_adapter if IRQ allocation fails\n  [SCSI] qla4xxx: Prevent MSI/MSI-X falling back to INTx for ISP82XX\n  [SCSI] qla4xxx: Update idc reg in case of PCI AER\n  [SCSI] qla4xxx: Fix double IDC locking in qla4_8xxx_error_recovery\n  [SCSI] qla4xxx: Clear interrupt while unloading driver for ISP83XX\n  [SCSI] qla4xxx: Print correct IDC version\n  [SCSI] qla4xxx: Added new mbox cmd to pass driver version to FW\n  [SCSI] scsi_dh_alua: Enable STPG for unavailable ports\n  [SCSI] scsi_remove_target: fix softlockup regression on hot remove\n  [SCSI] ibmvscsi: Fix host config length field overflow\n  [SCSI] ibmvscsi: Remove backend abstraction\n  ...\n"
    },
    {
      "commit": "a1ce39288e6fbefdd8d607021d02384eb4a20b99",
      "tree": "c72e67f0c9d828420788f9086a19df1b9a7e39ae",
      "parents": [
        "760285e7e7ab282c25b5e90816f7c47000557f4f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Oct 02 18:01:25 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Oct 02 18:01:25 2012 +0100"
      },
      "message": "UAPI: (Scripted) Convert #include \"...\" to #include \u003cpath/...\u003e in kernel system headers\n\nConvert #include \"...\" to #include \u003cpath/...\u003e in kernel system headers.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "fe542396da73b7e2b0848618c7e95855c1b75689",
      "tree": "5ecc5110504cf3b2cd3cd3777d4e0295accae89e",
      "parents": [
        "fe0c9610bb68dd0aad1017456f5e3c31264d70c2"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri Sep 21 12:44:12 2012 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Mon Sep 24 13:01:24 2012 +0400"
      },
      "message": "[SCSI] sd: Ensure we correctly disable devices with unknown protection type\n\nWe set the capacity to zero when we discovered a device formatted with\nan unknown DIF protection type. However, the read_capacity code would\noverride the capacity and cause the device to be enabled regardless.\n\nMake sd_read_protection_type() return an error if the protection type is\nunknown. Also prevent duplicate printk lines when the device is being\nrevalidated.\n\nReported-by: Hannes Reinecke \u003chare@suse.de\u003e\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "2c8bd81010ed9377e761893487803a9b7408014d",
      "tree": "ff63149eab111228976c149b713cd241f5c4a8ae",
      "parents": [
        "1315da30daaf8f4b1207cc78b67ff0dc55bc447b"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Wed Sep 05 13:50:07 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Mon Sep 24 12:11:03 2012 +0400"
      },
      "message": "[SCSI] fc-transport: Remove unnecessary include\n\nThis header file is included in user space applications\nthat are doing \"FC Passthrough.\" This include causes\nthem to also include scsi/scsi.h. Since this header\nfile doesn\u0027t actually need scsi/scsi.h, remove the\ninclude line.\n\nThis patch was tested with \u0027make allyesconfig\u0027.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "d974e4265dbd35db118c318176727ecb7f469de3",
      "tree": "fbec9c25dbed708722d334601ed0adcf38f210cd",
      "parents": [
        "8172499aae4d375334cfe6361900929c3b31a03f"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Tue Aug 28 14:29:35 2012 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Mon Sep 24 12:11:00 2012 +0400"
      },
      "message": "[SCSI] Disable DIF on Hitachi Ultrastar 15K300\n\nHitachi Ultrastar 15K300 is quirky. Disable T10 PI (DIF).\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "8289bab1daf9768c20114051a99c1bd5f48d4420",
      "tree": "8e989dd8f391c49faa1bb63fc5164a44482911ea",
      "parents": [
        "f05ba7fccf0c5f0422378adaffcb119d08b9f304"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Sep 07 12:39:21 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 13 16:26:39 2012 -0400"
      },
      "message": "scsi_netlink: Remove dead and buggy code\n\nThe scsi netlink code confuses the netlink port id with a process id,\ngoing so far as to read NETLINK_CREDS(skb)-\u003epid instead of the correct\nNETLINK_CB(skb).pid.  Fortunately it does not matter because nothing\nregisters to respond to scsi netlink requests.\n\nThe only interesting use of the scsi_netlink interface is\nfc_host_post_vendor_event which sends a netlink multicast message.\n\nSince nothing registers to handle scsi netlink messages kill all of the\nregistration logic, while retaining the same error handling behavior\npreserving the userspace visible behavior and removing all of the\nconfused code that thought a netlink port id was a process id.\n\nThis was tested with a kernel allyesconfig build which had no problems.\n\nCc: James Bottomley \u003cJames.Bottomley@parallels.com\u003e\nCc: James Smart \u003cJames.Smart@Emulex.Com\u003e\nSigned-off-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "303694eeee5eacad5b84105a15afd9e351e1891b",
      "tree": "ba8e16274ffbde39b21100ced62b5b11e8c926d6",
      "parents": [
        "2fcbdcb4c802fe40d6827dbc365dac90cfe8c0a3"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Jun 21 23:41:51 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Fri Aug 24 13:10:23 2012 +0400"
      },
      "message": "[SCSI] libsas: suspend / resume support\n\nlibsas power management routines to suspend and recover the sas domain\nbased on a model where the lldd is allowed and expected to be\n\"forgetful\".\n\nsas_suspend_ha - disable event processing allowing the lldd to take down\n                 links without concern for causing hotplug events.\n                 Regardless of whether the lldd actually posts link down\n                 messages libsas notifies the lldd that all\n                 domain_devices are gone.\n\nsas_prep_resume_ha - on the way back up before the lldd starts link\n                     training clean out any spurious events that were\n                     generated on the way down, and re-enable event\n                     processing\n\nsas_resume_ha - after the lldd has started and decided that all phys\n\t\thave posted link-up events this routine is called to let\n\t\tlibsas start it\u0027s own timeout of any phys that did not\n\t\tresume.  After the timeout an lldd can cancel the\n                phy teardown by posting a link-up event.\n\nStorage for ex_change_count (u16) and phy_change_count (u8) are changed\nto int so they can be set to -1 to indicate \u0027invalidated\u0027.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nReviewed-by: Jacek Danecki \u003cjacek.danecki@intel.com\u003e\nTested-by: Maciej Patelczyk \u003cmaciej.patelczyk@intel.com\u003e\nAcked-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "8407884dd9164ec18ed2afc00f56b87e36c51fcf",
      "tree": "b6ea42c231d7d39f454de28a068d78ce11709770",
      "parents": [
        "dc7f71f486f4f5fa96f6dcf86833da020cde8a11",
        "bdc0077af574800d24318b6945cf2344e8dbb050"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Jul 25 15:58:48 2012 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Wed Jul 25 15:58:48 2012 -0400"
      },
      "message": "Merge branch \u0027master\u0027 [vanilla Linus master] into libata-dev.git/upstream\n\nTwo bits were appended to the end of the bitfield\nlist in struct scsi_device.  Resolve that conflict\nby including both bits.\n\nConflicts:\n\tinclude/scsi/scsi_device.h\n"
    },
    {
      "commit": "492d542273a4859f8bf8cc7744cdf71ef50b39ea",
      "tree": "443e4a40bcb4217e74f20af38d42141568d51f98",
      "parents": [
        "6cdd55205d160f63003c321fcea608336953dd5b"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Jul 09 19:33:40 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Fri Jul 20 09:25:22 2012 +0100"
      },
      "message": "[SCSI] cleanup usages of scsi_complete_async_scans\n\nNow that scsi registers its async scan work with the async subsystem,\nwait_for_device_probe() is sufficient for ensuring all scanning is\ncomplete.\n\n[jejb: fix merge problems with eea03c20ae38 Make wait_for_device_probe() also do scsi_complete_async_scans()]\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nTested-by: Eldad Zack \u003celdad@fogrefinery.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "b81478d82e389dd0961760f5ff6f56b50d29db6d",
      "tree": "28729e5443db79591b693dea481b23d5511f37d1",
      "parents": [
        "365a7150094114a0f8ef0b6164e6b04b519039e8"
      ],
      "author": {
        "name": "Namjae Jeon",
        "email": "namjae.jeon@samsung.com",
        "time": "Sat Jul 07 23:05:08 2012 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Fri Jul 20 08:59:00 2012 +0100"
      },
      "message": "[SCSI] set to WCE if usb cache quirk is present.\n\nMake use of USB quirk method to identify such HDD while reading\nthe cache status in sd_probe(). If cache quirk is present for\nthe HDD, lets assume that cache is enabled and make WCE bit\nequal to 1.\n\nSigned-off-by: Namjae Jeon \u003cnamjae.jeon@samsung.com\u003e\nSigned-off-by: Pankaj Kumar \u003cpankaj.km@samsung.com\u003e\nSigned-off-by: Amit Sahrawat \u003ca.sahrawat@samsung.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "f0bf750c2d25c3a2131ececbff63c7878e0e3765",
      "tree": "ba967c5d28945e76bee78feb24ade328d5b0b3a6",
      "parents": [
        "a494fd5bd98bb35d5a9a274fecb768e14ebf499c"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Jun 21 23:36:30 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Fri Jul 20 08:58:54 2012 +0100"
      },
      "message": "[SCSI] libsas: trim sas_task of slow path infrastructure\n\nThe timer and the completion are only used for slow path tasks (smp, and\nlldd tmfs), yet we incur the allocation space and cpu setup time for\nevery fast path task.\n\nCc: Xiangliang Yu \u003cyuxiangl@marvell.com\u003e\nAcked-by: Jack Wang \u003cjack_wang@usish.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "a494fd5bd98bb35d5a9a274fecb768e14ebf499c",
      "tree": "ee24c3bf1136b405eb44a99bb592a0704e01349c",
      "parents": [
        "b17caa174a7e1fd2e17b26e210d4ee91c4c28b37"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Jun 21 23:36:25 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Fri Jul 20 08:58:53 2012 +0100"
      },
      "message": "[SCSI] libsas: drop sata port multiplier infrastructure\n\nOn the way to add a new sata_device field, noticed that libsas is\ncarrying port multiplier infrastructure that is explicitly disabled by\nsas_discover_sata().  The aic94xx touches the unused port_no, so leave\nthat field in case there was some use for it.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "9524c6821849bddad4bf592a47276cfb8a8a98c0",
      "tree": "f49578198e8ab3388f529a7a39aefc69af535d82",
      "parents": [
        "5db45bdc87ce4f503947adf7896586d60c63322c"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Jun 21 23:30:53 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Fri Jul 20 08:58:50 2012 +0100"
      },
      "message": "[SCSI] libsas: add sas_eh_abort_handler\n\nWhen recovering failed eh-cmnds let the lldd attempt an abort via\nscsi_abort_eh_cmnd before escalating.\n\nReviewed-by: Jacek Danecki \u003cjacek.danecki@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "5db45bdc87ce4f503947adf7896586d60c63322c",
      "tree": "f939bbcf1e6fc2664c54b46949eb8e5af8aa070b",
      "parents": [
        "b9d5c6b7ef570bea0d22746944d7b58fa7f17b13"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Jun 21 23:30:48 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Fri Jul 20 08:58:50 2012 +0100"
      },
      "message": "[SCSI] libsas: enforce eh strategy handlers only in eh context\n\nThe strategy handlers may be called in places that are problematic for\nlibsas (i.e. sata resets outside of domain revalidation filtering /\nlibata link recovery), or problematic for userspace (non-blocking ioctl\nto sleeping reset functions).  However, these routines are also called\nfor eh escalations and recovery of scsi_eh_prep_cmnd(), so permit them\nas long as we are running in the host\u0027s error handler, otherwise arrange\nfor them to be triggered in eh_context.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "e4a9c3732cea3e3c8c704aad86636090ffe6b25f",
      "tree": "faea8e91b3d917dcdb4c89adbb021ac737a6cb35",
      "parents": [
        "3b661a92e869ebe2358de8f4b3230ad84f7fce51"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Jun 21 23:25:27 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Fri Jul 20 08:58:45 2012 +0100"
      },
      "message": "[SCSI] libata, libsas: introduce sched_eh and end_eh port ops\n\nWhen managing shost-\u003ehost_eh_scheduled libata assumes that there is a\n1:1 shost-to-ata_port relationship.  libsas creates a 1:N relationship\nso it needs to manage host_eh_scheduled cumulatively at the host level.\nThe sched_eh and end_eh port port ops allow libsas to track when domain\ndevices enter/leave the \"eh-pending\" state under ha-\u003elock (previously\nnamed ha-\u003estate_lock, but it is no longer just a lock for ha-\u003estate\nchanges).\n\nSince host_eh_scheduled indicates eh without backing commands pinning\nthe device it can be deallocated at any time.  Move the taking of the\ndomain_device reference under the port_lock to guarantee that the\nata_port stays around for the duration of eh.\n\nReviewed-by: Jacek Danecki \u003cjacek.danecki@intel.com\u003e\nAcked-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "7e8a74b177f17d100916b6ad415450f7c9508691",
      "tree": "3a2ed38f030ef3e79d3c332c594dbad89d7642bf",
      "parents": [
        "6aca4112f67b67d0a2f60326a1331a4125564ca7"
      ],
      "author": {
        "name": "Mike Snitzer",
        "email": "snitzer@redhat.com",
        "time": "Tue Jun 26 14:32:03 2012 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Fri Jul 20 08:58:42 2012 +0100"
      },
      "message": "[SCSI] scsi_dh: add scsi_dh_attached_handler_name\n\nIntroduce scsi_dh_attached_handler_name() to retrieve the name of the\nscsi_dh that is attached to the scsi_device associated with the provided\nrequest queue.  Returns NULL if a scsi_dh is not attached.\n\nAlso, fix scsi_dh_{attach,detach} function header comments to document\n@q rather than @sdev.\n\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nTested-by: Babu Moger \u003cbabu.moger@netapp.com\u003e\nReviewed-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nAcked-by: Hannes Reinecke \u003chare@suse.de\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "3588c5a21aef8c8dcc3b30d72c62971e97af1322",
      "tree": "e988d106664bb37c8044165ce18319b65c249e38",
      "parents": [
        "6ad819b06ddf13a5a1d995eb26555903f6c3b71a"
      ],
      "author": {
        "name": "Rob Evers",
        "email": "revers@redhat.com",
        "time": "Fri May 18 14:08:54 2012 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Fri Jul 20 08:58:32 2012 +0100"
      },
      "message": "[SCSI] scsi_dh_alua: implement \u0027implied transition timeout\u0027\n\nDuring alua transitions, an array can return transitioning\nstatus in response to rtpg requests.  These requests get\nretried for a maximum of 60 seconds by default before timing\nout.  Sometimes this timeout isn\u0027t sufficient to allow the\narray to complete the transition.  T10-spc4 addresses this\nunder \u0027Report Target Port Groups\u0027 command.\n\nThis update retrieves the timeout value from the storage\narray if available and retries the transitioning rtpgs\nfor up to the \u0027implied transitioning timeout\u0027 value\n\nSigned-off-by: Rob Evers \u003crevers@redhat.com\u003e\nReviewed-by: Babu Moger \u003cbabu.moger@netapp.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "5d9fb5cc1b88277bb28a2a54e51b34cacaa123c2",
      "tree": "9067ba87ee1455850d97984608daa717f381e0d8",
      "parents": [
        "1b8d26206134458044b0689f48194af00c96d406"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Thu May 17 23:56:57 2012 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Fri Jul 20 08:58:22 2012 +0100"
      },
      "message": "[SCSI] core, classes, mpt2sas: have scsi_internal_device_unblock take new state\n\nThis has scsi_internal_device_unblock/scsi_target_unblock take\nthe new state to set the devices as an argument instead of\nalways setting to running. The patch also converts users of these\nfunctions.\n\nThis allows the FC and iSCSI class to transition devices from blocked\nto transport-offline, so that when fast_io_fail/replacement_timeout\nhas fired we do not set the devices back to running. Instead, we\nset them to SDEV_TRANSPORT_OFFLINE.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "1b8d26206134458044b0689f48194af00c96d406",
      "tree": "767d6fa1ed7cb5385daecac13b4fbf2fdc8267c0",
      "parents": [
        "87098bdd100497ceac0797c6b2f4c51eea1f1e42"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Thu May 17 23:56:56 2012 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Fri Jul 20 08:58:21 2012 +0100"
      },
      "message": "[SCSI] add new SDEV_TRANSPORT_OFFLINE state\n\nThis patch adds a new state SDEV_TRANSPORT_OFFLINE. It will\nbe used by transport classes to offline devices for cases like\nwhen the fast_io_fail/recovery_tmo fires. In those cases we\nwant all IO to fail, and we have not yet escalated to dev_loss_tmo\nbehavior where we are removing the devices.\n\nCurrently to handle this state, transport classes are setting\nthe scsi_device\u0027s state to running, setting their internal\nsession/port structs state to something that indicates failed,\nand then failing IO from some transport check in the queuecommand.\n\nThe reason for the new value is so that users can distinguish\nbetween a device failure that is a result of a transport problem\nvs the wide range of errors that devices get offlined for\nwhen a scsi command times out and we offline the devices there.\nIt also fixes the confusion as to why the transport class is\nfailing IO, but has set the device state from blocked to running.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "4e5fae7adbe4f21538b9e62c0fc9b029bbd606cb",
      "tree": "99c14af426c0e3f6b38583ac66e7622028d669c6",
      "parents": [
        "0f02a6652803235a4893c7b01dd6eab862a913ec"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Fri May 25 10:26:54 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Fri Jul 20 08:31:48 2012 +0100"
      },
      "message": "[SCSI] libfc: update fcp and exch stats\n\nUpdates newly added stats from fc_get_host_stats,\nadded new function fc_exch_update_stats to\nupdate exches related stats from fc_exch.c\nby going thru internal ema_list elements.\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nAcked-by : Robert Love \u003crobert.w.love@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "0f02a6652803235a4893c7b01dd6eab862a913ec",
      "tree": "21c80b2f5778a620da6c3e2599b6deee8e459ec0",
      "parents": [
        "1bd49b482077e231842352621169dedff1f41931"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Fri May 25 10:26:48 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Fri Jul 20 08:31:48 2012 +0100"
      },
      "message": "[SCSI] libfc: adds FCP failures stats\n\nAdds stats to track FCP pkt and frame alloc\nfailure.\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nAcked-by : Robert Love \u003crobert.w.love@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "1bd49b482077e231842352621169dedff1f41931",
      "tree": "7505af722b6391c6199b153527b1d777105277a7",
      "parents": [
        "e58abb0ca423fc7adcf70bee018723b87c9e38c2"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Fri May 25 10:26:43 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Fri Jul 20 08:31:47 2012 +0100"
      },
      "message": "[SCSI] libfc, fcoe, bnx2fc: cleanup fcoe_dev_stats\n\nThe libfc is used by fcoe but fcoe agnostic,\nand therefore should not have any fcoe references.\n\nSo renaming fcoe_dev_stats from libfc as its for fc_stats.\nAfter that libfc is fcoe string free except some strings for\nOpen-FCoE.org.\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nAcked-by : Robert Love \u003crobert.w.love@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nAcked-by: Bhanu Prakash Gollapudi \u003cbprakash@broadcom.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "e58abb0ca423fc7adcf70bee018723b87c9e38c2",
      "tree": "a40305e74b6c8f52261a05bbdca87f61d1d89877",
      "parents": [
        "85efc72a0218335324d358ac479a04c16316fd4d"
      ],
      "author": {
        "name": "Vasu Dev",
        "email": "vasu.dev@intel.com",
        "time": "Fri May 25 10:26:38 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Fri Jul 20 08:31:47 2012 +0100"
      },
      "message": "[SCSI] fc: add some more FC specific stats to fc_host\n\nThe libfc provides more flexibility and with that\nwe can monitor some more FC specific stats for\nFC exches or FCP error cases, this patch add\nsuch new FC stats.\n\nThe patch adds *only* FC specific new stats to\nexisting fc_host attribute container.\n\nAdded stats names are self explanatory as\nexisting FC stats already has, however anyway\nstill added commentary along their definition\nto describe them.\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nAcked-by : Robert Love \u003crobert.w.love@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "6ef1b512f4e6f936d89aa20be3d97a7ec7c290ac",
      "tree": "de2a0d0a74d2f0cdab456766fa77c5ec60487771",
      "parents": [
        "222a806af830fda34ad1f6bc991cd226916de060"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jun 22 10:52:34 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Jul 08 09:49:14 2012 +0100"
      },
      "message": "[SCSI] libsas: fix taskfile corruption in sas_ata_qc_fill_rtf\n\nfill_result_tf() grabs the taskfile flags from the originating qc which\nsas_ata_qc_fill_rtf() promptly overwrites.  The presence of an\nata_taskfile in the sata_device makes it tempting to just copy the full\ncontents in sas_ata_qc_fill_rtf().  However, libata really only wants\nthe fis contents and expects the other portions of the taskfile to not\nbe touched by -\u003eqc_fill_rtf.  To that end store a fis buffer in the\nsata_device and use ata_tf_from_fis() like every other -\u003eqc_fill_rtf()\nimplementation.\n\nCc: \u003cstable@vger.kernel.org\u003e\nReported-by: Praveen Murali \u003cpmurali@logicube.com\u003e\nTested-by: Praveen Murali \u003cpmurali@logicube.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "222a806af830fda34ad1f6bc991cd226916de060",
      "tree": "fe6a727db036c0037f299a59d223ef95931140e2",
      "parents": [
        "bd0a521e88aa7a06ae7aabaed7ae196ed4ad867a"
      ],
      "author": {
        "name": "Mark Rustad",
        "email": "mark.d.rustad@intel.com",
        "time": "Thu Jun 21 12:23:42 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Jul 08 09:40:51 2012 +0100"
      },
      "message": "[SCSI] Fix NULL dereferences in scsi_cmd_to_driver\n\nAvoid crashing if the private_data pointer happens to be NULL. This has\nbeen seen sometimes when a host reset happens, notably when there are\nmany LUNs:\n\nhost3: Assigned Port ID 0c1601\nscsi host3: libfc: Host reset succeeded on port (0c1601)\nBUG: unable to handle kernel NULL pointer dereference at 0000000000000350\nIP: [\u003cffffffff81352bb8\u003e] scsi_send_eh_cmnd+0x58/0x3a0\n\u003csnip\u003e\nProcess scsi_eh_3 (pid: 4144, threadinfo ffff88030920c000, task ffff880326b160c0)\nStack:\n 000000010372e6ba 0000000000000282 000027100920dca0 ffffffffa0038ee0\n 0000000000000000 0000000000030003 ffff88030920dc80 ffff88030920dc80\n 00000002000e0000 0000000a00004000 ffff8803242f7760 ffff88031326ed80\nCall Trace:\n [\u003cffffffff8105b590\u003e] ? lock_timer_base+0x70/0x70\n [\u003cffffffff81352fbe\u003e] scsi_eh_tur+0x3e/0xc0\n [\u003cffffffff81353a36\u003e] scsi_eh_test_devices+0x76/0x170\n [\u003cffffffff81354125\u003e] scsi_eh_host_reset+0x85/0x160\n [\u003cffffffff81354291\u003e] scsi_eh_ready_devs+0x91/0x110\n [\u003cffffffff813543fd\u003e] scsi_unjam_host+0xed/0x1f0\n [\u003cffffffff813546a8\u003e] scsi_error_handler+0x1a8/0x200\n [\u003cffffffff81354500\u003e] ? scsi_unjam_host+0x1f0/0x1f0\n [\u003cffffffff8106ec3e\u003e] kthread+0x9e/0xb0\n [\u003cffffffff81509264\u003e] kernel_thread_helper+0x4/0x10\n [\u003cffffffff8106eba0\u003e] ? kthread_freezable_should_stop+0x70/0x70\n [\u003cffffffff81509260\u003e] ? gs_change+0x13/0x13\nCode: 25 28 00 00 00 48 89 45 c8 31 c0 48 8b 87 80 00 00 00 48 8d b5 60 ff ff ff 89 d1 48 89 fb 41 89 d6 4c 89 fa 48 8b 80 b8 00 00 00\n \u003c48\u003e 8b 80 50 03 00 00 48 8b 00 48 89 85 38 ff ff ff 48 8b 07 4c\nRIP  [\u003cffffffff81352bb8\u003e] scsi_send_eh_cmnd+0x58/0x3a0\n RSP \u003cffff88030920dc50\u003e\nCR2: 0000000000000350\n\n\nSigned-off-by: Mark Rustad \u003cmark.d.rustad@intel.com\u003e\nTested-by: Marcus Dennis \u003cmarcusx.e.dennis@intel.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "166a2967b45ede2e2e56f3ede3cd32053dc17812",
      "tree": "e1cb8b667281fc42512f1e4656292789e76bb5f3",
      "parents": [
        "b1354cbb5bfce28f2e1ed28d77b362dfdfca638d"
      ],
      "author": {
        "name": "Aaron Lu",
        "email": "aaron.lu@amd.com",
        "time": "Mon Jun 25 16:13:09 2012 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri Jun 29 11:38:45 2012 -0400"
      },
      "message": "libata: tell scsi layer device supports runtime power off\n\nIf ATA device supports \"Device Attention\", then tell scsi layer that\nthe device supports runtime power off.\n\nSigned-off-by: Aaron Lu \u003caaron.lu@amd.com\u003e\nSigned-off-by: Lin Ming \u003cming.m.lin@intel.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "de50ada55b6b83b54b817911ec42dc590e1c1738",
      "tree": "a01be5907effa3e64cf3b9b65b963a8785f42889",
      "parents": [
        "9acc7bde23ebb19a704395f76490685e1513e422"
      ],
      "author": {
        "name": "Holger Macht",
        "email": "holger@homac.de",
        "time": "Mon Jun 25 16:13:02 2012 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri Jun 29 11:38:09 2012 -0400"
      },
      "message": "[SCSI] add wrapper to access and set scsi_bus_type in struct acpi_bus_type\n\nFor being able to bind ata devices against acpi devices, scsi_bus_type\nneeds to be set as bus in struct acpi_bus_type. So add wrapper to\nscsi_lib to accomplish that.\n\nSigned-off-by: Holger Macht \u003cholger@homac.de\u003e\nSigned-off-by: Lin Ming \u003cming.m.lin@intel.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "6a0bdffa0073857870a4ed1b4489762146359eb4",
      "tree": "ad189d34420a54cdde107a936e5b10a371bc12ca",
      "parents": [
        "1e2c4e59d2b8797973471b4a287a43eac12a0f40"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Jun 20 16:04:19 2012 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Jun 22 22:05:31 2012 -0700"
      },
      "message": "SCSI \u0026 usb-storage: add try_rc_10_first flag\n\nSeveral bug reports have been received recently for USB mass-storage\ndevices that don\u0027t handle READ CAPACITY(16) commands properly.  They\nreport bogus sizes, in some cases becoming unusable as a result.\n\nThe bugs were triggered by commit\n09b6b51b0b6c1b9bb61815baf205e4d74c89ff04 (SCSI \u0026 usb-storage: add\nflags for VPD pages and REPORT LUNS), which caused usb-storage to stop\noverriding the SCSI level reported by devices.  By default, the sd\ndriver will try READ CAPACITY(16) first for any device whose level is\nabove SCSI_SPC_2.\n\nIt seems likely that any device large enough to require the use of\nREAD CAPACITY(16) (i.e., 2 TB or more) would be able to handle READ\nCAPACITY(10) commands properly.  Indeed, I don\u0027t know of any devices\nthat don\u0027t handle READ CAPACITY(10) properly.\n\nTherefore this patch (as1559) adds a new flag telling the sd driver\nto try READ CAPACITY(10) before READ CAPACITY(16), and sets this flag\nfor every USB mass-storage device.  If a device really is larger than\n2 TB, sd will fall back to READ CAPACITY(16) just as it used to.\n\nThis fixes Bugzilla #43391.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: Hans de Goede \u003chdegoede@redhat.com\u003e\nCC: \"James E.J. Bottomley\" \u003cJBottomley@parallels.com\u003e\nCC: Matthew Dharm \u003cmdharm-usb@one-eyed-alien.net\u003e\nCc: stable \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "8d55e507d24c6db7eb012c379c62912e642eb75e",
      "tree": "5118b221cf9eab4ad040c9e1bcabb794e57dc906",
      "parents": [
        "9a74e884ee71dbf3d0967b0321d7b4529a04826c"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Tue May 22 19:06:26 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed May 23 09:43:13 2012 +0100"
      },
      "message": "[SCSI] fcoe, bnx2fc, libfcoe: SW FCoE and bnx2fc use FCoE Syfs\n\nThis patch has the SW FCoE driver and the bnx2fc\ndriver make use of the new fcoe_sysfs API added\nearlier in this patch series.\n\nAfter this patch a fcoe_ctlr_device is allocated with\nprivate data in this order.\n\n+------------------+   +------------------+\n| fcoe_ctlr_device |   | fcoe_ctlr_device |\n+------------------+   +------------------+\n| fcoe_ctlr        |   | fcoe_ctlr        |\n+------------------+   +------------------+\n| fcoe_interface   |   | bnx2fc_interface |\n+------------------+   +------------------+\n\nlibfcoe also takes part in this new model since it\ndiscovers and manages fcoe_fcf instances. The memory\nallocation is different for FCFs. I didn\u0027t want to\nimpact libfcoe\u0027s fcoe_fcf processing, so this patch\ncreates fcoe_fcf_device instances for each discovered\nfcoe_fcf. The two are paired using a (void * priv)\nmember of the fcoe_ctlr_device. This allows libfcoe\nto continue maintaining its list of fcoe_fcf instances\nand simply attaches and detaches them from existing\nor new fcoe_fcf_device instances.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "9a74e884ee71dbf3d0967b0321d7b4529a04826c",
      "tree": "29cf0211927a3e54908f2dffa9ebde18794d6ed6",
      "parents": [
        "fd8f89027d816cb023edf6bfd4c744f194150a05"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Tue May 22 19:06:21 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed May 23 09:40:09 2012 +0100"
      },
      "message": "[SCSI] libfcoe: Add fcoe_sysfs\n\nThis patch adds a \u0027fcoe bus\u0027 infrastructure to the kernel\nthat is driven by changes to libfcoe which allow LLDs to\npresent FIP (FCoE Initialization Protocol) discovered\nentities and their attributes to user space via sysfs.\n\nThis patch adds the following APIs-\n\nfcoe_ctlr_device_add\nfcoe_ctlr_device_delete\nfcoe_fcf_device_add\nfcoe_fcf_device_delete\n\nThey allow the LLD to expose the FCoE ENode Controller\nand any discovered FCFs (Fibre Channel Forwarders, e.g.\nFCoE switches) to the user. Each of these new devices\nhas their own bus_type so that they are grouped together\nfor easy lookup from a user space application. Each\nnew class has an attribute_group to expose attributes\nfor any created instances. The attributes are-\n\nfcoe_ctlr_device\n* fcf_dev_loss_tmo\n* lesb_link_fail\n* lesb_vlink_fail\n* lesb_miss_fka\n* lesb_symb_err\n* lesb_err_block\n* lesb_fcs_error\n\nfcoe_fcf_device\n* fabric_name\n* switch_name\n* priority\n* selected\n* fc_map\n* vfid\n* mac\n* fka_peroid\n* fabric_state\n* dev_loss_tmo\n\nA device loss infrastructre similar to the FC Transport\u0027s\nis also added by this patch. It is nice to have so that a\nlink flapping adapter doesn\u0027t continually advance the count\nused to identify the discovered FCF. FCFs will exist in a\n\"Disconnected\" state until either the timer expires or the\nFCF is rediscovered and becomes \"Connected.\"\n\nThis patch generates a few checkpatch.pl WARNINGS that\nI\u0027m not sure what to do about. They\u0027re macros modeled\naround the FC Transport attribute building macros, which\nhave the same \u0027feature\u0027 where the caller can ommit a cast\nin the argument list and no cast occurs in the code. I\u0027m\nnot sure how to keep the code condensed while keeping the\nmacros. Any advice would be appreciated.\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "619fe4bed415e5d8a4749937f42b6a8a9031d4aa",
      "tree": "8b52f6fd4b2ba58ef898f628aba8ab49111e1aa8",
      "parents": [
        "b7e94a1686c5daef4f649f7f4f839cc294f07710"
      ],
      "author": {
        "name": "Robert Love",
        "email": "robert.w.love@intel.com",
        "time": "Tue May 22 19:06:10 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed May 23 09:36:27 2012 +0100"
      },
      "message": "[SCSI] fcoe: Allocate fcoe_ctlr with fcoe_interface, not as a member\n\nCurrently the fcoe_ctlr associated with an interface is allocated\nas a member of struct fcoe_interface. This causes problems when\nattempting to use the new fcoe_sysfs APIs which allow us to allocate\nthe fcoe_interface as private data to the fcoe_ctlr_device instance.\nThe problem is that libfcoe wants to be able use pointer math to find a\nfcoe_ctlr\u0027s fcoe_ctlr_device as well as finding a fcoe_ctlr_device\u0027s\nassocated fcoe_ctlr. To do this we need to allocate the\nfcoe_ctlr_device, with private data for the LLD. The private data\ncontains the fcoe_ctlr and its private data is the fcoe_interface.\nThis patch only allocates the fcoe_interface with the fcoe_ctlr, the\nfcoe_ctlr_device will be added in a later patch, which will complete\nthe below diagram-\n\n+------------------+\n| fcoe_ctlr_device |\n+------------------+\n| fcoe_ctlr        |\n+------------------+\n| fcoe_interface   |\n+------------------+\n\nThis prep work will allow us to go from a fcoe_ctlr_device instance\nto its fcoe_ctlr as well as from a fcoe_ctlr to its fcoe_ctlr_device\nonce the fcoe_sysfs API is in use (later patches in this series).\n\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "e34693336564f02b3e2cc09d8b872aef22a154e9",
      "tree": "09f51f10f9406042f9176e39b4dc8de850ba712e",
      "parents": [
        "76b311fdbdd2e16e5d39cd496a67aa1a1b948914",
        "de2eb4d5c5c25e8fb75d1e19092f24b83cb7d8d5"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Mon May 21 12:17:30 2012 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Mon May 21 12:17:30 2012 +0100"
      },
      "message": "Merge tag \u0027isci-for-3.5\u0027 into misc\n\nisci update for 3.5\n\n1/ Rework remote-node-context (RNC) handling for proper management of\n   the silicon state machine in error handling and hot-plug conditions.\n   Further details below, suffice to say if the RNC is mismanaged the\n   silicon state machines may lock up.\n\n2/ Refactor the initialization code to be reused for suspend/resume support\n\n3/ Miscellaneous bug fixes to address discovery issues and hardware\n   compatibility.\n\nRNC rework details from Jeff Skirvin:\n\nIn the controller, devices as they appear on a SAS domain (or\ndirect-attached SATA devices) are represented by memory structures known\nas \"Remote Node Contexts\" (RNCs).  These structures are transferred from\nmain memory to the controller using a set of register commands; these\ncommands include setting up the context (\"posting\"), removing the\ncontext (\"invalidating\"), and commands to control the scheduling of\ncommands and connections to that remote device (\"suspensions\" and\n\"resumptions\").  There is a similar path to control RNC scheduling from\nthe protocol engine, which interprets the results of command and data\ntransmission and reception.\n\nIn general, the controller chooses among non-suspended RNCs to find one\nthat has work requiring scheduling the transmission of command and data\nframes to a target.  Likewise, when a target tries to return data back\nto the initiator, the state of the RNC is used by the controller to\ndetermine how to treat the incoming request. As an example, if the RNC\nis in the state \"TX/RX Suspended\", incoming SSP connection requests from\nthe target will be rejected by the controller hardware.  When an RNC is\n\"TX Suspended\", it will not be selected by the controller hardware to\nstart outgoing command or data operations (with certain priority-based\nexceptions).\n\nAs mentioned above, there are two sources for management of the RNC\nstates: commands from driver software, and the result of transmission\nand reception conditions of commands and data signaled by the controller\nhardware.  As an example of the latter, if an outgoing SSP command ends\nwith a OPEN_REJECT(BAD_DESTINATION) status, the RNC state will\ntransition to the \"TX Suspended\" state, and this is signaled by the\ncontroller hardware in the status to the completion of the pending\ncommand as well as signaled in a controller hardware event.  Examples of\nthe former are included in the patch changelogs.\n\nDriver software is required to suspend the RNC in a \"TX/RX Suspended\"\ncondition before any outstanding commands can be terminated.  Failure to\nguarantee this can lead to a complete hardware hang condition.  Earlier\nversions of the driver software did not guarantee that an RNC was\ncorrectly managed before I/O termination, and so operated in an unsafe\nway.\n\nFurther, the driver performed unnecessary contortions to preserve the\nremote device command state and so was more complicated than it needed\nto be.  A simplifying driver assumption is that once an I/O has entered\nthe error handler path without having completed in the target, the\nrequirement on the driver is that all use of the sas_task must end.\nBeyond that, recovery of operation is dependent on libsas and other\ncomponents to reset, rediscover and reconfigure the device before normal\noperation can restart.  In the driver, this simplifying assumption meant\nthat the RNC management could be reduced to entry into the suspended\nstate, terminating the targeted I/O request, and resuming the RNC as\nneeded for device-specific management such as an SSP Abort Task or LUN\nReset Management request.\n"
    },
    {
      "commit": "c79dd80d73017a88a2c2ae46e7d5303cba6a32e0",
      "tree": "4bf1f09df72921272e38bc0c9610374d4c1873e2",
      "parents": [
        "11cc51835af0e6fbb2da9cb012bdaaa036497b7f"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Feb 01 00:44:14 2012 -0800"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu May 17 12:27:11 2012 -0700"
      },
      "message": "isci: kill sci_phy_protocol and sci_request_protocol\n\nHoldovers from the initial driver cleanup, replace with enum sas_protocol.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "2177199d5150cf61bf26badcb6901176cc13787b",
      "tree": "d6fc1da211354f6601959ecb6fc7d2a704b1b039",
      "parents": [
        "605c6cd201714535e2723a60197228050f863a8f"
      ],
      "author": {
        "name": "John Soni Jose",
        "email": "sony.john-n@emulex.com",
        "time": "Tue Apr 03 23:41:49 2012 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Apr 25 09:29:35 2012 +0100"
      },
      "message": "[SCSI] be2iscsi: Get Initiator Name for the iSCSI_Host\n\nImplement the ISCSI_HOST_PARAM_INITIATOR_NAME for .get_host_param\n\nSigned-off-by: John Soni Jose \u003csony.john-n@emulex.com\u003e\nSigned-off-by: Jayamohan Kallickal \u003cjayamohan.kallickal@emulex.com\u003e\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "b2024459252a9d2d312ee562f86f332a1498f412",
      "tree": "751987779eee44a601a68c766ba2ff258b77d25a",
      "parents": [
        "0f3fce5cc77e1f35758ef0e46a989e76e5046a7b"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Mar 21 21:09:07 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Mon Apr 23 12:11:47 2012 +0100"
      },
      "message": "[SCSI] libsas, libata: fix start of life for a sas ata_port\n\nThis changes the ordering of initialization and probing events from:\n  1/ allocate rphy in PORTE_BYTES_DMAED, DISCE_REVALIDATE_DOMAIN\n  2/ allocate ata_port and schedule port probe in DISCE_PROBE\n...to:\n  1/ allocate ata_port in PORTE_BYTES_DMAED, DISCE_REVALIDATE_DOMAIN\n  2/ allocate rphy in PORTE_BYTES_DMAED, DISCE_REVALIDATE_DOMAIN\n  3/ schedule port probe in DISCE_PROBE\n\nThis ordering prevents PHYE_SIGNAL_LOSS_EVENTS from sneaking in to\ndestrory ata devices before they have been fully initialized:\n\n  BUG: unable to handle kernel paging request at 0000000000003b10\n  IP: [\u003cffffffffa0053d7e\u003e] sas_ata_end_eh+0x12/0x5e [libsas]\n  ...\n  [\u003cffffffffa004d1af\u003e] sas_unregister_common_dev+0x78/0xc9 [libsas]\n  [\u003cffffffffa004d4d4\u003e] sas_unregister_dev+0x4f/0xad [libsas]\n  [\u003cffffffffa004d5b1\u003e] sas_unregister_domain_devices+0x7f/0xbf [libsas]\n  [\u003cffffffffa004c487\u003e] sas_deform_port+0x61/0x1b8 [libsas]\n  [\u003cffffffffa004bed0\u003e] sas_phye_loss_of_signal+0x29/0x2b [libsas]\n\n...and kills the awkward \"sata domain_device briefly existing in the\ndomain without an ata_port\" state.\n\nReported-by: Michal Kosciowski \u003cmichal.kosciowski@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "22b9153faa2263aa89625de25e71c7d44c8dbd16",
      "tree": "1157d64a9c63c5b7b48b4a5b3610965d8d4c9624",
      "parents": [
        "f8fc75dc576eac0c996e4a792a4701819d999260"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Mar 09 11:00:06 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Mon Apr 23 12:03:39 2012 +0100"
      },
      "message": "[SCSI] libsas: introduce sas_work to fix sas_drain_work vs sas_queue_work\n\nWhen requeuing work to a draining workqueue the last work instance may\nnot be idle, so sas_queue_work() must not touch work-\u003eentry.  Introduce\nsas_work with a drain_node list_head to have a private list for\ncollecting work deferred due to drain collision.\n\nFixes reports like:\n  BUG: unable to handle kernel NULL pointer dereference at           (null)\n  IP: [\u003cffffffff810410d4\u003e] process_one_work+0x2e/0x338\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "919f797a4c9c22ff5ec059744dba364dc600ece2",
      "tree": "6f2183e84c2bcfdc6eebed82319a4a21b871bdea",
      "parents": [
        "bfecc60d8f6715ec6b38aa29c4f5a3570415dae0"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Sat Apr 14 23:01:28 2012 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 15 11:08:53 2012 -0700"
      },
      "message": "SCSI: Fix error handling when no ULD is attached\n\nCommit 18a4d0a22ed6 (\"[SCSI] Handle disk devices which can not process\nmedium access commands\") introduced a bug in which we would attempt to\ndereference the scsi driver even when the device had no ULD attached.\n\nEnsure that a driver is registered and make the driver accessor function\nmore resilient to errors during device discovery.\n\nReported-by: Elric Fu \u003celricfu1@gmail.com\u003e\nReported-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a75ee6ecd411a50bf4da927c2fdb2cb56246a2bd",
      "tree": "fcb06e1940152b115901fda68e7eea1cc1196ff3",
      "parents": [
        "c9651e70ad0aa499814817cbf3cc1d0b806ed3a1",
        "699316948628dab9e813c415640fe5b9f65cd5e3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 13:31:23 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 13:31:23 2012 -0700"
      },
      "message": "Merge tag \u0027scsi-misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\nPull SCSI updates from James Bottomley:\n \"This is primarily another round of driver updates (lpfc, bfa, fcoe,\n  ipr) plus a new ufshcd driver.  There shouldn\u0027t be anything\n  controversial in here (The final deletion of scsi proc_ops which\n  caused some build breakage has been held over until the next merge\n  window to give us more time to stabilise it).\n\n  I\u0027m afraid, with me moving continents at exactly the wrong time,\n  anything submitted after the merge window opened has been held over to\n  the next merge window.\"\n\n* tag \u0027scsi-misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (63 commits)\n  [SCSI] ipr: Driver version 2.5.3\n  [SCSI] ipr: Increase alignment boundary of command blocks\n  [SCSI] ipr: Increase max concurrent oustanding commands\n  [SCSI] ipr: Remove unnecessary memory barriers\n  [SCSI] ipr: Remove unnecessary interrupt clearing on new adapters\n  [SCSI] ipr: Fix target id allocation re-use problem\n  [SCSI] atp870u, mpt2sas, qla4xxx use pci_dev-\u003erevision\n  [SCSI] fcoe: Drop the rtnl_mutex before calling fcoe_ctlr_link_up\n  [SCSI] bfa: Update the driver version to 3.0.23.0\n  [SCSI] bfa: BSG and User interface fixes.\n  [SCSI] bfa: Fix to avoid vport delete hang on request queue full scenario.\n  [SCSI] bfa: Move service parameter programming logic into firmware.\n  [SCSI] bfa: Revised Fabric Assigned Address(FAA) feature implementation.\n  [SCSI] bfa: Flash controller IOC pll init fixes.\n  [SCSI] bfa: Serialize the IOC hw semaphore unlock logic.\n  [SCSI] bfa: Modify ISR to process pending completions\n  [SCSI] bfa: Add fc host issue lip support\n  [SCSI] mpt2sas: remove extraneous sas_log_info messages\n  [SCSI] libfc: fcoe_transport_create fails in single-CPU environment\n  [SCSI] fcoe: reduce contention for fcoe_rx_list lock [v2]\n  ...\n"
    },
    {
      "commit": "81c11dd2ed154b351eb6ee3443e07094a1d53ce1",
      "tree": "e5c14fc2f3bafdb7172678a01d8f01d4d5cb1d29",
      "parents": [
        "73d67aa40b1f94a4e5edecbbc3b94d352eeeae0a"
      ],
      "author": {
        "name": "Bhanu Prakash Gollapudi",
        "email": "bprakash@broadcom.com",
        "time": "Fri Mar 09 14:50:03 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Mar 28 09:05:37 2012 +0100"
      },
      "message": "[SCSI] libfcoe: Support extra MAC descriptor to be used as FCoE MAC\n\nSome switch implementations (eg., HP virtual connect FlexFabric) send two MAC\ndescriptors in FIP FLOGI response, with first MAC descriptor (granted_mac) used\nas FPMA, and the second one (fcoe_mac) used as destination address for\nsending/receiving FCoE packets. fip_mac continues to be used for FIP traffic.\nThis patch introduces fcoe_mac in fcoe_fcf structure. For regular switches,\nboth fcoe_mac and fip_mac will be the same. For the switches that send\nadditional MAC descriptor, fcoe_mac is updated.\n\nSigned-off-by: Bhanu Prakash Gollapudi \u003cbprakash@broadcom.com\u003e\nSigned-off-by: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "5a5a15f2057baea9a4d282883183ceaca9c1e847",
      "tree": "9e28d0f73e1e30aad759dee70deeac44c1d3136a",
      "parents": [
        "1a590cabc272d62ffca1427d3010aea2098f414f"
      ],
      "author": {
        "name": "Vikas Chaudhary",
        "email": "vikas.chaudhary@qlogic.com",
        "time": "Tue Mar 06 04:16:05 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Tue Mar 27 08:26:35 2012 +0100"
      },
      "message": "[SCSI] qla4xxx: Removed packed attr from struct iscsi_chap_rec\n\nWe don\u0027t need to pack \u0027struct iscsi_chap_rec\u0027 as buffer is built\nlocally in the driver and pass to the user-space.\n\nSigned-off-by: Vikas Chaudhary \u003cvikas.chaudhary@qlogic.com\u003e\nReviewed-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "1a590cabc272d62ffca1427d3010aea2098f414f",
      "tree": "8fa9a2e0fdb2493ee10661ea9b711a3fb7312782",
      "parents": [
        "e16d166e4f931cd735e5bac1a1affe7db09a8ea7"
      ],
      "author": {
        "name": "Vikas Chaudhary",
        "email": "vikas.chaudhary@qlogic.com",
        "time": "Tue Mar 06 04:16:04 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Tue Mar 27 08:26:35 2012 +0100"
      },
      "message": "[SCSI] iscsi_transport: Added error status code for ping comp event\n\nDefined error codes for ping completion status.\n\nThis patch take care of Mike Christie\u0027s commets\n\nSigned-off-by: Vikas Chaudhary \u003cvikas.chaudhary@qlogic.com\u003e\nReviewed-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "250f6715a4112d6686670c5a62ceb9305da94616",
      "tree": "ee1c9b41ed1fed8174efb312421902f19c877e8c",
      "parents": [
        "11bcb32848ddb5ab28f09f142b625e2ba4d55c4c",
        "313162d0b83836e2f57e51b9b8650fb4b9c396ea"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:41:37 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:41:37 2012 -0700"
      },
      "message": "Merge tag \u0027device-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\nPull \u003clinux/device.h\u003e avoidance patches from Paul Gortmaker:\n \"Nearly every subsystem has some kind of header with a proto like:\n\n\tvoid foo(struct device *dev);\n\n  and yet there is no reason for most of these guys to care about the\n  sub fields within the device struct.  This allows us to significantly\n  reduce the scope of headers including headers.  For this instance, a\n  reduction of about 40% is achieved by replacing the include with the\n  simple fact that the device is some kind of a struct.\n\n  Unlike the much larger module.h cleanup, this one is simply two\n  commits.  One to fix the implicit \u003clinux/device.h\u003e users, and then one\n  to delete the device.h includes from the linux/include/ dir wherever\n  possible.\"\n\n* tag \u0027device-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:\n  device.h: audit and cleanup users in main include dir\n  device.h: cleanup users outside of linux/include (C files)\n"
    },
    {
      "commit": "ed2d265d1266736bd294332d7f649003943ae36e",
      "tree": "860e5b7bb72933e4a9abacdc2f2d75a0e6254e32",
      "parents": [
        "f1d38e423a697b7aa06e12d3ca4753bcc1aa3531",
        "6c03438edeb5c359af35f060ea016ca65671c269"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:08:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:08:39 2012 -0700"
      },
      "message": "Merge tag \u0027bug-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\nPull \u003clinux/bug.h\u003e cleanup from Paul Gortmaker:\n \"The changes shown here are to unify linux\u0027s BUG support under the one\n  \u003clinux/bug.h\u003e file.  Due to historical reasons, we have some BUG code\n  in bug.h and some in kernel.h -- i.e.  the support for BUILD_BUG in\n  linux/kernel.h predates the addition of linux/bug.h, but old code in\n  kernel.h wasn\u0027t moved to bug.h at that time.  As a band-aid, kernel.h\n  was including \u003casm/bug.h\u003e to pseudo link them.\n\n  This has caused confusion[1] and general yuck/WTF[2] reactions.  Here\n  is an example that violates the principle of least surprise:\n\n      CC      lib/string.o\n      lib/string.c: In function \u0027strlcat\u0027:\n      lib/string.c:225:2: error: implicit declaration of function \u0027BUILD_BUG_ON\u0027\n      make[2]: *** [lib/string.o] Error 1\n      $\n      $ grep linux/bug.h lib/string.c\n      #include \u003clinux/bug.h\u003e\n      $\n\n  We\u0027ve included \u003clinux/bug.h\u003e for the BUG infrastructure and yet we\n  still get a compile fail! [We\u0027ve not kernel.h for BUILD_BUG_ON.] Ugh -\n  very confusing for someone who is new to kernel development.\n\n  With the above in mind, the goals of this changeset are:\n\n  1) find and fix any include/*.h files that were relying on the\n     implicit presence of BUG code.\n  2) find and fix any C files that were consuming kernel.h and hence\n     relying on implicitly getting some/all BUG code.\n  3) Move the BUG related code living in kernel.h to \u003clinux/bug.h\u003e\n  4) remove the asm/bug.h from kernel.h to finally break the chain.\n\n  During development, the order was more like 3-4, build-test, 1-2.  But\n  to ensure that git history for bisect doesn\u0027t get needless build\n  failures introduced, the commits have been reorderd to fix the problem\n  areas in advance.\n\n\t[1]  https://lkml.org/lkml/2012/1/3/90\n\t[2]  https://lkml.org/lkml/2012/1/17/414\"\n\nFix up conflicts (new radeon file, reiserfs header cleanups) as per Paul\nand linux-next.\n\n* tag \u0027bug-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:\n  kernel.h: doesn\u0027t explicitly use bug.h, so don\u0027t include it.\n  bug: consolidate BUILD_BUG_ON with other bug code\n  BUG: headers with BUG/BUG_ON etc. need linux/bug.h\n  bug.h: add include of it to various implicit C users\n  lib: fix implicit users of kernel.h for TAINT_WARN\n  spinlock: macroize assert_spin_locked to avoid bug.h dependency\n  x86: relocate get/set debugreg fcns to include/asm/debugreg.\n"
    },
    {
      "commit": "10db4e1e4e9a910a26b94045660e5ba7e7c71419",
      "tree": "cd28bea676da081ceb76984867ecfb5559bbe70a",
      "parents": [
        "d314d74c695f967e10598467a326f41c78ed1e20"
      ],
      "author": {
        "name": "Bobby Powers",
        "email": "bobbypowers@gmail.com",
        "time": "Fri Mar 23 15:01:51 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:31 2012 -0700"
      },
      "message": "headers: include linux/types.h where appropriate\n\nThis addresses some header check warnings.  DRM headers which include\n\"drm.h\" have been excluded, as they indirectly include types.h.\n\nSigned-off-by: Bobby Powers \u003cbobbypowers@gmail.com\u003e\nCc: Chris Ball \u003ccjb@laptop.org\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "424a6f6ef990b7e9f56f6627bfc6c46b493faeb4",
      "tree": "0028356ed8003495fbbe1f716f359e3c8ebc35b6",
      "parents": [
        "1ab142d499294b844ecc81e8004db4ce029b0b61",
        "cd8df932d894f3128c884e3ae1b2b484540513db"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 12:55:29 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 12:55:29 2012 -0700"
      },
      "message": "Merge tag \u0027scsi-misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\nSCSI updates from James Bottomley:\n \"The update includes the usual assortment of driver updates (lpfc,\n  qla2xxx, qla4xxx, bfa, bnx2fc, bnx2i, isci, fcoe, hpsa) plus a huge\n  amount of infrastructure work in the SAS library and transport class\n  as well as an iSCSI update.  There\u0027s also a new SCSI based virtio\n  driver.\"\n\n* tag \u0027scsi-misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (177 commits)\n  [SCSI] qla4xxx: Update driver version to 5.02.00-k15\n  [SCSI] qla4xxx: trivial cleanup\n  [SCSI] qla4xxx: Fix sparse warning\n  [SCSI] qla4xxx: Add support for multiple session per host.\n  [SCSI] qla4xxx: Export CHAP index as sysfs attribute\n  [SCSI] scsi_transport: Export CHAP index as sysfs attribute\n  [SCSI] qla4xxx: Add support to display CHAP list and delete CHAP entry\n  [SCSI] iscsi_transport: Add support to display CHAP list and delete CHAP entry\n  [SCSI] pm8001: fix endian issue with code optimization.\n  [SCSI] pm8001: Fix possible racing condition.\n  [SCSI] pm8001: Fix bogus interrupt state flag issue.\n  [SCSI] ipr: update PCI ID definitions for new adapters\n  [SCSI] qla2xxx: handle default case in qla2x00_request_firmware()\n  [SCSI] isci: improvements in driver unloading routine\n  [SCSI] isci: improve phy event warnings\n  [SCSI] isci: debug, provide state-enum-to-string conversions\n  [SCSI] scsi_transport_sas: \u0027enable\u0027 phys on reset\n  [SCSI] libsas: don\u0027t recover end devices attached to disabled phys\n  [SCSI] libsas: fixup target_port_protocols for expanders that don\u0027t report sata\n  [SCSI] libsas: set attached device type and target protocols for local phys\n  ...\n"
    },
    {
      "commit": "1ab142d499294b844ecc81e8004db4ce029b0b61",
      "tree": "9db85a456d0cba3de8b9bd6671b1b52fa939770c",
      "parents": [
        "267d7b23dd62f6ec55e0fba777e456495c308fc7",
        "187e70a554e0f0717a65998bc9199945cbbd4692"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 12:38:04 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 12:38:04 2012 -0700"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending\n\nPull SCSI target updates from Nicholas Bellinger:\n \"This contains the usual set of updates and bugfixes to target-core +\n  existing fabric module code, along with a handful of the patches\n  destined for v3.3 stable.\n\n  It also contains the necessary target-core infrastructure pieces\n  required to run using tcm_qla2xxx.ko WWPNs with the new Qlogic Fibre\n  Channel fabric module currently queued in target-pending/for-next-merge,\n  and coming for round 2.\n\n  The highlights for this series include:\n\n   - Add target_submit_tmr() helper function for fabric task management\n     (andy)\n   - Convert tcm_fc to use target_submit_tmr() (andy)\n   - Replace target core various cmd flags with a transport state (hch)\n   - Convert loopback to use workqueue submission (hch)\n   - Convert target core to use array_zalloc for tpg_lun_list (joern)\n   - Convert target core to use array_zalloc for device_list (joern)\n   - Add target core support for TMR_ABORT_TASK (nab)\n   - Add target core se_sess-\u003esess_kref + get/put helpers (nab)\n   - Add target core se_node_acl-\u003eacl_kref for -\u003eacl_free_comp usage\n     (nab)\n   - Convert iscsi-target to use target_put_session + sess_kref (nab)\n   - Fix tcm_fc fc_exch memory leak in ft_send_resp_status (nab)\n   - Fix ib_srpt srpt_handle_cmd send_ioctx-\u003eioctx_kref leak on\n     exception (nab)\n   - Fix target core up handling of short INQUIRY buffers (roland)\n   - Untangle target-core front-end and back-end meanings of max_sectors\n     attribute (roland)\n   - Set loopback residual field for SCSI commands (roland)\n   - Fix target-core 16-bit target ports for SET TARGET PORT GROUPS\n     emulation (roland)\n\n  Thanks again to Andy, Christoph, Joern, Roland, and everyone who has\n  contributed this round!\"\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (64 commits)\n  ib_srpt: Fix srpt_handle_cmd send_ioctx-\u003eioctx_kref leak on exception\n  loopback: Fix transport_generic_allocate_tasks error handling\n  iscsi-target: remove improper externs\n  iscsi-target: Remove unused variables in iscsi_target_parameters.c\n  target: remove obvious warnings\n  target: Use array_zalloc for device_list\n  target: Use array_zalloc for tpg_lun_list\n  target: Fix sense code for unsupported SERVICE ACTION IN\n  target: Remove hack to make READ CAPACITY(10) lie if thin provisioning is enabled\n  target: Bump core version to v4.1.0-rc2-ml + fabric versions\n  tcm_fc: Fix fc_exch memory leak in ft_send_resp_status\n  target: Drop unused legacy target_core_fabric_ops API callers\n  iscsi-target: Convert to use target_put_session + sess_kref\n  target: Convert se_node_acl-\u003eacl_group removal to use -\u003eacl_kref\n  target: Add se_node_acl-\u003eacl_kref for -\u003eacl_free_comp usage\n  target: Add se_node_acl-\u003eacl_free_comp for NodeACL release path\n  target: Add se_sess-\u003esess_kref + get/put helpers\n  target: Convert session_lock to irqsave\n  target: Fix typo in drivers/target\n  iscsi-target: Fix dynamic -\u003e explict NodeACL pointer reference\n  ...\n"
    },
    {
      "commit": "313162d0b83836e2f57e51b9b8650fb4b9c396ea",
      "tree": "8f39f20515a924d392cf9a72db0918fda07a34c7",
      "parents": [
        "51990e825431089747f8896244b5c17d3a6423f1"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Jan 30 11:46:54 2012 -0500"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Fri Mar 16 10:38:24 2012 -0400"
      },
      "message": "device.h: audit and cleanup users in main include dir\n\nThe \u003clinux/device.h\u003e header includes a lot of stuff, and\nit in turn gets a lot of use just for the basic \"struct device\"\nwhich appears so often.\n\nClean up the users as follows:\n\n1) For those headers only needing \"struct device\" as a pointer\nin fcn args, replace the include with exactly that.\n\n2) For headers not really using anything from device.h, simply\ndelete the include altogether.\n\n3) For headers relying on getting device.h implicitly before\nbeing included themselves, now explicitly include device.h\n\n4) For files in which doing #1 or #2 uncovers an implicit\ndependency on some other header, fix by explicitly adding\nthe required header(s).\n\nAny C files that were implicitly relying on device.h to be\npresent have already been dealt with in advance.\n\nTotal removals from #1 and #2: 51.  Total additions coming\nfrom #3: 9.  Total other implicit dependencies from #4: 7.\n\nAs of 3.3-rc1, there were 110, so a net removal of 42 gives\nabout a 38% reduction in device.h presence in include/*\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "187f1882b5b0748b3c4c22274663fdb372ac0452",
      "tree": "36283f258cf65f03599a045d48bb05d0ec27f3f9",
      "parents": [
        "50af5ead3b44ccf8bd2b4d2a50c1b610f557c480"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Wed Nov 23 20:12:59 2011 -0500"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Sun Mar 04 17:54:34 2012 -0500"
      },
      "message": "BUG: headers with BUG/BUG_ON etc. need linux/bug.h\n\nIf a header file is making use of BUG, BUG_ON, BUILD_BUG_ON, or any\nother BUG variant in a static inline (i.e. not in a #define) then\nthat header really should be including \u003clinux/bug.h\u003e and not just\nexpecting it to be implicitly present.\n\nWe can make this change risk-free, since if the files using these\nheaders didn\u0027t have exposure to linux/bug.h already, they would have\nbeen causing compile failures/warnings.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "30534952743f73f1de3c6c056400d7249f5c7f75",
      "tree": "c2a4dafebcff2ad4779f9e931be3d108bcef4844",
      "parents": [
        "376738af500aca83bcdd78fb4c8c71a51b27f5a3"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Mon Feb 27 03:08:53 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 16:58:18 2012 -0600"
      },
      "message": "[SCSI] scsi_transport: Export CHAP index as sysfs attribute\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: Vikas Chaudhary \u003cvikas.chaudhary@qlogic.com\u003e\nReviewed-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "6260a5d221225f4e6befd98c6001325a3007a8c4",
      "tree": "710ae4cf58f56124fba9b6781b87745ec1dba9fa",
      "parents": [
        "8270ee2abb78c73b73e04f2909b0de15540c9017"
      ],
      "author": {
        "name": "Nilesh Javali",
        "email": "nilesh.javali@qlogic.com",
        "time": "Mon Feb 27 03:08:51 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 16:55:59 2012 -0600"
      },
      "message": "[SCSI] iscsi_transport: Add support to display CHAP list and delete CHAP entry\n\nFor offload iSCSI like qla4xxx CHAP entries are stored in FLASH.\nThis patch adds support to list CHAP entries stored in FLASH and\ndelete specified CHAP entry from FLASH using iscsi tools.\n\nSigned-off-by: Nilesh Javali \u003cnilesh.javali@qlogic.com\u003e\nSigned-off-by: Vikas Chaudhary \u003cvikas.chaudhary@qlogic.com\u003e\nReviewed-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "9a10b33caf78f897356ac006c455e6060a40af15",
      "tree": "9c5f9abf97b8582895eb6b4f3b244d1dc854f7b6",
      "parents": [
        "840234745edaa82d514420dc1086e63536493a51"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jan 20 15:26:03 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:39:25 2012 -0600"
      },
      "message": "[SCSI] libsas: revert ata srst\n\nlibata issues follow up srsts when the controller has a hard time\nrecording the signature-fis after a reset, or if the link supports port\nmultipliers.  libsas does not support port multipliers and no current\nlibsas lldds appear to need help retrieving the signature fis.  Revert\nit for now to remove confusion.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "9508a66f898d46e726a318469312b45e0b1d078b",
      "tree": "e6b61e6c2a7dc8b40fdc0fe34901ff3db4af47a9",
      "parents": [
        "92625f9bff3853951cc75f5bc084ee67c1317d2f"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Jan 18 20:47:01 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:35:41 2012 -0600"
      },
      "message": "[SCSI] libsas: async ata scanning\n\nlibsas ata error handling is already async but this does not help the\nscan case.  Move initial link recovery out from under host-\u003escan_mutex,\nand delay synchronization with eh until after all port probe/recovery\nwork has been queued.\n\nDevice ordering is maintained with scan order by still calling\nsas_rphy_add() in order of domain discovery.\n\nSince we now scan the domain list when invoking libata-eh we need to be\ncareful to check for fully initialized ata ports.\n\nAcked-by: Jack Wang \u003cjack_wang@usish.com\u003e\nAcked-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "92625f9bff3853951cc75f5bc084ee67c1317d2f",
      "tree": "9d5d2c89b99cdf73ec3c28703d0d5514e37ec73c",
      "parents": [
        "c666aae6919114d6cff789d79f80cfa85f3a7339"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Jan 18 20:14:01 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:34:19 2012 -0600"
      },
      "message": "[SCSI] libsas: restore scan order\n\nata devices are always scanned after ssp.  Prior to the ata error\nhandling reworks libsas would tend to scan devices in ascending expander\nphy order.  Restore this ordering by deferring ssp discovery to a\nDISCE_PROBE event, and keep the probe order consistent with the\ndiscovery order, not the placement of sata devices.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "354cf82980e2449e71fdaa3c6f170357ebd65467",
      "tree": "8300579ebb51e19e503437d5c1f5ce2fd5186f18",
      "parents": [
        "a692b0eec5efae382dfa800e8b4b083f172921a7"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Jan 12 17:57:35 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:33:02 2012 -0600"
      },
      "message": "[SCSI] libsas: let libata recover links that fail to transmit initial sig-fis\n\nlibsas fails to discover all sata devices in the domain.  If a device fails\nnegotiation and does not transmit a signature fis the link needs recovery.\nlibata already understands how to manage slow to come up links, so treat these\nconditions as ata device attach events for the purposes of creating an\nata_port.  This allows libata to manage retrying link bring up.\n\nRediscovery is modified to be careful about checking changes in dev_type.  It\nlooks like libsas leaks old devices if the sas address changes, but that\u0027s a\nfix for another patch.\n\nAcked-by: Jack Wang \u003cjack_wang@usish.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "d230ce691c7712c4f56ba3378d6d2f44628a49f1",
      "tree": "5d8e334e322e26e807d5c186c9aa349c905c0c9d",
      "parents": [
        "8abda4d28a55ecb91e39ceb5e3ee264c5a3cd1af"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Jan 11 12:08:36 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:23:24 2012 -0600"
      },
      "message": "[SCSI] libsas: fix mixed topology recovery\n\nIf we have a domain with sas and sata devices there may still be sas\nrecovery actions to take after peeling off the commands to send to\nlibata.\n\nReported-by: Andrzej Jakowski \u003candrzej.jakowski@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "7d05919aad080074453de880822fe5805875645f",
      "tree": "df78c12a7bfc9acaefd91d2a8852dca17c178790",
      "parents": [
        "45c73b65194173e77030d5b95abe5b63a402d268"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 10 14:39:13 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:20:55 2012 -0600"
      },
      "message": "[SCSI] libsas: mark all domain devices gone if root port disappears\n\nIf the top level expander is hot removed, mark all child devices as gone\nbefore unregistration to short circuit futile recovery.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "f41a0c441c3fe43e79ebeb75584dbb5bfa83e5cd",
      "tree": "5a53adb90ebf31888184a9bff16ccc1869e2e4b3",
      "parents": [
        "3a9c5560f677690f65038f399f4f598c79b83186"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Dec 21 21:33:17 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 13:01:06 2012 -0600"
      },
      "message": "[SCSI] libsas: fix sas_find_local_phy(), take phy references\n\nIn the direct-attached case this routine returns the phy on which this\ndevice was first discovered.  Which is broken if we want to support\nwide-targets, as this phy reference can become stale even though the\nport is still active.\n\nIn the expander-attached case this routine tries to lookup the phy by\nscanning the attached sas addresses of the parent expander, and BUG_ONs\nif it can\u0027t find it.  However since eh and the libsas workqueue run\nindependently we can still be attempting device recovery via eh after\nlibsas has recorded the device as detached.  This is even easier to hit\nnow that eh is blocked while device domain rediscovery takes place, and\nthat libata is fed more timed out commands increasing the chances that\nit will try to recover the ata device.\n\nArrange for dev-\u003ephy to always point to a last known good phy, it may be\nstale after the port is torn down, but it will catch up for wide port\nreconfigurations, and never be NULL.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "36a399473902a57218dc493c5a814708a56b73ab",
      "tree": "e64a9f136bbacaded9fdd3d3d39c342953d9be34",
      "parents": [
        "50824d6c5657ce340e3911171865a8d99fdd8eba"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Nov 17 17:59:54 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 12:49:36 2012 -0600"
      },
      "message": "[SCSI] libsas: poll for ata device readiness after reset\n\nUse ata_wait_after_reset() to poll for link recovery after a reset.\nThis combined with sas_ha-\u003eeh_mutex prevents expander rediscovery from\nprobing phys in an intermediate state.  Local discovery does not have a\nmechanism to filter link status changes during this timeout, so it\nremains the responsibility of lldds to prevent premature port teardown.\nAlthough once all lldd\u0027s support -\u003elldd_ata_check_ready() that could be\nused as a gate to local port teardown.\n\nThe signature fis is re-transmitted when the link comes back so we\nshould be revalidating the ata device class, but that is left to a future\npatch.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "e35fa8c2d0feb977c2f7d14a973b4132483ffef3",
      "tree": "51e22df14dcef278c0eb6a3433b06e48a18a6d09",
      "parents": [
        "8e94b8db6121570f5ceb1aede9b28db93461cb86"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Thu Jan 19 13:39:11 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Feb 25 14:37:46 2012 -0800"
      },
      "message": "scsi: Use struct scsi_lun in fc/fcp.h\n\nThis allows us to use scsilun_to_int without an ugly cast.\n\nFix up places that use scsilun_to_int on fcp-\u003efc_lun accordingly.\n\nIn fc target, this leaves ft_cmd.lun unused, so remove it.\n\nSigned-off-by: Andy Grover \u003cagrover@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Kiran Patil \u003ckiran.patil@intel.com\u003e\nCc: James Bottomley \u003cJBottomley@Parallels.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "cd0c72c16ebf604db5e8c97d287bc79d66281e32",
      "tree": "308371069ea2841b0b7958c44da6e45bc6ee9016",
      "parents": [
        "d0f474e501929acdbd116cca39ef083012f70f25"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Mon Jan 16 16:57:06 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Feb 25 14:37:46 2012 -0800"
      },
      "message": "scsi: update scsi.h with SYNCHRONIZE_CACHE_16\n\nIt\u0027s in SBC-3.\n\nSigned-off-by: Andy Grover \u003cagrover@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: James Bottomley \u003cJBottomley@Parallels.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "89d3cf6ac3cdc4f15a82709f8c78ed169a98be5b",
      "tree": "6da0cf7d0f6e0ff10890f456e754aa6f76013452",
      "parents": [
        "1f4fe89c9c78d3163cf1e389bdc6438a44b64244"
      ],
      "author": {
        "name": "Jeff Skirvin",
        "email": "jeffrey.d.skirvin@intel.com",
        "time": "Wed Nov 16 09:44:13 2011 +0000"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 14:22:49 2012 -0600"
      },
      "message": "[SCSI] libsas: add mutex for SMP task execution\n\nSAS does not tag SMP requests, and at least one lldd (isci) does not permit\nmore than one in-flight request at a time.\n\n[jejb: fix sas_init_dev tab issues while we\u0027re at it]\nSigned-off-by: Jeff Skirvin \u003cjeffrey.d.skirvin@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "2a559f4ba443265b4c58925b48296f1cf81b49f9",
      "tree": "79b2c0ea7e06ce19d00ca097e5df34595afea314",
      "parents": [
        "81c757bc696284f39f07766f0c2ca67af64ce9bd"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Sun Dec 04 00:06:57 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 14:18:01 2012 -0600"
      },
      "message": "[SCSI] libsas: sas_phy_enable via transport_sas_phy_reset\n\nExecute the link-reset triggered by sas_phy_enable via\ntransport_sas_phy_reset so that it can be managed by libata.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "81c757bc696284f39f07766f0c2ca67af64ce9bd",
      "tree": "a01a13219199520c7a992f90d54cc83513a5cdb0",
      "parents": [
        "0b3e09da1350397f3f8b6fd839ab455b0b587451"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Dec 02 16:07:01 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 14:13:51 2012 -0600"
      },
      "message": "[SCSI] libsas: execute transport link resets with libata-eh via host workqueue\n\nLink resets leave ata affiliations intact, so arrange for libsas to make\nan effort to avoid dropping the device due to a slow-to-recover link.\nTowards this end carry out reset in the host workqueue so that it can\ncheck for ata devices and kick the reset request to libata.  Hard\nresets, in contrast, bypass libata since they are meant for associating\nan ata device with another initiator in the domain (tears down\naffiliations).\n\nNeed to add a new transport_sas_phy_reset() since the current\nsas_phy_reset() is a utility function to libsas lldds.  They are not\nprepared for it to loop back into eh.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "0b3e09da1350397f3f8b6fd839ab455b0b587451",
      "tree": "f822bb4dcaa52d5d568104932ee55ee136dcf039",
      "parents": [
        "b52df4174dff7e587f6fbfb21e3c2cb57109e5cf"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Dec 20 01:03:48 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 14:11:33 2012 -0600"
      },
      "message": "[SCSI] libsas: perform sas-transport resets in shost-\u003eworkq context\n\nExtend the sas transport class to allow transport users to attach extra\ndata to a sas_phy (-\u003ehostdata).  Use this area in libsas to move resets\nto workq context in preparation for scheduling ata device resets through\nlibata-eh.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "b52df4174dff7e587f6fbfb21e3c2cb57109e5cf",
      "tree": "1e53cb4a62519dda60babc240bbd3b7f69c5b1f4",
      "parents": [
        "3a2cdf391b62919d3d2862cdce3d70b9a7a99673"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Nov 30 23:23:33 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 14:09:32 2012 -0600"
      },
      "message": "[SCSI] libsas: use libata-eh-reset for sata rediscovery fis transmit failures\n\nSince sata devices can take several seconds to recover the link on reset\nthe 0.5 seconds that libsas currently waits may not be enough.  Instead\nif we are rediscovering a phy that was previously attached to a sata\ndevice let libata handle any resets to encourage the device to transmit\nthe initial fis.\n\nOnce sas_ata_hard_reset() and lldds learn how to honor \u0027deadline\u0027 libsas\nshould stop encountering phys in an intermediate state, until then this\nwill loop until the fis is transmitted or -\u003eattached_sas_addr gets\ncleared, but in the more likely initial discovery case we keep existing\nbehavior.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "3944f50995f947558c35fb16ae0288354756762c",
      "tree": "59100b5e0a6aaef675bab78a31838356a3554a95",
      "parents": [
        "9095a64a9aead653df320e3a6fc70835c15d46e4"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Nov 29 12:08:50 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 14:07:15 2012 -0600"
      },
      "message": "[SCSI] libsas: let libata handle command timeouts\n\nlibsas-eh if it successfully aborts an ata command will hide the timeout\ncondition (AC_ERR_TIMEOUT) from libata.  The command likely completes\nwith the all-zero task-\u003etask_status it started with.  Instead, interpret\na TMF_RESP_FUNC_COMPLETE as the end of the sas_task but keep the scmd\naround for libata-eh to handle.\n\nTested-by: Andrzej Jakowski \u003candrzej.jakowski@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "9095a64a9aead653df320e3a6fc70835c15d46e4",
      "tree": "63ad804f78668bf28d90ea2f8c9640ce92dacdea",
      "parents": [
        "a3a142524aa4b1539a64a55087bf12ffa4b1f94e"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Nov 28 11:29:20 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 14:06:08 2012 -0600"
      },
      "message": "[SCSI] libsas: fix timeout vs completion race\n\nUntil we have told the lldd to forget a task a timed out operation can\nreturn from the hardware at any time.  Since completion frees the task\nwe need to make sure that no tasks run their normal completion handler\nonce eh has decided to manage the task.  Similar to\nata_scsi_cmd_error_handler() freeze completions to let eh judge the\noutcome of the race.\n\nTask collector mode is problematic because it presents a situation where\na task can be timed out and aborted before the lldd has even seen it.\nFor this case we need to guarantee that a task that an lldd has been\ntold to forget does not get queued after the lldd says \"never seen it\".\nWith sas_scsi_timed_out we achieve this with the -\u003etask_queue_flush\nmutex, rather than adding more time.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "a3a142524aa4b1539a64a55087bf12ffa4b1f94e",
      "tree": "2440c6438979cf410ca9231ab77d5115a140eca5",
      "parents": [
        "3dff5721e4f67e6231dfc419d30aaa7563bfffd4"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Dec 06 23:24:42 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 14:04:52 2012 -0600"
      },
      "message": "[SCSI] libsas: prevent double completion of scmds from eh\n\nWe invoke task-\u003etask_done() to free the task in the eh case, but at this\npoint we are prepared for scsi_eh_flush_done_q() to finish off the scmd.\n\nIntroduce sas_end_task() to capture the final response status from the\nlldd and free the task.\n\nAlso take the opportunity to kill this warning.\ndrivers/scsi/libsas/sas_scsi_host.c: In function ‘sas_end_task’:\ndrivers/scsi/libsas/sas_scsi_host.c:102:3: warning: case value ‘2’ not in enumerated type ‘enum exec_status’ [-Wswitch]\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "3dff5721e4f67e6231dfc419d30aaa7563bfffd4",
      "tree": "752102ef79f985f4d153b4791461404f67cdf467",
      "parents": [
        "e500a34b0257def5b9ec07563afeeada1ead87bb"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Nov 28 12:08:22 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 13:58:38 2012 -0600"
      },
      "message": "[SCSI] libsas: close error handling vs sas_ata_task_done() race\n\nSince sas_ata does not implement -\u003efreeze(), completions for scmds and\ninternal commands can still arrive concurrent with\nata_scsi_cmd_error_handler() and sas_ata_post_internal() respectively.\nBy the time either of those is called libata has committed to completing\nthe qc, and the ATA_PFLAG_FROZEN flag tells sas_ata_task_done() it has\nlost the race.\n\nIn the sas_ata_post_internal() case we take on the additional\nresponsibility of freeing the sas_task to close the race with\nsas_ata_task_done() freeing the the task while sas_ata_post_internal()\nis in the process of invoking -\u003elldd_abort_task().\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "b91bb296188118eea9fdc6093cfcf76bbe8589ba",
      "tree": "8fe9dda8894514f9cd1184368eab975583c12f3c",
      "parents": [
        "87c8331fcf72e501c3a3c0cdc5c9391ec72f7cf2"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Nov 17 17:59:52 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 13:55:42 2012 -0600"
      },
      "message": "[SCSI] libsas: use -\u003eset_dmamode to notify lldds of NCQ parameters\n\nsas_discover_sata() notifies lldds of sata devices twice.  Once to allow\nthe \u0027identify\u0027 to be sent, and a second time to allow aic94xx (the only\nlibsas driver that cares about sata_dev.identify) to setup NCQ\nparameters before the device becomes known to the midlayer.  Replace\nthis double notification and intervening \u0027identify\u0027 with an explicit\n-\u003elldd_ata_set_dmamode notification.  With this change all ata internal\ncommands are issued by libata, so we no longer need sas_issue_ata_cmd().\n\nThe data from the identify command only needs to be cached in one\nlocation so ata_device.id replaces domain_device.sata_dev.identify.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "87c8331fcf72e501c3a3c0cdc5c9391ec72f7cf2",
      "tree": "4ed0e98760c977010fe54778c1a25625840b4583",
      "parents": [
        "e139942d77a6e3ac83bc322e826668054a8601d6"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Nov 17 17:59:51 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 13:52:34 2012 -0600"
      },
      "message": "[SCSI] libsas: prevent domain rediscovery competing with ata error handling\n\nlibata error handling provides for a timeout for link recovery.  libsas\nmust not rescan for previously known devices in this interval otherwise\nit may remove a device that is simply waiting for its link to recover.\nLet libata-eh make the determination of when the link is stable and\nprevent libsas (host workqueue) from taking action while this\ndetermination is pending.\n\nUsing a mutex (ha-\u003edisco_mutex) to flush and disable revalidation while\neh is running requires any discovery action that may block on eh be\nmoved to its own context outside the lock.  Probing ATA devices\nexplicitly waits on ata-eh and the cache-flush-io issued during device\nremoval may also pend awaiting eh completion.  Essentially any rphy\nadd/remove activity needs to run outside the lock.\n\nThis adds two new cleanup states for sas_unregister_domain_devices()\n\u0027allocated-but-not-probed\u0027, and \u0027flagged-for-destruction\u0027.  In the\n\u0027allocated-but-not-probed\u0027 state  dev-\u003erphy points to a rphy that is\nknown to have not been through a sas_rphy_add() event.  At domain\nteardown check if this device is still pending probe and cleanup\naccordingly.  Similarly if a device has already been queued for removal\nthen sas_unregister_domain_devices has nothing to do.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "e139942d77a6e3ac83bc322e826668054a8601d6",
      "tree": "ef1741122d936f6fa9986a53f17e6f6108283649",
      "parents": [
        "312d3e56119a4bc5c36a96818f87f650c069ddc2"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Sat Jan 07 08:52:39 2012 +0000"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 13:51:23 2012 -0600"
      },
      "message": "[SCSI] libsas: convert dev-\u003egone to flags\n\nIn preparation for adding tracking of another device state \"destroy\".\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "b1124cd3ec97406c767b90bf7e93ecd2d2915592",
      "tree": "d0936775aacff4492177c14a73175738dfb51ee0",
      "parents": [
        "f8daa6e6d83f60a721752cb53433bfdc1503b45f"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Dec 19 16:42:34 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 13:48:51 2012 -0600"
      },
      "message": "[SCSI] libsas: introduce sas_drain_work()\n\nWhen an lldd invokes -\u003enotify_port_event() it can trigger a chain of libsas\nevents to:\n\n  1/ form the port and find the direct attached device\n\n  2/ if the attached device is an expander perform domain discovery\n\nA call to flush_workqueue() will only flush the initial port formation work.\nCurrently libsas users need to call scsi_flush_work() up to the max depth of\nchain (which will grow from 2 to 3 when ata discovery is moved to its own\ndiscovery event).  Instead of open coding multiple calls switch to use\ndrain_workqueue() to flush sas work.\n\ndrain_workqueue() does not handle new work submitted during the drain so\nlibsas needs a bit of infrastructure to hold off unchained work submissions\nwhile a drain is in flight.  A lldd -\u003enotify() event is considered \u0027unchained\u0027\nwhile a sas_discover_event() is \u0027chained\u0027.  As Tejun notes:\n\n  \"For now, I think it would be best to add private wrapper in libsas to\n   support deferring unchained work items while draining.\"\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "f8daa6e6d83f60a721752cb53433bfdc1503b45f",
      "tree": "66798b2d2763a53acada47040c86f7c094430f0a",
      "parents": [
        "b15ebe0b5d0b95aeb1d84cae3649df1e0e065e9b"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Dec 19 17:02:25 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 13:47:29 2012 -0600"
      },
      "message": "[SCSI] libsas: convert ha-\u003estate to flags\n\nIn preparation for adding new states (SAS_HA_DRAINING, SAS_HA_FROZEN),\nconvert ha-\u003estate into a set of flags.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "b15ebe0b5d0b95aeb1d84cae3649df1e0e065e9b",
      "tree": "ff93ad5f8be5fe91c7e6cf4963253491ddd058fb",
      "parents": [
        "756f173fb5fa90ec15222e80fb579288be7794fd"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Nov 17 17:59:49 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 13:41:04 2012 -0600"
      },
      "message": "[SCSI] libsas: replace event locks with atomic bitops\n\nThe locks only served to make sure the pending event bitmask was updated\nconsistently.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    }
  ],
  "next": "756f173fb5fa90ec15222e80fb579288be7794fd"
}
