)]}'
{
  "log": [
    {
      "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": "77dfce076cbd76c04e90abff188d058cdbff78dd",
      "tree": "c2f1ac2dd386c68e6bf8dee8d996d0b6e36f9c73",
      "parents": [
        "4679026d783eb5ac90247bc466d66b817b213abf"
      ],
      "author": {
        "name": "Cong Wang",
        "email": "amwang@redhat.com",
        "time": "Fri Nov 25 23:14:23 2011 +0800"
      },
      "committer": {
        "name": "Cong Wang",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Tue Mar 20 21:48:19 2012 +0800"
      },
      "message": "scsi: remove the second argument of k[un]map_atomic()\n\nSigned-off-by: Cong Wang \u003camwang@redhat.com\u003e\n"
    },
    {
      "commit": "26a2e68f816ebd736a0484ca293457b280af4ef1",
      "tree": "5fbae208c3bcda21dd1f9f918e811e07c2ce80e8",
      "parents": [
        "77c309f3cdf9e217032dfe330f5881d352bb0436"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Jan 30 21:40:45 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:42:51 2012 -0600"
      },
      "message": "[SCSI] libsas: don\u0027t recover end devices attached to disabled phys\n\nIf userspace has decided to disable a phy the kernel should honor that\nand not inadvertantly re-enable the phy via error recovery.  This is\nmore straightforward in the sata case where link recovery (via\nlibata-eh) is separate from sas_task cancelling in libsas-eh.  Teach\nlibsas to accept -ENODEV as a successful response from I_T_nexus_reset\n(\u0027successful\u0027 in terms of not escalating further).\n\nThis is a more comprehensive fix then \"libsas: don\u0027t recover \u0027gone\u0027\ndevices in sas_ata_hard_reset()\", as it is no longer sata-specific.\n\naic94xx does check the return value from sas_phy_reset() so if the phy\nis disabled we proceed with clearing the I_T_nexus.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "77c309f3cdf9e217032dfe330f5881d352bb0436",
      "tree": "51e9bbbe8f0159d4235971c481c6599cd75abd14",
      "parents": [
        "899fcf40f3177697ccfb029d0484cb8ec09a51ca"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Feb 08 23:20:41 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:41:51 2012 -0600"
      },
      "message": "[SCSI] libsas: fixup target_port_protocols for expanders that don\u0027t report sata\n\nIf discovery returns 0 for target_port_protocols but shows an attached\nsata device, just report SAS_PROTOCOL_SATA in the identify data so\nuserspace can reliably search for sata devices in the domain.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "899fcf40f3177697ccfb029d0484cb8ec09a51ca",
      "tree": "2983a14444ca62958e50e2fdbd4dc945d7a38849",
      "parents": [
        "9a10b33caf78f897356ac006c455e6060a40af15"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Sat Jan 28 17:24:40 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:40:33 2012 -0600"
      },
      "message": "[SCSI] libsas: set attached device type and target protocols for local phys\n\nBefore:\n$ cat /sys/class/sas_phy/phy-6\\:3/device_type\nnone\n$ cat /sys/class/sas_phy/phy-6\\:3/target_port_protocols\nnone\n\nAfter:\n$ cat /sys/class/sas_phy/phy-6\\:3/device_type\nend device\n$ cat /sys/class/sas_phy/phy-6\\:3/target_port_protocols\nsata\n\nAlso downgrade the phy_list_lock to _irq instead of _irqsave since\nlibsas will never call sas_get_port_device with interrupts disbled.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\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": "840234745edaa82d514420dc1086e63536493a51",
      "tree": "62df0a1d381e6cbc910b82f0c727ff8ba6020f5b",
      "parents": [
        "9508a66f898d46e726a318469312b45e0b1d078b"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jan 20 15:23:07 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:38:09 2012 -0600"
      },
      "message": "[SCSI] libsas: fix lifetime of SAS_HA_FROZEN\n\nUntil all sas_tasks are known to no longer be in-flight this flag gates late\ncompletions from colliding with error handling.  However, it must be cleared\nprior to the submission of scsi_send_eh_cmnd() requests, otherwise those\ncommands will never be completed correctly.\n\nThis was spotted by slub debug:\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n BUG sas_task: Objects remaining on kmem_cache_close()\n -----------------------------------------------------------------------------\n\n INFO: Slab 0xffffea001f0eba00 objects\u003d34 used\u003d1 fp\u003d0xffff8807c3aecb00 flags\u003d0x8000000000004080\n Pid: 22919, comm: modprobe Not tainted 3.2.0-isci+ #2\n Call Trace:\n  [\u003cffffffff810fcdcd\u003e] slab_err+0xb0/0xd2\n  [\u003cffffffff810e1c50\u003e] ? free_percpu+0x31/0x117\n  [\u003cffffffff81100122\u003e] ? kzalloc+0x14/0x16\n  [\u003cffffffff81100122\u003e] ? kzalloc+0x14/0x16\n  [\u003cffffffff81100486\u003e] kmem_cache_destroy+0x11d/0x270\n  [\u003cffffffffa0112bdc\u003e] sas_class_exit+0x10/0x12 [libsas]\n  [\u003cffffffff81078fba\u003e] sys_delete_module+0x1c4/0x23c\n  [\u003cffffffff814797ba\u003e] ? sysret_check+0x2e/0x69\n  [\u003cffffffff8126479e\u003e] ? trace_hardirqs_on_thunk+0x3a/0x3f\n  [\u003cffffffff81479782\u003e] system_call_fastpath+0x16/0x1b\n INFO: Object 0xffff8807c3aed280 @offset\u003d21120\n INFO: Allocated in sas_alloc_task+0x22/0x90 [libsas] age\u003d4615311 cpu\u003d2 pid\u003d12966\n  __slab_alloc.clone.3+0x1d1/0x234\n  kmem_cache_alloc+0x52/0x10d\n  sas_alloc_task+0x22/0x90 [libsas]\n  sas_queuecommand+0x20e/0x230 [libsas]\n  scsi_send_eh_cmnd+0xd1/0x30c\n  scsi_eh_try_stu+0x4f/0x6b\n  scsi_eh_ready_devs+0xba/0x6ef\n  sas_scsi_recover_host+0xa35/0xab1 [libsas]\n  scsi_error_handler+0x14b/0x5fa\n  kthread+0x9d/0xa5\n  kernel_thread_helper+0x4/0x10\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": "c666aae6919114d6cff789d79f80cfa85f3a7339",
      "tree": "86cff11f3ed7482f6bb1a516f82bac24c7055835",
      "parents": [
        "354cf82980e2449e71fdaa3c6f170357ebd65467"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Jan 19 18:43:08 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:33:39 2012 -0600"
      },
      "message": "[SCSI] libsas: delete device on sas address changed\n\nIf the phy is attached to a new sas address unregister the first address\nbefore processing the new attachment.\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": "a692b0eec5efae382dfa800e8b4b083f172921a7",
      "tree": "04cee8e7776630d89d8a66ad5a88baf503a54acc",
      "parents": [
        "d214d81e883b6fc6f11cc772ff88585565d45cce"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Jan 16 13:54:28 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:29:06 2012 -0600"
      },
      "message": "[SCSI] libsas: fix sas port naming\n\nMake sas-port naming consistent with the expander-attached case whereby\nthe phy-id is the last digit in the port name.  Otherwise we get the\nrandom behavior of the allocation order.\n\nReported-by: Patrick Thomson \u003cpatrick.s.thomson@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": "d214d81e883b6fc6f11cc772ff88585565d45cce",
      "tree": "963e3eb05dcbf86a19deb48e262bef6ed9731c9c",
      "parents": [
        "fdfd9d1b8912991d88fc29a456867c62515218f9"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Jan 16 11:56:50 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:28:24 2012 -0600"
      },
      "message": "[SCSI] libsas: improve debug statements\n\nIt\u0027s difficult to determine which domain_device is triggering error recovery,\nso convert messages like:\n\n  sas: ex 5001b4da000e703f phy08:T attached: 5001b4da000e7028\n  sas: ex 5001b4da000e703f phy09:T attached: 5001b4da000e7029\n  ...\n  ata7: sas eh calling libata port error handler\n  ata8: sas eh calling libata port error handler\n\n...into:\n\n  sas: ex 5001517e85cfefff phy05:T:9 attached: 5001517e85cfefe5 (stp)\n  sas: ex 5001517e3b0af0bf phy11:T:8 attached: 5001517e3b0af0ab (stp)\n  ...\n  sas: ata7: end_device-21:1: dev error handler\n  sas: ata8: end_device-20:0:5: dev error handler\n\nwhich shows attached link rate, device type, and associates a\ndomain_device with its ata_port id to correlate messages emitted from\nlibata-eh.\n\nAs Doug notes, we can also take the opportunity to clarify expander phy\nrouting capabilities.\n\n[dgilbert@interlog.com: clarify table2table with \u0027U\u0027]\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "fdfd9d1b8912991d88fc29a456867c62515218f9",
      "tree": "4537befd93ba3821dc679d3352793e149bc3c944",
      "parents": [
        "5d7f6d1071eadd020edb2cf366d358e0f6d0a0f9"
      ],
      "author": {
        "name": "Maciej Trela",
        "email": "maciej.trela@intel.com",
        "time": "Fri Jan 13 21:52:38 2012 +0000"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:27:44 2012 -0600"
      },
      "message": "[SCSI] libsas: kill spurious sas_put_device\n\nHoldover from a patch rework, prior to the addition of SAS_DEV_DESTROY\nwe were holding a reference while the destruct was pending in case the\ndomain was torn down before the desctruct event ran.  That case is\ncovered by SAS_DEV_DESTROY, and the sas_put_device() just corrupts freed\nmemory, or worse frees the memory while another agent holds a reference.\n\nSigned-off-by: Maciej Trela \u003cmaciej.trela@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": "5d7f6d1071eadd020edb2cf366d358e0f6d0a0f9",
      "tree": "4c3d4c7a22ee37a61edb12ab76f3a37ba685e8b6",
      "parents": [
        "ab5266335ba1a43461443f9823276a2b44dd1ba7"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Jan 12 11:47:24 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:27:09 2012 -0600"
      },
      "message": "[SCSI] libsas: fix sas_unregister_ports vs sas_drain_work\n\nWe need to hold drain_mutex across the unregistration as port down events\nqueue device removal as chained events, so we need to make sure no other\ndrainers are active.\n\n[ 1118.673968] WARNING: at kernel/workqueue.c:996 __queue_work+0x11a/0x326()\n[ 1118.681982] Hardware name: S2600CP\n[ 1118.686193] Modules linked in: isci(-) libsas scsi_transport_sas nls_utf8\nipv6 uinput sg iTCO_wdt iTCO_vendor_support i2c_i801 i2c_core ioatdma dca\nsd_mod sr_mod cdrom ahci libahci libata [last unloaded: scsi_transport_sas]\n[ 1118.709893] Pid: 6831, comm: rmmod Not tainted 3.2.0-isci+ #1\n[ 1118.716727] Call Trace:\n[ 1118.719867]  [\u003cffffffff8103e9f5\u003e] warn_slowpath_common+0x85/0x9d\n[ 1118.727000]  [\u003cffffffff8103ea27\u003e] warn_slowpath_null+0x1a/0x1c\n[ 1118.733942]  [\u003cffffffff81056d44\u003e] __queue_work+0x11a/0x326\n[ 1118.740481]  [\u003cffffffff81056f99\u003e] queue_work_on+0x1b/0x22\n[ 1118.746925]  [\u003cffffffff81057106\u003e] queue_work+0x37/0x3e\n[ 1118.753105]  [\u003cffffffffa0120e05\u003e] ? sas_discover_event+0x55/0x82 [libsas]\n[ 1118.761094]  [\u003cffffffff813217c3\u003e] scsi_queue_work+0x42/0x44\n[ 1118.767717]  [\u003cffffffffa0120e19\u003e] sas_discover_event+0x69/0x82 [libsas]\n[ 1118.775509]  [\u003cffffffffa0120f5b\u003e] sas_unregister_dev+0xc3/0xcc [libsas]\n[ 1118.783319]  [\u003cffffffffa0120fae\u003e] sas_unregister_domain_devices+0x4a/0xc8 [libsas]\n[ 1118.792731]  [\u003cffffffffa0120071\u003e] sas_deform_port+0x60/0x1a6 [libsas]\n[ 1118.800339]  [\u003cffffffffa01201ea\u003e] sas_unregister_ports+0x33/0x44 [libsas]\n[ 1118.808342]  [\u003cffffffffa011f7e5\u003e] sas_unregister_ha+0x41/0x6b [libsas]\n[ 1118.816055]  [\u003cffffffffa0134055\u003e] isci_unregister+0x22/0x4d [isci]\n[ 1118.823384]  [\u003cffffffffa0143040\u003e] isci_pci_remove+0x2e/0x60 [isci]\n\nReported-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": "ab5266335ba1a43461443f9823276a2b44dd1ba7",
      "tree": "5ab3c7e21f27e0ecacb01117764d911c349b51c9",
      "parents": [
        "d230ce691c7712c4f56ba3378d6d2f44628a49f1"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Jan 11 13:13:44 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:25:32 2012 -0600"
      },
      "message": "[SCSI] libsas: route local link resets through ata-eh\n\nSimilar to the conversion of the transport-class reset we want bsg\ninitiated resets to be managed by libata.\n\nReported-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": "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": "8abda4d28a55ecb91e39ceb5e3ee264c5a3cd1af",
      "tree": "6ccf0a1a6e545e05cefe68c5c37c18a5bd88c49f",
      "parents": [
        "7d05919aad080074453de880822fe5805875645f"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 10 15:14:09 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:22:25 2012 -0600"
      },
      "message": "[SCSI] libsas: close scsi_remove_target() vs libata-eh race\n\nata_port lifetime in libata follows the host.  In libsas it follows the\nscsi_target.  Once scsi_remove_device() has caused all commands to be\ncompleted it allows scsi_remove_target() to immediately proceed to\nfreeing the ata_port causing bug reports like:\n\n[  848.393333] BUG: spinlock bad magic on CPU#4, kworker/u:2/5107\n[  848.400262] general protection fault: 0000 [#1] SMP\n[  848.406244] CPU 4\n[  848.408310] Modules linked in: nls_utf8 ipv6 uinput i2c_i801 i2c_core iTCO_wdt iTCO_vendor_support ioatdma dca sg sd_mod sr_mod cdrom ahci libahci isci libsas libata scsi_transport_sas [last unloaded: scsi_wait_scan]\n[  848.432060]\n[  848.434137] Pid: 5107, comm: kworker/u:2 Not tainted 3.2.0-isci+ #8 Intel Corporation S2600CP/S2600CP\n[  848.445310] RIP: 0010:[\u003cffffffff8126a68c\u003e]  [\u003cffffffff8126a68c\u003e] spin_dump+0x5e/0x8c\n[  848.454787] RSP: 0018:ffff8807f868dca0  EFLAGS: 00010002\n[  848.461137] RAX: 0000000000000048 RBX: ffff8807fe86a630 RCX: ffffffff817d0be0\n[  848.469520] RDX: 0000000000000000 RSI: ffffffff814af1cf RDI: 0000000000000002\n[  848.477959] RBP: ffff8807f868dcb0 R08: 00000000ffffffff R09: 000000006b6b6b6b\n[  848.486327] R10: 000000000003fb8c R11: ffffffff81a19448 R12: 6b6b6b6b6b6b6b6b\n[  848.494699] R13: ffff8808027dc520 R14: 0000000000000000 R15: 000000000000001e\n[  848.503067] FS:  0000000000000000(0000) GS:ffff88083fd00000(0000) knlGS:0000000000000000\n[  848.512899] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\n[  848.519710] CR2: 00007ff77d001000 CR3: 00000007f7a5d000 CR4: 00000000000406e0\n[  848.528072] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n[  848.536446] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n[  848.544831] Process kworker/u:2 (pid: 5107, threadinfo ffff8807f868c000, task ffff8807ff348000)\n[  848.555327] Stack:\n[  848.557959]  ffff8807fe86a630 ffff8807fe86a630 ffff8807f868dcd0 ffffffff8126a6e0\n[  848.567072]  ffffffff817c142f ffff8807fe86a630 ffff8807f868dcf0 ffffffff8126a703\n[  848.576190]  ffff8808027dc520 0000000000000286 ffff8807f868dd10 ffffffff814af1bb\n[  848.585281] Call Trace:\n[  848.588409]  [\u003cffffffff8126a6e0\u003e] spin_bug+0x26/0x28\n[  848.594357]  [\u003cffffffff8126a703\u003e] do_raw_spin_unlock+0x21/0x88\n[  848.601283]  [\u003cffffffff814af1bb\u003e] _raw_spin_unlock_irqrestore+0x2c/0x65\n[  848.609089]  [\u003cffffffffa001c103\u003e] ata_scsi_port_error_handler+0x548/0x557 [libata]\n[  848.618331]  [\u003cffffffff81061813\u003e] ? async_schedule+0x17/0x17\n[  848.625060]  [\u003cffffffffa004f30f\u003e] async_sas_ata_eh+0x45/0x69 [libsas]\n[  848.632655]  [\u003cffffffff810618aa\u003e] async_run_entry_fn+0x97/0x125\n[  848.639670]  [\u003cffffffff81057439\u003e] process_one_work+0x207/0x38d\n[  848.646577]  [\u003cffffffff8105738c\u003e] ? process_one_work+0x15a/0x38d\n[  848.653681]  [\u003cffffffff810576f7\u003e] worker_thread+0x138/0x21c\n[  848.660305]  [\u003cffffffff810575bf\u003e] ? process_one_work+0x38d/0x38d\n[  848.667493]  [\u003cffffffff8105b098\u003e] kthread+0x9d/0xa5\n[  848.673382]  [\u003cffffffff8106e1bd\u003e] ? trace_hardirqs_on_caller+0x12f/0x166\n[  848.681304]  [\u003cffffffff814b7704\u003e] kernel_thread_helper+0x4/0x10\n[  848.688324]  [\u003cffffffff814af534\u003e] ? retint_restore_args+0x13/0x13\n[  848.695530]  [\u003cffffffff8105affb\u003e] ? __init_kthread_worker+0x5b/0x5b\n[  848.702929]  [\u003cffffffff814b7700\u003e] ? gs_change+0x13/0x13\n[  848.709155] Code: 00 00 48 8d 88 38 04 00 00 44 8b 80 84 02 00 00 31 c0 e8 cf 1b 24 00 41 83 c8 ff 44 8b 4b 08 48 c7 c1 e0 0b 7d 81 4d 85 e4 74 10 \u003c45\u003e 8b 84 24 84 02 00 00 49 8d 8c 24 38 04 00 00 8b 53 04 48 89\n[  848.732467] RIP  [\u003cffffffff8126a68c\u003e] spin_dump+0x5e/0x8c\n[  848.738905]  RSP \u003cffff8807f868dca0\u003e\n[  848.743743] ---[ end trace 143161646eee8caa ]---\n\n...so arrange for the ata_port to have the same end of life as the domain\ndevice.\n\nReported-by: Marcin Tomczak \u003cmarcin.tomczak@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": "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": "45c73b65194173e77030d5b95abe5b63a402d268",
      "tree": "46e08c5fb11805dac6aa2008a3501dfee58f75c8",
      "parents": [
        "5a998328296cb16cb8b0307a402a0f2feab533c5"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Jan 09 10:12:52 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:20:01 2012 -0600"
      },
      "message": "[SCSI] libsas: pre-clean commands that won the eh vs completion race\n\nWhen scrolling forward through the eh list (in a clear_q scenario) it is\npossible to encounter commands that won the completion vs eh race.  Rather\nthan sprinkle more \"if (!task)\" throughout the handler just make a pass\nthrough the list and delete the race winners before handling the rest.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "43a5ab151f0268459c4368292c2ddb2266b8f243",
      "tree": "e8ee97e0d49bc0c454ca90f16a836fd01830b11f",
      "parents": [
        "9277699121b81891e303ada0a53fa1d04b7ffe72"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Dec 08 23:20:44 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:13:40 2012 -0600"
      },
      "message": "[SCSI] isci: stop interpreting -\u003elldd_lu_reset() as an ata soft-reset\n\nDriving resets from libsas-eh is pre-mature as libata will make a\ndecision about performing a softreset.  Currently libata determines\nwhether to perform a softreset based on ata_eh_followup_srst_needed(),\nand none of those conditions apply to isci.\n\nRemove the srst implementation and translate -\u003elldd_lu_reset() for ata\ndevices as a request to drive a reset via libata-eh.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "cb48d672bfeb4147f3e20d5b16fa2eb6377231e2",
      "tree": "c0c47dce6ce9b815e62ca6896762afa6a2278f71",
      "parents": [
        "f41a0c441c3fe43e79ebeb75584dbb5bfa83e5cd"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Dec 22 14:58:24 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 13:04:59 2012 -0600"
      },
      "message": "[SCSI] libsas: don\u0027t recover \u0027gone\u0027 devices in sas_ata_hard_reset()\n\nThe commands that timeout when a disk is forcibly removed may trigger\nlibata to attempt recovery of the device.  If libsas has decided to\nremove the device don\u0027t permit ata to continue to issue resets to its\nlast known phy.\n\nThe primary motivation for this patch is hotplug testing by writing 0 to\n/sys/class/sas_phy/phyX/enable.  Without this check this test leads to\nlibata issuing a reset and re-enabling the device that wants to be torn\ndown.\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": "3a9c5560f677690f65038f399f4f598c79b83186",
      "tree": "1e15d427fd86260fc26670bc4ceff61d51ef025e",
      "parents": [
        "0508c2f3b701f3cd8ed52b2a4abbb2a670f69ce2"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Dec 21 15:19:56 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 12:55:12 2012 -0600"
      },
      "message": "[SCSI] libsas: check for \u0027gone\u0027 expanders in smp_execute_task()\n\nNo sense in issuing or retrying commands to an expander that has been\nremoved.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "0508c2f3b701f3cd8ed52b2a4abbb2a670f69ce2",
      "tree": "be2eabce601aca56bd5861f71049da96f6aef3cc",
      "parents": [
        "36a399473902a57218dc493c5a814708a56b73ab"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Dec 21 14:55:38 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 12:51:48 2012 -0600"
      },
      "message": "[SCSI] libsas: don\u0027t mark expanders as gone when a child device is removed\n\nCommit 56dd2c06 \"[SCSI] libsas: Don\u0027t issue commands to devices that\nhave been hot-removed\" marked the parent device of an end-device as gone\nwhen all the phys to the end device have been deleted.\n\nThe expander device is still present until its parent is removed.  This\nis a benign change until the smp_execute_task() path is taught to check\n-\u003egone.\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": "50824d6c5657ce340e3911171865a8d99fdd8eba",
      "tree": "fcc9a9250cf596f9d12e3b92d9fa67cb8a77f09c",
      "parents": [
        "89d3cf6ac3cdc4f15a82709f8c78ed169a98be5b"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Sun Dec 04 01:06:24 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 14:24:02 2012 -0600"
      },
      "message": "[SCSI] libsas: async ata-eh\n\nOnce sas_ata_hard_reset() starts honoring the \u0027deadline\u0027 parameter a\npathological configuration could take 25 seconds per ata device\n(serialized) to recover.  Run per-port recoveries in parallel.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\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": "1f4fe89c9c78d3163cf1e389bdc6438a44b64244",
      "tree": "7f2ac7da0fc682687b0848da9c13babd25f4f620",
      "parents": [
        "2a559f4ba443265b4c58925b48296f1cf81b49f9"
      ],
      "author": {
        "name": "Jeff Skirvin",
        "email": "jeffrey.d.skirvin@intel.com",
        "time": "Fri Dec 16 08:21:21 2011 +0000"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 14:20:09 2012 -0600"
      },
      "message": "[SCSI] libsas: Remove redundant phy state notification calls.\n\nIn the case of an explicit sas_phy_enable call to disable a phy,\nthe LLDD provides the calls to sas_phy_disconnected and the\nPHYE_LOSS_OF_SIGNAL event.\n\nNOTE: This assumes that the lldd(s) generate the notification, which\nappears to be the case, but only verfied on isci.\n\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": "3a2cdf391b62919d3d2862cdce3d70b9a7a99673",
      "tree": "8064bea5987445b88b074c02cf65cc5ac1b2ce98",
      "parents": [
        "3944f50995f947558c35fb16ae0288354756762c"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Nov 29 14:54:28 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 14:09:02 2012 -0600"
      },
      "message": "[SCSI] libsas: defer SAS_TASK_NEED_DEV_RESET commands to libata\n\nlldds use the SAS_TASK_NEED_DEV_RESET interface to request that eh\nperform a reset.  In the sata device case defer the commands that\ntriggered the reset to libata-eh context so it can perform its pre and\npost reset management.\n\nIn the sas_ata_post_internal() case the reset request is falling on deaf\nears as the sas_task is immediately destroyed without any reset action.\nSince it is currently a nop, and likely superfluous given the conversion\nto new-style libata-eh, just drop the request.\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": "e500a34b0257def5b9ec07563afeeada1ead87bb",
      "tree": "8f504dd4f97ca52f683ee058dfabfb5b859731d5",
      "parents": [
        "b91bb296188118eea9fdc6093cfcf76bbe8589ba"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Nov 28 17:11:33 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 13:57:01 2012 -0600"
      },
      "message": "[SCSI] libsas: kill invocation of scsi_eh_finish_cmd from sas_ata_task_done\n\nPrior to the conversion to the new-style libata-eh sas_ata_task_done()\nmay have been the last opportunity to clean up the scmd, but now\nlibata-eh explicitly handles this case.  It also races against sas-eh.\nIf a lldd completes a task after SAS_TASK_STATE_ABORTED is set it could\ntrigger a spurious decrement of shost-\u003ehost_failed.  Current lldds have\nthe band-aid of checking SAS_TASK_STATE_ABORTED before calling\n-\u003etask_done(), but better to just let the scmds escalate to libata for\nrace free cleanup.\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": "312d3e56119a4bc5c36a96818f87f650c069ddc2",
      "tree": "d8cf7586656301ff1c4e5a49f9cbddde61e3e561",
      "parents": [
        "b1124cd3ec97406c767b90bf7e93ecd2d2915592"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Nov 17 17:59:50 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 13:50:12 2012 -0600"
      },
      "message": "[SCSI] libsas: remove ata_port.lock management duties from lldds\n\nEach libsas driver (mvsas, pm8001, and isci) has invented a different\nmethod for managing the ap-\u003elock.  The lock is held by the ata\n-\u003equeuecommand() path.  mvsas drops it prior to acquiring any internal\nlocks which allows it to hold its internal lock across calls to\ntask-\u003etask_done().  This capability is important as it is the only way\nthe driver can flush task-\u003etask_done() instances to guarantee that it no\nlonger has any in-flight references to a domain_device at\n-\u003elldd_dev_gone() time.\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"
    },
    {
      "commit": "756f173fb5fa90ec15222e80fb579288be7794fd",
      "tree": "83633164ff4b8fb20c2fb383429905e25ceed1fc",
      "parents": [
        "735f7d2fedf57380214221be7bed7f62d729e262"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Nov 17 17:59:48 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 13:39:36 2012 -0600"
      },
      "message": "[SCSI] libsas: fix leak of dev-\u003esata_dev.identify_[packet_]device\n\nThese are never freed in the nominal path.  A domain_device has a\ndifferent lifetime than a sas_rphy we need a dev-\u003erphy independent way\nof identifying sata devices.\n\nReviewed-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": "735f7d2fedf57380214221be7bed7f62d729e262",
      "tree": "067db49c22dcbdf695a6517a6c8664b6bb2c2d32",
      "parents": [
        "6f4e75a49fd07d707995865493b9f452302ae36b"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Nov 17 17:59:47 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 13:37:47 2012 -0600"
      },
      "message": "[SCSI] libsas: fix domain_device leak\n\nArrange for the deallocation of a struct domain_device object when it no\nlonger has:\n1/ any children\n2/ references by any scsi_targets\n3/ references by a lldd\n\nThe comment about domain_device lifetime in\nDocumentation/scsi/libsas.txt is stale as it appears mainline never had\na version of a struct domain_device that was registered as a kobject.\nWe now manage domain_device reference counts on behalf of external\nagents.\n\nReviewed-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": "6f4e75a49fd07d707995865493b9f452302ae36b",
      "tree": "05f623463250c0e5f06d2a491b39f4edb93236e8",
      "parents": [
        "95ac7fd189b7e81a200b4d00b2bb6669b31acf3a"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Nov 17 17:59:46 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 13:36:36 2012 -0600"
      },
      "message": "[SCSI] libsas: kill sas_slave_destroy\n\nPer commit 3e4ec344 \"libata: kill ATA_FLAG_DISABLED\" needing to set\nATA_DEV_NONE is a holdover from before libsas converted to the\n\"new-style\" ata-eh.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "95ac7fd189b7e81a200b4d00b2bb6669b31acf3a",
      "tree": "cf1b42bd7dd121657537fd16eff9c10422fa61f7",
      "parents": [
        "18a4d0a22ed6c54b67af7718c305cd010f09ddf8"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Nov 17 17:59:45 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 13:32:33 2012 -0600"
      },
      "message": "[SCSI] libsas: remove unused ata_task_resp fields\n\nCommit 1e34c838 \"[SCSI] libsas: remove spurious sata control register\nread/write\" removed the routines to fake the presence of the sata\ncontrol registers, now remove the unused data structure fields to kill\nany remaining confusion.\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": "09703660edf83b8b6d175440bf745f30580d85ab",
      "tree": "6ecccf6279b9229fd3fa6096352c7bcc895060c2",
      "parents": [
        "eefa9cfc891d18aa83744353d2a3fbe95a86ee2d"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Fri May 27 09:37:25 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:31:23 2011 -0400"
      },
      "message": "scsi: Add export.h for EXPORT_SYMBOL/THIS_MODULE as required\n\nFor the basic SCSI infrastructure files that are exporting symbols\nbut not modules themselves, add in the basic export.h header file\nto allow the exports.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "ec7ae517537ae5c7b0b2cd7f562dfa3e7a05b954",
      "tree": "e6b0c64a51a7c0aa0efd09d4f7a80872e3b1657a",
      "parents": [
        "97d2eb13a019ec09cc1a7ea2d3705c0b117b3c0d",
        "590134fa78fbdbe5fea78c7ae0b2c3364bc9572f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 28 16:44:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 28 16:44:18 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (204 commits)\n  [SCSI] qla4xxx: export address/port of connection (fix udev disk names)\n  [SCSI] ipr: Fix BUG on adapter dump timeout\n  [SCSI] megaraid_sas: Fix instance access in megasas_reset_timer\n  [SCSI] hpsa: change confusing message to be more clear\n  [SCSI] iscsi class: fix vlan configuration\n  [SCSI] qla4xxx: fix data alignment and use nl helpers\n  [SCSI] iscsi class: fix link local mispelling\n  [SCSI] iscsi class: Replace iscsi_get_next_target_id with IDA\n  [SCSI] aacraid: use lower snprintf() limit\n  [SCSI] lpfc 8.3.27: Change driver version to 8.3.27\n  [SCSI] lpfc 8.3.27: T10 additions for SLI4\n  [SCSI] lpfc 8.3.27: Fix queue allocation failure recovery\n  [SCSI] lpfc 8.3.27: Change algorithm for getting physical port name\n  [SCSI] lpfc 8.3.27: Changed worst case mailbox timeout\n  [SCSI] lpfc 8.3.27: Miscellanous logic and interface fixes\n  [SCSI] megaraid_sas: Changelog and version update\n  [SCSI] megaraid_sas: Add driver workaround for PERC5/1068 kdump kernel panic\n  [SCSI] megaraid_sas: Add multiple MSI-X vector/multiple reply queue support\n  [SCSI] megaraid_sas: Add support for MegaRAID 9360/9380 12GB/s controllers\n  [SCSI] megaraid_sas: Clear FUSION_IN_RESET before enabling interrupts\n  ...\n"
    },
    {
      "commit": "1a34c0640137eed8dabdac3a68a7a84116ac9e0d",
      "tree": "fbe141523906f19c10c80bbdbdd4a69446c5fa44",
      "parents": [
        "29f366e8a99fdced4c0b5417a478d7539adc66d3"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Sep 21 22:05:34 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Oct 16 10:54:02 2011 -0500"
      },
      "message": "[SCSI] libsas: fix port-\u003edev_list locking\n\nport-\u003edev_list maintains a list of devices attached to a given sas root port.\nIt needs to be mutated under a lock as contexts outside of the\nsingle-threaded-libsas-workqueue access the list via sas_find_dev_by_rphy().\nFixup locations where the list was being mutated without a lock.\n\nThis is a follow-up to commit 5911e963 \"[SCSI] libsas: remove expander\nfrom dev list on error\", where Luben noted [1]:\n\n    \u003e 2/ We have unlocked list manipulations in sas_ex_discover_end_dev(),\n    \u003e sas_unregister_common_dev(), and sas_ex_discover_end_dev()\n\n    Yes, I can see that and that is very unfortunate.\n\n[1]: http://marc.info/?l\u003dlinux-scsi\u0026m\u003d131480962006471\u0026w\u003d2\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "a73914c35b05d80f8ce78288e10056c91090b666",
      "tree": "c1a41034caf3640bd4c13c8156f90f8553f6b4dc",
      "parents": [
        "9bfacd01dc9b7519e1e6da12b01963550b9d09a2"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "mark_salyzyn@us.xyratex.com",
        "time": "Thu Sep 22 08:32:23 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Oct 02 13:28:55 2011 -0500"
      },
      "message": "[SCSI] libsas: fix panic when single phy is disabled on a wide port\n\nWhen a wide port is being utilized to a target, if one disables only one\nof the\nphys, we get an OS crash:\n\nBUG: unable to handle kernel NULL pointer dereference at\n0000000000000238\nIP: [\u003cffffffff814ca9b1\u003e] mutex_lock+0x21/0x50\nPGD 4103f5067 PUD 41dba9067 PMD 0\nOops: 0002 [#1] SMP\nlast sysfs file: /sys/bus/pci/slots/5/address\nCPU 0\nModules linked in: pm8001(U) ses enclosure fuse nfsd exportfs autofs4\nipmi_devintf ipmi_si ipmi_msghandler nfs lockd fscache nfs_acl\nauth_rpcgss 8021q fcoe libfcoe garp libfc scsi_transport_fc stp scsi_tgt\nllc sunrpc cpufreq_ondemand acpi_cpufreq freq_table ipv6 sr_mod cdrom\ndm_mirror dm_region_hash dm_log uinput sg i2c_i801 i2c_core iTCO_wdt\niTCO_vendor_support e1000e mlx4_ib ib_mad ib_core mlx4_en mlx4_core ext3\njbd mbcache sd_mod crc_t10dif usb_storage ata_generic pata_acpi ata_piix\nlibsas(U) scsi_transport_sas dm_mod [last unloaded: pm8001]\n\nModules linked in: pm8001(U) ses enclosure fuse nfsd exportfs autofs4\nipmi_devintf ipmi_si ipmi_msghandler nfs lockd fscache nfs_acl\nauth_rpcgss 8021q fcoe libfcoe garp libfc scsi_transport_fc stp scsi_tgt\nllc sunrpc cpufreq_ondemand acpi_cpufreq freq_table ipv6 sr_mod cdrom\ndm_mirror dm_region_hash dm_log uinput sg i2c_i801 i2c_core iTCO_wdt\niTCO_vendor_support e1000e mlx4_ib ib_mad ib_core mlx4_en mlx4_core ext3\njbd mbcache sd_mod crc_t10dif usb_storage ata_generic pata_acpi ata_piix\nlibsas(U) scsi_transport_sas dm_mod [last unloaded: pm8001]\nPid: 5146, comm: scsi_wq_5 Not tainted\n2.6.32-71.29.1.el6.lustre.7.x86_64 #1 Storage Server\nRIP: 0010:[\u003cffffffff814ca9b1\u003e]  [\u003cffffffff814ca9b1\u003e]\nmutex_lock+0x21/0x50\nRSP: 0018:ffff8803e4e33d30  EFLAGS: 00010246\nRAX: 0000000000000000 RBX: 0000000000000238 RCX: 0000000000000000\nRDX: 0000000000000000 RSI: ffff8803e664c800 RDI: 0000000000000238\nRBP: ffff8803e4e33d40 R08: 0000000000000000 R09: 0000000000000000\nR10: 0000000000000000 R11: 0000000000000001 R12: 0000000000000000\nR13: 0000000000000238 R14: ffff88041acb7200 R15: ffff88041c51ada0\nFS:  0000000000000000(0000) GS:ffff880028200000(0000)\nknlGS:0000000000000000\nCS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b\nCR2: 0000000000000238 CR3: 0000000410143000 CR4: 00000000000006f0\nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\nDR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\nProcess scsi_wq_5 (pid: 5146, threadinfo ffff8803e4e32000, task\nffff8803e4e294a0)\nStack:\n ffff8803e664c800 0000000000000000 ffff8803e4e33d70 ffffffffa001f06e\n\u003c0\u003e ffff8803e4e33d60 ffff88041c51ada0 ffff88041acb7200 ffff88041bc0aa00\n\u003c0\u003e ffff8803e4e33d90 ffffffffa0032b6c 0000000000000014 ffff88041acb7200\nCall Trace:\n [\u003cffffffffa001f06e\u003e] sas_port_delete_phy+0x2e/0xa0 [scsi_transport_sas]\n [\u003cffffffffa0032b6c\u003e] sas_unregister_devs_sas_addr+0xac/0xe0 [libsas]\n [\u003cffffffffa0034914\u003e] sas_ex_revalidate_domain+0x204/0x330 [libsas]\n [\u003cffffffffa00307f0\u003e] ? sas_revalidate_domain+0x0/0x90 [libsas]\n [\u003cffffffffa0030855\u003e] sas_revalidate_domain+0x65/0x90 [libsas]\n [\u003cffffffff8108c7d0\u003e] worker_thread+0x170/0x2a0\n [\u003cffffffff81091ea0\u003e] ? autoremove_wake_function+0x0/0x40\n [\u003cffffffff8108c660\u003e] ? worker_thread+0x0/0x2a0\n [\u003cffffffff81091b36\u003e] kthread+0x96/0xa0\n [\u003cffffffff810141ca\u003e] child_rip+0xa/0x20\n [\u003cffffffff81091aa0\u003e] ? kthread+0x0/0xa0\n [\u003cffffffff810141c0\u003e] ? child_rip+0x0/0x20\nCode: ff ff 85 c0 75 ed eb d6 66 90 55 48 89 e5 48 83 ec 10 48 89 1c 24\n4c 89 64 24 08 0f 1f 44 00 00 48 89 fb e8 92 f4 ff ff 48 89 df \u003cf0\u003e ff\n0f 79 05 e8 25 00 00 00 65 48 8b 04 25 08 cc 00 00 48 2d\nRIP  [\u003cffffffff814ca9b1\u003e] mutex_lock+0x21/0x50\n RSP \u003cffff8803e4e33d30\u003e\nCR2: 0000000000000238\n\nThe following patch is admittedly a band-aid, and does not solve the\nroot cause, but it still is a good candidate for hardening as a pointer\ncheck before reference.\n\nSigned-off-by: Mark Salyzyn \u003cmark_salyzyn@us.xyratex.com\u003e\nTested-by: Jack Wang \u003cjack_wang@usish.com\u003e\nCc: stable@kernel.org\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "ac013ed1cb7b1b36113548ce83881a1b5f757b58",
      "tree": "b31bf468e86610642a954a83040bd0bf97981a0b",
      "parents": [
        "cdd05f05b4adefccfa9fce7d0e10c50f38f8a4bd"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Sep 28 18:48:02 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Oct 02 13:24:26 2011 -0500"
      },
      "message": "[SCSI] isci: export phy events via -\u003elldd_control_phy()\n\nAllow the sas-transport-class to update events for local phys via a new\nPHY_FUNC_GET_EVENTS command to -\u003elldd_control_phy().  Fixup drivers that\nare not prepared for new enum phy_func values, and unify\n-\u003elldd_control_phy() error codes.\n\nThese are the SAS defined phy events that are reported in a\nsmp-report-phy-error-log command:\n * /sys/class/sas_phy/\u003cphyX\u003e/invalid_dword_count\n * /sys/class/sas_phy/\u003cphyX\u003e/running_disparity_error_count\n * /sys/class/sas_phy/\u003cphyX\u003e/loss_of_dword_sync_count\n * /sys/class/sas_phy/\u003cphyX\u003e/phy_reset_problem_count\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "b50102d3e9a43a75379407c2080f696f61cb286b",
      "tree": "b37eb5ed05f2228842c54cdac455f00ec846746e",
      "parents": [
        "4f3f812dd3b638d0c92661122dcccd6aaef66bfb"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Sep 30 18:52:19 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Oct 02 13:20:03 2011 -0500"
      },
      "message": "[SCSI] isci: atapi support\n\nBased on original implementation from Jiangbi Liu and Maciej Trela.\n\nATAPI transfers happen in two-to-three stages.  The two stage atapi\ncommands are those that include a dma data transfer.  The data transfer\nportion of these operations is handled by the hardware packet-dma\nacceleration.  The three-stage commands do not have a data transfer and\nare handled without hardware assistance in raw frame mode.\n\nstage1: transmit host-to-device fis to notify the device of an incoming\natapi cdb.  Upon reception of the pio-setup-fis repost the task_context\nto perform the dma transfer of the cdb+data (go to stage3), or repost\nthe task_context to transmit the cdb as a raw frame (go to stage 2).\n\nstage2: wait for hardware notification of the cdb transmission and then\ngo to stage 3.\n\nstage3: wait for the arrival of the terminating device-to-host fis and\nterminate the command.\n\nTo keep the implementation simple we only support ATAPI packet-dma\nprotocol (for commands with data) to avoid needing to handle the data\ntransfer manually (like we do for SATA-PIO).  This may affect\ncompatibility for a small number of devices (see\nATA_HORKAGE_ATAPI_MOD16_DMA).\n\nIf the data-transfer underruns, or encounters an error the\ndevice-to-host fis is expected to arrive in the unsolicited frame queue\nto pass to libata for disposition.  However, in the DONE_UNEXP_FIS (data\nunderrun) case it appears we need to craft a response.  In the\nDONE_REG_ERR case we do receive the UF and propagate it to libsas.\n\nSigned-off-by: Maciej Trela \u003cmaciej.trela@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": "bb041a0e9c31229071b6e56e1d0d8374af0d2038",
      "tree": "5dd6587870627a58b85c2e2f1aa8618ce3fffd75",
      "parents": [
        "d962480e9a061505637bb16543d49e247349e25d"
      ],
      "author": {
        "name": "Jack Wang",
        "email": "jack_wang@usish.com",
        "time": "Fri Sep 23 14:32:32 2011 +0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Oct 02 12:51:06 2011 -0500"
      },
      "message": "[SCSI] libsas: set sas_address and device type of rphy\n\nLibsas forget to set the sas_address and device type of rphy lead to file\nunder /sys/class/sas_x show wrong value, fix that.\n\nSigned-off-by: Jack Wang \u003cjack_wang@usish.com\u003e\nTested-by: Crystal Yu \u003ccrystal_yu@usish.com\u003e\nCc: stable@kernel.org\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "97a1420d127ca1db2fd665707bf4e9501758147c",
      "tree": "4d89c37ee1e55ec98b733bc968a0896c0a1985e8",
      "parents": [
        "f6e67035a9edd79b8b202c159d5bec560bb9c358"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Sep 20 15:10:46 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Oct 02 12:36:43 2011 -0500"
      },
      "message": "[SCSI] libsas: dynamic queue depth\n\nThe queue-depth for libsas-attached devices initializes to 32 and can\nonly be increased manually via sysfs to a max of 64, while mpt2sas\nattached devices initialize to 254 and dynamically float via the\nmidlayer -\u003echange_queue_depth interface.\n\nNo performance regression was observed with this change on the isci\ndriver.\n\nTested-by: Dave Jiang \u003cdave.jiang@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": "f6e67035a9edd79b8b202c159d5bec560bb9c358",
      "tree": "ba884b5a2de7cb60bd1e6f67813b47fdb8ff509a",
      "parents": [
        "2fc62e2ac350b8f574e0a09170b350a8f2fa4a02"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Sep 20 15:10:33 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Oct 02 12:30:30 2011 -0500"
      },
      "message": "[SCSI] libsas,libata: fix -\u003echange_queue_{depth|type} for sata devices\n\nPass queue_depth change requests to libata, and prevent queue_type\nchanges for ATA devices.\n\nOtherwise:\n1/ we do not honor the libata specific restrictions on the queue depth\n2/ libsas drivers that do not set sdev-\u003etagged_supported are unable to\n   change the queue_depth of ata devices via sysfs\n\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": "ffaac8f45bfb2dffb78179baa5740de34058eef8",
      "tree": "653f9eae24129d54ce4df0a67bc883ed16d93dac",
      "parents": [
        "41e9a69641fb3fa86fa9277a179f3ad261d072f7"
      ],
      "author": {
        "name": "Luben Tuikov",
        "email": "ltuikov@yahoo.com",
        "time": "Thu Sep 22 09:41:36 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Oct 02 12:23:11 2011 -0500"
      },
      "message": "[SCSI] libsas: Allow expander T-T attachments\n\nAllow expander table-to-table attachments for\nexpanders that support it.\n\nSigned-off-by: Luben Tuikov \u003cltuikov@yahoo.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "8ec6552f4a77d15f446b00aed364e3c12d38aa6c",
      "tree": "efaa0dfc6479d28a14e5e778e8eb246ff94c360f",
      "parents": [
        "9c224ac21506d29f5a6ff4df0c4cc9f97484fa25"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Sep 01 21:18:20 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Thu Sep 22 14:59:09 2011 +0400"
      },
      "message": "[SCSI] libsas: sgpio write support\n\nAdd SFF-8485 v0.7 / SAS-1 smp-write-gpio register support to libsas.\nDefer SAS-2 support unless/until it defines an sgpio interface.\n\nMinimum implementation needed to get the lights blinking.\ntry_test_sas_gpio_gp_bit() provides a common method to parse the\nincoming write data (raw bitstream), and the to_sas_gpio_gp_bit() helper\nroutine can be used as a basis for the set/clear operations for the\n\u0027read\u0027 implementation.  Host implementations parse as many bits\n(ODx.[012]) as are locally supported and report the number of registers\nsuccessfully written.  If the submitted data overruns the internal\nnumber of registers available report the write as a success with the\nnumber of bytes remaining reported in -\u003eresid_len.\n\nExample (assuming an active backplane) set the \"identify\" pattern for\nthe first 21 devices:\n\nsmp_write_gpio --count\u003d2 --data\u003d92,49,24,92,24,92,49,24 -t 4 --index\u003d1 /dev/bsg/sas_hostX\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "24926dadc41cc566e974022b0e66231b82c6375f",
      "tree": "9bad44861db873dbea7cbb4580dc8eecaa31ab17",
      "parents": [
        "d0efab26f89506387a1bde898556660e06d7eb15"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "mark_salyzyn@us.xyratex.com",
        "time": "Thu Sep 01 06:11:17 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Thu Sep 22 11:23:56 2011 +0400"
      },
      "message": "[SCSI] libsas: fix failure to revalidate domain for anything but the first expander child.\n\nIn an enclosure model where there are chaining expanders to a large body\nof storage, it was discovered that libsas, responding to a broadcast\nevent change, would only revalidate the domain of first child expander\nin the list.\n\nThe issue is that the pointer value to the discovered source device was\nused to break out of the loop, rather than the content of the pointer.\n\nThis still remains non-compliant as the revalidate domain code is\nsupposed to loop through all child expanders, and not stop at the first\none it finds that reports a change count. However, the design of this\nroutine does not allow multiple device discoveries and that would be a\nmore complicated set of patches reserved for another day. We are fixing\nthe glaring bug rather than refactoring the code.\n\nSigned-off-by: Mark Salyzyn \u003cmsalyzyn@us.xyratex.com\u003e\nCc: stable@kernel.org\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "ac81c6a832a8769d1cc7ffda361aa3dc3d8f06dc",
      "tree": "bf1c08af7dbfb37c5e3f9752fb2de96decc2d396",
      "parents": [
        "a923f756be07aae690ec3dd2e4a25967658cf893"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Jul 16 15:00:35 2011 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Tue Aug 30 12:13:46 2011 -0700"
      },
      "message": "[SCSI] libsas: fix sas_queuecommand return values\n\n-\u003equeuecommand must return either 0, or one of the SCSI_MLQUEUE_* return\nvalues.  Non-transient errors are indicated by setting cmd-\u003eresult before\ncalling -\u003escsi_done and returning 0.  Fix libsas to adhere to this calling\nconvention.  Note that the DID_ERROR for returns from the low-level driver\nmight not be correct for all cases, but it\u0027s the best we can do with\nthe current layering in libsas.  I also suspect that the pre-existing\nhandling of -SAS_QUEUE_FULL should really be SCSI_MLQUEUE_HOST_BUSY, but\nI\u0027ll leave that for a separate change.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "a923f756be07aae690ec3dd2e4a25967658cf893",
      "tree": "9f3f6232fbb71d94e407f481b803f4d8ad7d21b9",
      "parents": [
        "92bd401ba7248946a4215d65ae9b1993ae66db2c"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Jul 11 14:49:24 2011 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Tue Aug 30 12:12:22 2011 -0700"
      },
      "message": "[SCSI] libsas: reindent sas_queuecommand\n\nSwitch sas_queuecommand to a normal indentation and goto based error handling.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "92bd401ba7248946a4215d65ae9b1993ae66db2c",
      "tree": "14eefb08b7586e6c19ccdbbd0e6a77913798b3f6",
      "parents": [
        "fe2d1851e9dc69da8de5dfe3fc748d041c31e25a"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Jul 11 14:49:23 2011 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Tue Aug 30 12:09:41 2011 -0700"
      },
      "message": "[SCSI] libsas: sas_queuecommand doesnt need host_lock\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "4fcf812ca392303aa79dd50e96e83a29faa13bd0",
      "tree": "411c33d701989b44ba2f4ecb64fd0cba92214958",
      "parents": [
        "7ca3c803e85080afdff4097e60fefec865027809"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jul 29 17:26:39 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sat Aug 27 08:35:13 2011 -0600"
      },
      "message": "[SCSI] libsas: export sas_alloc_task()\n\nNow that isci has added a 3rd open coded user of this functionality just\nshare the libsas version.\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": "5911e963d3718e306bcac387b83e259aa4228896",
      "tree": "1987f9c2d92087cf3ca2dbefb3724da6f3977864",
      "parents": [
        "e17035851ab8417bda890ab1e77f5ca121bbaa0b"
      ],
      "author": {
        "name": "Luben Tuikov",
        "email": "ltuikov@yahoo.com",
        "time": "Tue Jul 26 23:10:48 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Jul 27 15:50:58 2011 +0400"
      },
      "message": "[SCSI] libsas: remove expander from dev list on error\n\nIf expander discovery fails (sas_discover_expander()), remove the\nexpander from the port device list (sas_ex_discover_expander()),\nbefore freeing it. Else the list is corrupted and, e.g., when we\nattempt to send SMP commands to other devices, the kernel oopses.\n\nSigned-off-by: Luben Tuikov \u003cltuikov@yahoo.com\u003e\nCc: stable@kernel.org\nReviewed-by: Jack Wang \u003cjack_wang@usish.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "1ca1e43e55f4cd068f997154ffaf5fa62b08b802",
      "tree": "8b705e0088fb362d030caf1eed88ba63e59b7c5e",
      "parents": [
        "3673f4bf6a277f4f2944ad153ceb167b340f9ffc"
      ],
      "author": {
        "name": "Dave Jiang",
        "email": "dave.jiang@intel.com",
        "time": "Tue May 24 13:18:04 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jbottomley@parallels.com",
        "time": "Thu May 26 22:49:33 2011 -0500"
      },
      "message": "[SCSI] libsas: Add option for SATA soft reset\n\nThis allows a libsas driver to optionally provide a soft reset handler\nfor libata to drive.  The isci driver allows software to control the\nassertion/deassertion of SRST.\n\n[jejb: checkpatch.pl fixes]\nSigned-off-by: Dave Jiang \u003cdave.jiang@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": "3673f4bf6a277f4f2944ad153ceb167b340f9ffc",
      "tree": "cdf617316cffcb247c7524e430387e1f906ff987",
      "parents": [
        "90f1e10d08bad84f8fd15d3469a60d437d4de64f"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue May 24 13:17:58 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jbottomley@parallels.com",
        "time": "Thu May 26 22:49:33 2011 -0500"
      },
      "message": "[SCSI] libsas: check dev-\u003egone before submitting sata i/o\n\nHead off doomed-to-fail i/o in sas_queuecommand before sending it down\nthe ata path.\n\nBefore:\nsd 7:0:0:0: [sdd] Synchronizing SCSI cache\nata8: no sense translation for status: 0x00\nata8: translated ATA stat/err 0x00/00 to SCSI SK/ASC/ASCQ 0xb/00/00\nata8.00: device reported invalid CHS sector 0\nata8: status\u003d0x00 { }\nata8: no sense translation for status: 0x00\nata8: translated ATA stat/err 0x00/00 to SCSI SK/ASC/ASCQ 0xb/00/00\nata8.00: device reported invalid CHS sector 0\nata8: status\u003d0x00 { }\nata8: no sense translation for status: 0x00\nata8: translated ATA stat/err 0x00/00 to SCSI SK/ASC/ASCQ 0xb/00/00\nata8.00: device reported invalid CHS sector 0\nata8: status\u003d0x00 { }\nsd 7:0:0:0: [sdd]  Result: hostbyte\u003dDID_OK driverbyte\u003dDRIVER_SENSE\nsd 7:0:0:0: [sdd]  Sense Key : Aborted Command [current] [descriptor]\nsd 7:0:0:0: [sdd]  Add. Sense: No additional sense information\nsd 7:0:0:0: [sdd] Stopping disk\n\nAfter:\nsd 9:0:0:0: [sdd] Synchronizing SCSI cache\nsd 9:0:0:0: [sdd]  Result: hostbyte\u003dDID_BAD_TARGET driverbyte\u003dDRIVER_OK\nsd 9:0:0:0: [sdd] Stopping disk\nsd 9:0:0:0: [sdd] START_STOP FAILED\nsd 9:0:0:0: [sdd]  Result: hostbyte\u003dDID_BAD_TARGET driverbyte\u003dDRIVER_OK\n\nThis is a cosmetic change as sata i/o can still leak to a gone device,\nbut this addresses the nominal hotplug case when releasing the target.\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": "90f1e10d08bad84f8fd15d3469a60d437d4de64f",
      "tree": "bd3996757f33ac6a1cc8bf6c26dd47920363043d",
      "parents": [
        "c95286d81b976f4224c7b153defc8eec07e837d9"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue May 24 13:17:53 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jbottomley@parallels.com",
        "time": "Thu May 26 22:49:32 2011 -0500"
      },
      "message": "[SCSI] libsas: fix/amend device gone notification in sas_deform_port()\n\nCommit 56dd2c06 \"libsas: Don\u0027t issue commands to devices that have been\nhot-removed\" edited Darrick\u0027s original patch to remove setting \u0027gone\u0027 in\nthe sas_deform_port() path because that prevented scsi sync cache\ncommands from being issued when the driver was unloaded.  However, this\nallows true device gone notifications (as signaled port phy events) to\ntrigger sync cache commands to devices that are known to be unreachable.\n\nTeach libsas which sas_deform_port() invocations are likely device gone\nevents.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cjbottomley@parallels.com\u003e\n"
    },
    {
      "commit": "bb650a1bef73a8c1fd076fae4c4f0701cf3b5f25",
      "tree": "30434a1ae64125d0d8d2ff0764353d29d022105e",
      "parents": [
        "5fd5cc83a886d691ab8cd6d4404ca35e09ce88e3"
      ],
      "author": {
        "name": "Xiangliang Yu",
        "email": "yuxiangl@marvell.com",
        "time": "Sun May 08 19:27:01 2011 +0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jbottomley@parallels.com",
        "time": "Tue May 24 12:34:01 2011 -0400"
      },
      "message": "[SCSI] libsas: fix SATA NCQ error\n\nCurrent version of libsas can not handle SATA NCQ error.\nThis patch handle SATA NCQ error as AHCI do.\n\nSigned-off-by: Xiangliang Yu \u003cyuxiangl@marvell.com\u003e\nSigned-off-by: James Bottomley \u003cjbottomley@parallels.com\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "a44f99c7efdb88fa41128065c9a9445c19894e34",
      "tree": "9d9dc6026b2c0409eca05e360c98b8a688ccdb1e",
      "parents": [
        "b87a2d3e3147bd140da2eae584772c353d11421b",
        "22942c00a6ad6e9e93b53811a6de72c821c15d22"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 20 18:14:55 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 20 18:14:55 2011 -0700"
      },
      "message": "Merge branch \u0027trivial\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6\n\n* \u0027trivial\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6: (25 commits)\n  video: change to new flag variable\n  scsi: change to new flag variable\n  rtc: change to new flag variable\n  rapidio: change to new flag variable\n  pps: change to new flag variable\n  net: change to new flag variable\n  misc: change to new flag variable\n  message: change to new flag variable\n  memstick: change to new flag variable\n  isdn: change to new flag variable\n  ieee802154: change to new flag variable\n  ide: change to new flag variable\n  hwmon: change to new flag variable\n  dma: change to new flag variable\n  char: change to new flag variable\n  fs: change to new flag variable\n  xtensa: change to new flag variable\n  um: change to new flag variables\n  s390: change to new flag variable\n  mips: change to new flag variable\n  ...\n\nFix up trivial conflict in drivers/hwmon/Makefile\n"
    },
    {
      "commit": "c55d267de274d308927b60c3e740c1a826832317",
      "tree": "21b53a8c725d9f9650f60d94b349459d5b8dae10",
      "parents": [
        "61ef46fd45c3c62dc7c880a45dd2aa841b9af8fb",
        "bc898c97f7ba24def788d9f80786cf028a197122"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 17 17:54:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 17 17:54:40 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (170 commits)\n  [SCSI] scsi_dh_rdac: Add MD36xxf into device list\n  [SCSI] scsi_debug: add consecutive medium errors\n  [SCSI] libsas: fix ata list corruption issue\n  [SCSI] hpsa: export resettable host attribute\n  [SCSI] hpsa: move device attributes to avoid forward declarations\n  [SCSI] scsi_debug: Logical Block Provisioning (SBC3r26)\n  [SCSI] sd: Logical Block Provisioning update\n  [SCSI] Include protection operation in SCSI command trace\n  [SCSI] hpsa: fix incorrect PCI IDs and add two new ones (2nd try)\n  [SCSI] target: Fix volume size misreporting for volumes \u003e 2TB\n  [SCSI] bnx2fc: Broadcom FCoE offload driver\n  [SCSI] fcoe: fix broken fcoe interface reset\n  [SCSI] fcoe: precedence bug in fcoe_filter_frames()\n  [SCSI] libfcoe: Remove stale fcoe-netdev entries\n  [SCSI] libfcoe: Move FCOE_MTU definition from fcoe.h to libfcoe.h\n  [SCSI] libfc: introduce __fc_fill_fc_hdr that accepts fc_hdr as an argument\n  [SCSI] fcoe, libfc: initialize EM anchors list and then update npiv EMs\n  [SCSI] Revert \"[SCSI] libfc: fix exchange being deleted when the abort itself is timed out\"\n  [SCSI] libfc: Fixing a memory leak when destroying an interface\n  [SCSI] megaraid_sas: Version and Changelog update\n  ...\n\nFix up trivial conflicts due to whitespace differences in\ndrivers/scsi/libsas/{sas_ata.c,sas_scsi_host.c}\n"
    },
    {
      "commit": "bfbec92075a296eaaddd53b3327ccc259b377299",
      "tree": "24d5cb30a713ee463a085390ebcc4df4f41be221",
      "parents": [
        "76aea3e9fe1e6b74e8f7c75324fde940701346d4"
      ],
      "author": {
        "name": "matt mooney",
        "email": "mfm@muteddisk.com",
        "time": "Fri Jan 14 06:12:49 2011 -0800"
      },
      "committer": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Thu Mar 17 14:05:35 2011 +0100"
      },
      "message": "scsi: change to new flag variable\n\nReplace EXTRA_CFLAGS with ccflags-y.\n\nSigned-off-by: matt mooney \u003cmfm@muteddisk.com\u003e\nAcked-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: Michal Marek \u003cmmarek@suse.cz\u003e\n"
    },
    {
      "commit": "a82058a730c2bd01c43beb8a4847526a2998cc1a",
      "tree": "92608d5ecc6e70976fb320fe0c48074b5e0e5a01",
      "parents": [
        "941b1cdae83039c99fc5c1884a98d2afd39760e5"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Mar 10 17:13:18 2011 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Mon Mar 14 18:46:25 2011 -0500"
      },
      "message": "[SCSI] libsas: fix ata list corruption issue\n\nI think this stems from a misunderstanding of how the ata error handler\nworks.  ata_scsi_cmd_error_handler() gets called with a passed in list\nof commands to handle.  However, that list may still not be empty when\nit exits.  The command ata_scsi_port_error_handler() must be called\n(which takes no list) before the list will be completely emptied.  This\nbites the sas error handler because the two are called from different\nfunctions and the original list has gone out of scope before\nata_scsi_port_error_handler() is called. leading to some commands\ndangling on bare stack, which is a potential memory corruption issue.\nFix this by manually deleting all outstanding commands from the on-stack\nlist before it goes out of scope.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "9cbe056f6c467e7395d5aec39aceec47812eb98e",
      "tree": "3ca13e73718fc14fc39f3d875dc3a1f724a255c4",
      "parents": [
        "3696df309971b3427cb9cb039138a1732a865a0b"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Fri Feb 04 22:05:48 2011 +0300"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Wed Mar 02 02:36:46 2011 -0500"
      },
      "message": "libata: remove ATA_FLAG_NO_LEGACY\n\nAll checks of ATA_FLAG_NO_LEGACY have been removed by the commits\nc791c30670ea61f19eec390124128bf278e854fe ([libata] minor PCI IDE probe\nfixes and cleanups) and f0d36efdc624beb3d9e29b9ab9e9537bf0f25d5b (libata:\nupdate libata core layer to use devres), so I think it\u0027s time to finally\nget rid of this flag...\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "3696df309971b3427cb9cb039138a1732a865a0b",
      "tree": "334c7506273d2facf14abbdf42ed93e3da8cf615",
      "parents": [
        "c10f97b9d8df818e51e6073be1b96454630595c1"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Fri Feb 04 22:04:17 2011 +0300"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Wed Mar 02 02:36:46 2011 -0500"
      },
      "message": "libata: remove ATA_FLAG_MMIO\n\nCommit 0d5ff566779f894ca9937231a181eb31e4adff0e (libata: convert to iomap)\nremoved all checks of ATA_FLAG_MMIO but neglected to remove the flag itself.\nDo it now, at last...\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "c10f97b9d8df818e51e6073be1b96454630595c1",
      "tree": "2837ef82cff20a04cb126a3eb06a01db8dcd76f7",
      "parents": [
        "0f2e0330a85d351b0300583da1e335690c86bdd7"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Fri Feb 04 22:03:34 2011 +0300"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Wed Mar 02 02:36:46 2011 -0500"
      },
      "message": "libata: remove ATA_FLAG_{SRST|SATA_RESET}\n\nThese flags are marked as obsolete and the checks for them have been removed\nby commit 294440887b32c58d220fb54b73b7a58079b78f20 (libata-sff: kill unused\nata_bus_reset()), so I think it\u0027s time to finally get rid of them...\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "0f2e0330a85d351b0300583da1e335690c86bdd7",
      "tree": "8f74e1d3194474c95656f764e3b23686b8b6a09e",
      "parents": [
        "14080fa65516d15bc284c77a5dde31621a61e2bc"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Fri Jan 21 20:32:01 2011 +0300"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Wed Mar 02 02:36:46 2011 -0500"
      },
      "message": "ipr/sas_ata: use mode mask macros from \u003clinux/ata.h\u003e\n\nCommit 14bdef982caeda19afe34010482867c18217c641 ([libata] convert drivers to\nuse ata.h mode mask defines) didn\u0027t convert these two libata driver outside\ndrivers/ata/...\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "00dd4998a60599d98b4d6635820a1fbeafa5b021",
      "tree": "6a7ecd27007856691964399eec8882b8d8ca8560",
      "parents": [
        "0e0b494ca8c54a7297d0cc549405091019b3b77e"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Jan 23 09:44:12 2011 -0600"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Wed Mar 02 02:36:45 2011 -0500"
      },
      "message": "libsas: convert to libata new error handler\n\nThe conversion is quite complex given that the libata new error\nhandler has to be hooked into the current libsas timeout and error\nhandling.  The way this is done is to process all the failed commands\nvia libsas first, but if they have no underlying sas task (and they\u0027re\non a sata device) assume they are destined for the libata error\nhandler and send them accordingly.\n\nFinally, activate the port recovery of the libata error handler for\neach port known to the host.  This is somewhat suboptimal, since that\nport may not need recovering, but given the current architecture of\nthe libata error handler, it\u0027s the only way; and the spurious\nactivation is harmless.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "183ce896d726fb987da589fa8e36fb7214a494cc",
      "tree": "741d899331336f132274ba2fb116211725d398a2",
      "parents": [
        "3496343df5062d36354a106f19c9688a6ecf9734"
      ],
      "author": {
        "name": "jack_wang",
        "email": "jack_wang@usish.com",
        "time": "Sat Feb 19 18:20:53 2011 +0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Mon Feb 28 11:40:34 2011 -0600"
      },
      "message": "[SCSI] libsas: fix loopback topology bug during discovery\n\nIn some test envirenment, there is loopback topology test. We should\nhandle this during discovery.\n\nSigned-off-by: Jack Wang \u003cjack_wang@usish.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "c299190b9398d4edfbf80a749875d5bac199bfdc",
      "tree": "30f46808bbffe80699c97a7d3b393c4109a05cb6",
      "parents": [
        "64878c0eff5737e15b3ff06d02e7227eda4aa04c"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Jan 23 09:44:12 2011 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Feb 13 13:17:46 2011 -0600"
      },
      "message": "[SCSI] libsas: convert to libata new error handler\n\nThe conversion is quite complex given that the libata new error\nhandler has to be hooked into the current libsas timeout and error\nhandling.  The way this is done is to process all the failed commands\nvia libsas first, but if they have no underlying sas task (and they\u0027re\non a sata device) assume they are destined for the libata error\nhandler and send them accordingly.\n\nFinally, activate the port recovery of the libata error handler for\neach port known to the host.  This is somewhat suboptimal, since that\nport may not need recovering, but given the current architecture of\nthe libata error handler, it\u0027s the only way; and the spurious\nactivation is harmless.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "1e34c8387380269b9d7707d625aeb9e9e92233f0",
      "tree": "a64c493147a1e728474b15d2afbfc97b897800c4",
      "parents": [
        "96db6fa992570bfa46da8428fa466ee6b18e39d6"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Jan 23 08:34:25 2011 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Mon Jan 24 12:05:45 2011 -0600"
      },
      "message": "[SCSI] libsas: remove spurious sata control register read/write\n\nOriginally, libata required the illusion that it could access the sata\ncontrol register.  Now, however, it can run perfectly well without\nthem, so remove the dummy routines from libsas which tried to emulate\nthem (but only ended up causing confusion).\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "96db6fa992570bfa46da8428fa466ee6b18e39d6",
      "tree": "e0a4a7ce562ba967850bad259b4952a738f0093f",
      "parents": [
        "75c0b3867b3d3ed17142888cd4f334fbee20e3f7"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Jan 23 08:19:00 2011 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Mon Jan 24 12:05:38 2011 -0600"
      },
      "message": "[SCSI] libsas: convert to standard kernel debugging\n\nInstead of using a config option for debugging, just dump the\nmessages with KERN_DEBUG.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "75c0b3867b3d3ed17142888cd4f334fbee20e3f7",
      "tree": "29768fd74774032b8a8b5c913506aba18f9bb381",
      "parents": [
        "940d7faa4818f386fcdf1b7266ec7b62bf07a7d0"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Jan 23 08:16:24 2011 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Mon Jan 24 12:05:22 2011 -0600"
      },
      "message": "[SCSI] libsas: fix ATAPI check condition termination\n\nATAPI check condition needs to be treated the same as a success or\nprotocol return.  The register returns from the PACKET command are all\ncorrectly positioned in the device to host register FIS and so we\nshould collect them properly.  Right at the moment this doesn\u0027t matter\nbecause libata sends a request sense always for ATAPI errors, but if\nit ever checked the registers, we should have the correct contents\njust in case.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "9ee91f7fb550a4c82f82d9818e42493484c754af",
      "tree": "e1a28d0485da1e73c71cf6fbf0c10a2a8bcc4865",
      "parents": [
        "ac61c46f4f7665ab4548e90430c37b2529e16cff"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Jan 20 17:26:44 2011 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Mon Jan 24 11:52:33 2011 -0600"
      },
      "message": "[SCSI] libsas: fix runaway error handler problem\n\nlibsas makes use of scsi_schedule_eh() but forgets to clear the\nhost_eh_scheduled flag in its error handling routine.  Because of this,\nthe error handler thread never gets to sleep; it\u0027s constantly awake and\ntrying to run the error routine leading to console spew and inability to\nrun anything else (at least on a UP system).  The fix is to clear the\nflag as we splice the work queue.\n\nCc: stable@kernel.org\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "1542dec1c9109fdcd1c53460f064096f24fc49d2",
      "tree": "6b100234ff75d462817b948772f5f62aebcf0503",
      "parents": [
        "facc7a96d443d84060a8679c3fcc51d20d4981c3",
        "2ad2c320a107aceeba984f97ab2a60064101f5d5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 10 08:22:33 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 10 08:22:33 2011 -0800"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:\n  pata_platform: Remove CONFIG_HAVE_PATA_PLATFORM\u0027s dependencies.\n  pata_hpt37x: actually limit HPT370 to UltraDMA/66\n  pata_hpt3x2n: coding style cleanup\n  pata_hpt37x: coding style cleanup\n  pata_hpt366: coding style cleanup\n  pata_hpt3x2n: calculate average f_CNT\n  pata_hpt3x2n: clarify about HPT371N support\n  pata_hpt{37x|3x2n}: SATA mode filtering\n  [libata] avoid needlessly passing around ptr to SCSI completion func\n  [libata] new driver acard_ahci, for ATP8620 host controller\n"
    },
    {
      "commit": "b27dcfb0670ea7352a67137f4ff7947c2a9f6892",
      "tree": "cd48976174179304780651fa4e75bd5d1ffd1522",
      "parents": [
        "02cdfcf043c5c6ebcbbaba1c35130b5fbcb10867"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Nov 17 22:56:48 2010 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Wed Jan 05 19:43:22 2011 -0500"
      },
      "message": "[libata] avoid needlessly passing around ptr to SCSI completion func\n\nIt\u0027s stored in struct scsi_cmnd-\u003escsi_done, making several \u0027done\u0027\nparameters to functions redundant.\n\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "00f0254ed9b19164d416dc2e3c2e81eda55a6faf",
      "tree": "d33cb0b2c36ecd9ef4dbe32d9294dbd5c221f852",
      "parents": [
        "3ff5588d3f8afad65ded52ac0e4191462fe034cb"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Oct 01 13:55:52 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Tue Dec 21 12:23:53 2010 -0600"
      },
      "message": "[SCSI] libsas: fix definition of wideport, include local sas address\n\nTo date libsas has only looked at the attached sas address when\ndetermining the formation of wide ports.  The specification and some\nhardware expects that phys with different addresses will not form a wide\nport unless the local peer phys also match each other.  Introduce a flag\nto select stricter behavior at sas_register_ha() time.  The flag can be\ndropped once it is known that all libsas users expect the same behavior.\n\nCurrent drivers just initialize this field to zero and get the\ntraditional behavior.\n\nReported-by: Patrick Thomson \u003cpatrick.s.thomson@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "f281233d3eba15fb225d21ae2e228fd4553d824a",
      "tree": "51134454ba8acb558735f90be5540f7d756483e3",
      "parents": [
        "bdbd01ac444bffb3c9aefed3059d12554059b320"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Nov 16 02:10:29 2010 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 16 13:33:23 2010 -0800"
      },
      "message": "SCSI host lock push-down\n\nMove the mid-layer\u0027s -\u003equeuecommand() invocation from being locked\nwith the host lock to being unlocked to facilitate speeding up the\ncritical path for drivers who don\u0027t need this lock taken anyway.\n\nThe patch below presents a simple SCSI host lock push-down as an\nequivalent transformation.  No locking or other behavior should change\nwith this patch.  All existing bugs and locking orders are preserved.\n\nAdditionally, add one parameter to queuecommand,\n\tstruct Scsi_Host *\nand remove one parameter from queuecommand,\n\tvoid (*done)(struct scsi_cmnd *)\n\nScsi_Host* is a convenient pointer that most host drivers need anyway,\nand \u0027done\u0027 is redundant to struct scsi_cmnd-\u003escsi_done.\n\nMinimal code disturbance was attempted with this change.  Most drivers\nneeded only two one-line modifications for their host lock push-down.\n\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\nAcked-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c70b5296e775cde46cfcb2d860ba160108a5ec7a",
      "tree": "30419cb982acca44499236adcca65f2f87698c74",
      "parents": [
        "80c226fbef56576946c9655fcb2ab62e63404d12",
        "58ff4bd042adf8013c8f70fd03c2c0f8d022e387"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 17:34:15 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 17:34:15 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (84 commits)\n  [SCSI] be2iscsi: SGE Len \u003d\u003d 64K\n  [SCSI] be2iscsi: Remove premature free of cid\n  [SCSI] be2iscsi: More time for FW\n  [SCSI] libsas: fix bug for vacant phy\n  [SCSI] sd: Fix overflow with big physical blocks\n  [SCSI] st: add MTWEOFI to write filemarks without flushing drive buffer\n  [SCSI] libsas: Don\u0027t issue commands to devices that have been hot-removed\n  [SCSI] megaraid_sas: Add Online Controller Reset to MegaRAID SAS drive\n  [SCSI] lpfc 8.3.17: Update lpfc driver version to 8.3.17\n  [SCSI] lpfc 8.3.17: Replace function reset methodology\n  [SCSI] lpfc 8.3.17: SCSI fixes\n  [SCSI] lpfc 8.3.17: BSG fixes\n  [SCSI] lpfc 8.3.17: SLI Additions and Fixes\n  [SCSI] lpfc 8.3.17: Code Cleanup and Locking fixes\n  [SCSI] zfcp: Remove scsi_cmnd-\u003eserial_number from debug traces\n  [SCSI] ipr: fix array error logging\n  [SCSI] aha152x: enable PCMCIA on 64bit\n  [SCSI] scsi_dh_alua: Handle all states correctly\n  [SCSI] cxgb4i: connection and ddp setting update\n  [SCSI] cxgb3i: fixed connection over vlan\n  ...\n"
    },
    {
      "commit": "2bc72c91ea7e104b0e40151543d135b933a12e93",
      "tree": "50e5d393a70882ed513dbc402b82c1f1d2216fcc",
      "parents": [
        "526f7c7950bbf1271e59177d70d74438c2ef96de"
      ],
      "author": {
        "name": "Jack Wang",
        "email": "jack_wang@usish.com",
        "time": "Wed Oct 06 16:05:35 2010 +0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Mon Oct 11 17:40:00 2010 -0500"
      },
      "message": "[SCSI] libsas: fix bug for vacant phy\n\nThis patch fix bug reported by Chuck. And this new version incorporate comments\nfrom Hannes. Please consider to include it into mainline.\n\nSigned-off-by: Jack Wang \u003cjack_wang@usish.com\u003e\nSigned-off-by: Lindar Liu \u003clindar_liu@usish.com\u003e\nTested-by: Chuck Tuffli \u003cChuck_Tuffli@pmc-sierra.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "56dd2c0691a5a387b7b05835fe547dc6fade9407",
      "tree": "d7ff3abef5b42f554128b30072aaa1e2aa7eab08",
      "parents": [
        "39a985547cbfcbb0b23667b69b8ae82a6cf312ac"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Fri Oct 01 13:55:47 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Oct 08 16:03:42 2010 -0500"
      },
      "message": "[SCSI] libsas: Don\u0027t issue commands to devices that have been hot-removed\n\nsd will get hung up issuing commands to flush write cache if a SAS\ndevice behind the expander is unplugged without warning.  Change libsas\nto reject commands to domain devices that have already gone away.\n\n[maciej.trela@intel.com: removed setting -\u003egone in sas_deform_port() to\n permit sync cache commands at module removal]\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nTested-by: Haipao Fan \u003chaipao.fan@intel.com\u003e\nSigned-off-by: Maciej Trela \u003cmaciej.trela@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "f0ad30d3d2dc924decc0e10b1ff6dc32525a5d99",
      "tree": "6444b24afcb1c4a15c98de738d912698bab6a93a",
      "parents": [
        "045d3fe766b01921e24e2d4178e011b3b09ad4d6"
      ],
      "author": {
        "name": "David Milburn",
        "email": "dmilburn@redhat.com",
        "time": "Fri Sep 03 17:13:03 2010 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Oct 07 17:06:03 2010 -0500"
      },
      "message": "[SCSI] libsas: fix NCQ mixing with non-NCQ\n\nSome cards (like mvsas) have issue troubles if non-NCQ commands are\nmixed with NCQ ones.  Fix this by using the libata default NCQ check\nroutine which waits until all NCQ commands are complete before issuing\na non-NCQ one.  The impact to cards (like aic94xx) which don\u0027t need\nthis logic should be minimal\n\nCc: Stable Tree \u003cstable@kernel.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "9cbbdca44ae1a6f512ea1e2be11ced8bbb9d430a",
      "tree": "b27713199bcc27c56ccbf7f05b43bb3810a1f412",
      "parents": [
        "4913efe456c987057e5d36a3f0a55422a9072cae"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Sep 03 11:56:16 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri Sep 10 12:35:36 2010 +0200"
      },
      "message": "block: remove spurious uses of REQ_HARDBARRIER\n\nREQ_HARDBARRIER is deprecated.  Remove spurious uses in the following\nusers.  Please note that other than osdblk, all other uses were\nalready spurious before deprecation.\n\n* osdblk: osdblk_rq_fn() won\u0027t receive any request with\n  REQ_HARDBARRIER set.  Remove the test for it.\n\n* pktcdvd: use of REQ_HARDBARRIER in pkt_generic_packet() doesn\u0027t mean\n  anything.  Removed.\n\n* aic7xxx_old: Setting MSG_ORDERED_Q_TAG on REQ_HARDBARRIER is\n  spurious.  Removed.\n\n* sas_scsi_host: Setting TASK_ATTR_ORDERED on REQ_HARDBARRIER is\n  spurious.  Removed.\n\n* scsi_tcq: The ordered tag path wasn\u0027t being used anyway.  Removed.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@suse.de\u003e\nCc: Peter Osterlund \u003cpetero2@telia.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "df64d3caab8db6ae17dacd229a03d7689a10c432",
      "tree": "247fe4f9f39b22186e42e7f4687dd62c2690e47b",
      "parents": [
        "653c42d552d0fd0b05485442aed45dd2d62269c0"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Tue Jul 27 15:51:13 2010 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:07:49 2010 -0500"
      },
      "message": "[SCSI] Unify SAM_ and SAM_STAT_ macros\n\nWe have two separate definitions for identical constants with nearly the\nsame name.  One comes from the generic headers in scsi.h; the other is\nan enum in libsas.h ... it\u0027s causing confusion about which one is\ncorrect (fortunately they both are).\n\nFix this by eliminating the libsas.h duplicate\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "33cf23b0a535475aead57707cb9f4fe135a93544",
      "tree": "67e14f77f0eeab847a26a6cbfcb44eecb5fa2fda",
      "parents": [
        "7a9b149212f3716c598afe973b6261fd58453b7a",
        "95bb335c0ebe96afe926387a1ef3a096bd884a82"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 07:19:18 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 07:19:18 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (182 commits)\n  [SCSI] aacraid: add an ifdef\u0027d device delete case instead of taking the device offline\n  [SCSI] aacraid: prohibit access to array container space\n  [SCSI] aacraid: add support for handling ATA pass-through commands.\n  [SCSI] aacraid: expose physical devices for models with newer firmware\n  [SCSI] aacraid: respond automatically to volumes added by config tool\n  [SCSI] fcoe: fix fcoe module ref counting\n  [SCSI] libfcoe: FIP Keep-Alive messages for VPorts are sent with incorrect port_id and wwn\n  [SCSI] libfcoe: Fix incorrect MAC address clearing\n  [SCSI] fcoe: fix a circular locking issue with rtnl and sysfs mutex\n  [SCSI] libfc: Move the port_id into lport\n  [SCSI] fcoe: move link speed checking into its own routine\n  [SCSI] libfc: Remove extra pointer check\n  [SCSI] libfc: Remove unused fc_get_host_port_type\n  [SCSI] fcoe: fixes wrong error exit in fcoe_create\n  [SCSI] libfc: set seq_id for incoming sequence\n  [SCSI] qla2xxx: Updates to ISP82xx support.\n  [SCSI] qla2xxx: Optionally disable target reset.\n  [SCSI] qla2xxx: ensure flash operation and host reset via sg_reset are mutually exclusive\n  [SCSI] qla2xxx: Silence bogus warning by gcc for wrap and did.\n  [SCSI] qla2xxx: T10 DIF support added.\n  ...\n"
    },
    {
      "commit": "3e4ec3443f70fbe144799ccf0b1c3797f78d1715",
      "tree": "cfb297e42075baacbbabfb6034e3e7c9a44c73b2",
      "parents": [
        "c7a8209f766961eea4cfc6f22d2d6e06ef63546c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon May 10 21:41:30 2010 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Mon May 17 22:49:02 2010 -0400"
      },
      "message": "libata: kill ATA_FLAG_DISABLED\n\nATA_FLAG_DISABLED is only used by drivers which don\u0027t use\n-\u003eerror_handler framework and is largely broken.  Its only meaningful\nfunction is to make irq handlers skip processing if the flag is set,\nwhich is largely useless and even harmful as it makes those ports more\nlikely to cause IRQ storms.\n\nKill ATA_FLAG_DISABLED and makes the callers disable attached devices\ninstead.  ata_port_probe() and ata_port_disable() which manipulate the\nflag are also killed.\n\nThis simplifies condition check in IRQ handlers.  While updating IRQ\nhandlers, remove ap NULL check as libata guarantees consecutive port\nallocation (unoccupied ports are initialized with dummies) and\nlong-obsolete ATA_QCFLAG_ACTIVE check (checked by ata_qc_from_tag()).\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "1b4d0d8ea7b3cbd107f345ab766416f9b38ce66a",
      "tree": "a5aeda206eb92e702ad7e9b9e2b91e50fa6964d2",
      "parents": [
        "b5dbc858717113c823fe6bb058807c2cb67d1efa"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu May 13 09:31:54 2010 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun May 16 15:34:58 2010 -0400"
      },
      "message": "[SCSI] libsas: fix deref before check in commit 70b25f890ce\n\ncommit 70b25f890ce9f0520c64075ce9225a5b020a513e\nAuthor: Tejun Heo \u003ctj@kernel.org\u003e\nDate:   Thu Apr 15 09:00:08 2010 +0900\n\n    [SCSI] fix locking around blk_abort_request()\n\nIntroduced a reference before check problem, fix this by moving the\nlock shorthand code to be right at the point of actual use.\n\nReported-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Stable Tree \u003cstable@kernel.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    }
  ],
  "next": "70b25f890ce9f0520c64075ce9225a5b020a513e"
}
