)]}'
{
  "log": [
    {
      "commit": "303694eeee5eacad5b84105a15afd9e351e1891b",
      "tree": "ba8e16274ffbde39b21100ced62b5b11e8c926d6",
      "parents": [
        "2fcbdcb4c802fe40d6827dbc365dac90cfe8c0a3"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Jun 21 23:41:51 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Fri Aug 24 13:10:23 2012 +0400"
      },
      "message": "[SCSI] libsas: suspend / resume support\n\nlibsas power management routines to suspend and recover the sas domain\nbased on a model where the lldd is allowed and expected to be\n\"forgetful\".\n\nsas_suspend_ha - disable event processing allowing the lldd to take down\n                 links without concern for causing hotplug events.\n                 Regardless of whether the lldd actually posts link down\n                 messages libsas notifies the lldd that all\n                 domain_devices are gone.\n\nsas_prep_resume_ha - on the way back up before the lldd starts link\n                     training clean out any spurious events that were\n                     generated on the way down, and re-enable event\n                     processing\n\nsas_resume_ha - after the lldd has started and decided that all phys\n\t\thave posted link-up events this routine is called to let\n\t\tlibsas start it\u0027s own timeout of any phys that did not\n\t\tresume.  After the timeout an lldd can cancel the\n                phy teardown by posting a link-up event.\n\nStorage for ex_change_count (u16) and phy_change_count (u8) are changed\nto int so they can be set to -1 to indicate \u0027invalidated\u0027.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nReviewed-by: Jacek Danecki \u003cjacek.danecki@intel.com\u003e\nTested-by: Maciej Patelczyk \u003cmaciej.patelczyk@intel.com\u003e\nAcked-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "f0bf750c2d25c3a2131ececbff63c7878e0e3765",
      "tree": "ba967c5d28945e76bee78feb24ade328d5b0b3a6",
      "parents": [
        "a494fd5bd98bb35d5a9a274fecb768e14ebf499c"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Jun 21 23:36:30 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Fri Jul 20 08:58:54 2012 +0100"
      },
      "message": "[SCSI] libsas: trim sas_task of slow path infrastructure\n\nThe timer and the completion are only used for slow path tasks (smp, and\nlldd tmfs), yet we incur the allocation space and cpu setup time for\nevery fast path task.\n\nCc: Xiangliang Yu \u003cyuxiangl@marvell.com\u003e\nAcked-by: Jack Wang \u003cjack_wang@usish.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "a494fd5bd98bb35d5a9a274fecb768e14ebf499c",
      "tree": "ee24c3bf1136b405eb44a99bb592a0704e01349c",
      "parents": [
        "b17caa174a7e1fd2e17b26e210d4ee91c4c28b37"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Jun 21 23:36:25 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Fri Jul 20 08:58:53 2012 +0100"
      },
      "message": "[SCSI] libsas: drop sata port multiplier infrastructure\n\nOn the way to add a new sata_device field, noticed that libsas is\ncarrying port multiplier infrastructure that is explicitly disabled by\nsas_discover_sata().  The aic94xx touches the unused port_no, so leave\nthat field in case there was some use for it.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "9524c6821849bddad4bf592a47276cfb8a8a98c0",
      "tree": "f49578198e8ab3388f529a7a39aefc69af535d82",
      "parents": [
        "5db45bdc87ce4f503947adf7896586d60c63322c"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Jun 21 23:30:53 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Fri Jul 20 08:58:50 2012 +0100"
      },
      "message": "[SCSI] libsas: add sas_eh_abort_handler\n\nWhen recovering failed eh-cmnds let the lldd attempt an abort via\nscsi_abort_eh_cmnd before escalating.\n\nReviewed-by: Jacek Danecki \u003cjacek.danecki@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "5db45bdc87ce4f503947adf7896586d60c63322c",
      "tree": "f939bbcf1e6fc2664c54b46949eb8e5af8aa070b",
      "parents": [
        "b9d5c6b7ef570bea0d22746944d7b58fa7f17b13"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Jun 21 23:30:48 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Fri Jul 20 08:58:50 2012 +0100"
      },
      "message": "[SCSI] libsas: enforce eh strategy handlers only in eh context\n\nThe strategy handlers may be called in places that are problematic for\nlibsas (i.e. sata resets outside of domain revalidation filtering /\nlibata link recovery), or problematic for userspace (non-blocking ioctl\nto sleeping reset functions).  However, these routines are also called\nfor eh escalations and recovery of scsi_eh_prep_cmnd(), so permit them\nas long as we are running in the host\u0027s error handler, otherwise arrange\nfor them to be triggered in eh_context.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "e4a9c3732cea3e3c8c704aad86636090ffe6b25f",
      "tree": "faea8e91b3d917dcdb4c89adbb021ac737a6cb35",
      "parents": [
        "3b661a92e869ebe2358de8f4b3230ad84f7fce51"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Jun 21 23:25:27 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Fri Jul 20 08:58:45 2012 +0100"
      },
      "message": "[SCSI] libata, libsas: introduce sched_eh and end_eh port ops\n\nWhen managing shost-\u003ehost_eh_scheduled libata assumes that there is a\n1:1 shost-to-ata_port relationship.  libsas creates a 1:N relationship\nso it needs to manage host_eh_scheduled cumulatively at the host level.\nThe sched_eh and end_eh port port ops allow libsas to track when domain\ndevices enter/leave the \"eh-pending\" state under ha-\u003elock (previously\nnamed ha-\u003estate_lock, but it is no longer just a lock for ha-\u003estate\nchanges).\n\nSince host_eh_scheduled indicates eh without backing commands pinning\nthe device it can be deallocated at any time.  Move the taking of the\ndomain_device reference under the port_lock to guarantee that the\nata_port stays around for the duration of eh.\n\nReviewed-by: Jacek Danecki \u003cjacek.danecki@intel.com\u003e\nAcked-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "6ef1b512f4e6f936d89aa20be3d97a7ec7c290ac",
      "tree": "de2a0d0a74d2f0cdab456766fa77c5ec60487771",
      "parents": [
        "222a806af830fda34ad1f6bc991cd226916de060"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jun 22 10:52:34 2012 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Jul 08 09:49:14 2012 +0100"
      },
      "message": "[SCSI] libsas: fix taskfile corruption in sas_ata_qc_fill_rtf\n\nfill_result_tf() grabs the taskfile flags from the originating qc which\nsas_ata_qc_fill_rtf() promptly overwrites.  The presence of an\nata_taskfile in the sata_device makes it tempting to just copy the full\ncontents in sas_ata_qc_fill_rtf().  However, libata really only wants\nthe fis contents and expects the other portions of the taskfile to not\nbe touched by -\u003eqc_fill_rtf.  To that end store a fis buffer in the\nsata_device and use ata_tf_from_fis() like every other -\u003eqc_fill_rtf()\nimplementation.\n\nCc: \u003cstable@vger.kernel.org\u003e\nReported-by: Praveen Murali \u003cpmurali@logicube.com\u003e\nTested-by: Praveen Murali \u003cpmurali@logicube.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "22b9153faa2263aa89625de25e71c7d44c8dbd16",
      "tree": "1157d64a9c63c5b7b48b4a5b3610965d8d4c9624",
      "parents": [
        "f8fc75dc576eac0c996e4a792a4701819d999260"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Mar 09 11:00:06 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Mon Apr 23 12:03:39 2012 +0100"
      },
      "message": "[SCSI] libsas: introduce sas_work to fix sas_drain_work vs sas_queue_work\n\nWhen requeuing work to a draining workqueue the last work instance may\nnot be idle, so sas_queue_work() must not touch work-\u003eentry.  Introduce\nsas_work with a drain_node list_head to have a private list for\ncollecting work deferred due to drain collision.\n\nFixes reports like:\n  BUG: unable to handle kernel NULL pointer dereference at           (null)\n  IP: [\u003cffffffff810410d4\u003e] process_one_work+0x2e/0x338\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "9a10b33caf78f897356ac006c455e6060a40af15",
      "tree": "9c5f9abf97b8582895eb6b4f3b244d1dc854f7b6",
      "parents": [
        "840234745edaa82d514420dc1086e63536493a51"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jan 20 15:26:03 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:39:25 2012 -0600"
      },
      "message": "[SCSI] libsas: revert ata srst\n\nlibata issues follow up srsts when the controller has a hard time\nrecording the signature-fis after a reset, or if the link supports port\nmultipliers.  libsas does not support port multipliers and no current\nlibsas lldds appear to need help retrieving the signature fis.  Revert\nit for now to remove confusion.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "9508a66f898d46e726a318469312b45e0b1d078b",
      "tree": "e6b61e6c2a7dc8b40fdc0fe34901ff3db4af47a9",
      "parents": [
        "92625f9bff3853951cc75f5bc084ee67c1317d2f"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Jan 18 20:47:01 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:35:41 2012 -0600"
      },
      "message": "[SCSI] libsas: async ata scanning\n\nlibsas ata error handling is already async but this does not help the\nscan case.  Move initial link recovery out from under host-\u003escan_mutex,\nand delay synchronization with eh until after all port probe/recovery\nwork has been queued.\n\nDevice ordering is maintained with scan order by still calling\nsas_rphy_add() in order of domain discovery.\n\nSince we now scan the domain list when invoking libata-eh we need to be\ncareful to check for fully initialized ata ports.\n\nAcked-by: Jack Wang \u003cjack_wang@usish.com\u003e\nAcked-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "7d05919aad080074453de880822fe5805875645f",
      "tree": "df78c12a7bfc9acaefd91d2a8852dca17c178790",
      "parents": [
        "45c73b65194173e77030d5b95abe5b63a402d268"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 10 14:39:13 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:20:55 2012 -0600"
      },
      "message": "[SCSI] libsas: mark all domain devices gone if root port disappears\n\nIf the top level expander is hot removed, mark all child devices as gone\nbefore unregistration to short circuit futile recovery.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "f41a0c441c3fe43e79ebeb75584dbb5bfa83e5cd",
      "tree": "5a53adb90ebf31888184a9bff16ccc1869e2e4b3",
      "parents": [
        "3a9c5560f677690f65038f399f4f598c79b83186"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Dec 21 21:33:17 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 13:01:06 2012 -0600"
      },
      "message": "[SCSI] libsas: fix sas_find_local_phy(), take phy references\n\nIn the direct-attached case this routine returns the phy on which this\ndevice was first discovered.  Which is broken if we want to support\nwide-targets, as this phy reference can become stale even though the\nport is still active.\n\nIn the expander-attached case this routine tries to lookup the phy by\nscanning the attached sas addresses of the parent expander, and BUG_ONs\nif it can\u0027t find it.  However since eh and the libsas workqueue run\nindependently we can still be attempting device recovery via eh after\nlibsas has recorded the device as detached.  This is even easier to hit\nnow that eh is blocked while device domain rediscovery takes place, and\nthat libata is fed more timed out commands increasing the chances that\nit will try to recover the ata device.\n\nArrange for dev-\u003ephy to always point to a last known good phy, it may be\nstale after the port is torn down, but it will catch up for wide port\nreconfigurations, and never be NULL.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "36a399473902a57218dc493c5a814708a56b73ab",
      "tree": "e64a9f136bbacaded9fdd3d3d39c342953d9be34",
      "parents": [
        "50824d6c5657ce340e3911171865a8d99fdd8eba"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Nov 17 17:59:54 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 12:49:36 2012 -0600"
      },
      "message": "[SCSI] libsas: poll for ata device readiness after reset\n\nUse ata_wait_after_reset() to poll for link recovery after a reset.\nThis combined with sas_ha-\u003eeh_mutex prevents expander rediscovery from\nprobing phys in an intermediate state.  Local discovery does not have a\nmechanism to filter link status changes during this timeout, so it\nremains the responsibility of lldds to prevent premature port teardown.\nAlthough once all lldd\u0027s support -\u003elldd_ata_check_ready() that could be\nused as a gate to local port teardown.\n\nThe signature fis is re-transmitted when the link comes back so we\nshould be revalidating the ata device class, but that is left to a future\npatch.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "89d3cf6ac3cdc4f15a82709f8c78ed169a98be5b",
      "tree": "6da0cf7d0f6e0ff10890f456e754aa6f76013452",
      "parents": [
        "1f4fe89c9c78d3163cf1e389bdc6438a44b64244"
      ],
      "author": {
        "name": "Jeff Skirvin",
        "email": "jeffrey.d.skirvin@intel.com",
        "time": "Wed Nov 16 09:44:13 2011 +0000"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 14:22:49 2012 -0600"
      },
      "message": "[SCSI] libsas: add mutex for SMP task execution\n\nSAS does not tag SMP requests, and at least one lldd (isci) does not permit\nmore than one in-flight request at a time.\n\n[jejb: fix sas_init_dev tab issues while we\u0027re at it]\nSigned-off-by: Jeff Skirvin \u003cjeffrey.d.skirvin@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "2a559f4ba443265b4c58925b48296f1cf81b49f9",
      "tree": "79b2c0ea7e06ce19d00ca097e5df34595afea314",
      "parents": [
        "81c757bc696284f39f07766f0c2ca67af64ce9bd"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Sun Dec 04 00:06:57 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 14:18:01 2012 -0600"
      },
      "message": "[SCSI] libsas: sas_phy_enable via transport_sas_phy_reset\n\nExecute the link-reset triggered by sas_phy_enable via\ntransport_sas_phy_reset so that it can be managed by libata.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "3944f50995f947558c35fb16ae0288354756762c",
      "tree": "59100b5e0a6aaef675bab78a31838356a3554a95",
      "parents": [
        "9095a64a9aead653df320e3a6fc70835c15d46e4"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Nov 29 12:08:50 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 14:07:15 2012 -0600"
      },
      "message": "[SCSI] libsas: let libata handle command timeouts\n\nlibsas-eh if it successfully aborts an ata command will hide the timeout\ncondition (AC_ERR_TIMEOUT) from libata.  The command likely completes\nwith the all-zero task-\u003etask_status it started with.  Instead, interpret\na TMF_RESP_FUNC_COMPLETE as the end of the sas_task but keep the scmd\naround for libata-eh to handle.\n\nTested-by: Andrzej Jakowski \u003candrzej.jakowski@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "9095a64a9aead653df320e3a6fc70835c15d46e4",
      "tree": "63ad804f78668bf28d90ea2f8c9640ce92dacdea",
      "parents": [
        "a3a142524aa4b1539a64a55087bf12ffa4b1f94e"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Nov 28 11:29:20 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 14:06:08 2012 -0600"
      },
      "message": "[SCSI] libsas: fix timeout vs completion race\n\nUntil we have told the lldd to forget a task a timed out operation can\nreturn from the hardware at any time.  Since completion frees the task\nwe need to make sure that no tasks run their normal completion handler\nonce eh has decided to manage the task.  Similar to\nata_scsi_cmd_error_handler() freeze completions to let eh judge the\noutcome of the race.\n\nTask collector mode is problematic because it presents a situation where\na task can be timed out and aborted before the lldd has even seen it.\nFor this case we need to guarantee that a task that an lldd has been\ntold to forget does not get queued after the lldd says \"never seen it\".\nWith sas_scsi_timed_out we achieve this with the -\u003etask_queue_flush\nmutex, rather than adding more time.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "a3a142524aa4b1539a64a55087bf12ffa4b1f94e",
      "tree": "2440c6438979cf410ca9231ab77d5115a140eca5",
      "parents": [
        "3dff5721e4f67e6231dfc419d30aaa7563bfffd4"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Dec 06 23:24:42 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 14:04:52 2012 -0600"
      },
      "message": "[SCSI] libsas: prevent double completion of scmds from eh\n\nWe invoke task-\u003etask_done() to free the task in the eh case, but at this\npoint we are prepared for scsi_eh_flush_done_q() to finish off the scmd.\n\nIntroduce sas_end_task() to capture the final response status from the\nlldd and free the task.\n\nAlso take the opportunity to kill this warning.\ndrivers/scsi/libsas/sas_scsi_host.c: In function ‘sas_end_task’:\ndrivers/scsi/libsas/sas_scsi_host.c:102:3: warning: case value ‘2’ not in enumerated type ‘enum exec_status’ [-Wswitch]\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "3dff5721e4f67e6231dfc419d30aaa7563bfffd4",
      "tree": "752102ef79f985f4d153b4791461404f67cdf467",
      "parents": [
        "e500a34b0257def5b9ec07563afeeada1ead87bb"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Nov 28 12:08:22 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 13:58:38 2012 -0600"
      },
      "message": "[SCSI] libsas: close error handling vs sas_ata_task_done() race\n\nSince sas_ata does not implement -\u003efreeze(), completions for scmds and\ninternal commands can still arrive concurrent with\nata_scsi_cmd_error_handler() and sas_ata_post_internal() respectively.\nBy the time either of those is called libata has committed to completing\nthe qc, and the ATA_PFLAG_FROZEN flag tells sas_ata_task_done() it has\nlost the race.\n\nIn the sas_ata_post_internal() case we take on the additional\nresponsibility of freeing the sas_task to close the race with\nsas_ata_task_done() freeing the the task while sas_ata_post_internal()\nis in the process of invoking -\u003elldd_abort_task().\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "b91bb296188118eea9fdc6093cfcf76bbe8589ba",
      "tree": "8fe9dda8894514f9cd1184368eab975583c12f3c",
      "parents": [
        "87c8331fcf72e501c3a3c0cdc5c9391ec72f7cf2"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Nov 17 17:59:52 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 13:55:42 2012 -0600"
      },
      "message": "[SCSI] libsas: use -\u003eset_dmamode to notify lldds of NCQ parameters\n\nsas_discover_sata() notifies lldds of sata devices twice.  Once to allow\nthe \u0027identify\u0027 to be sent, and a second time to allow aic94xx (the only\nlibsas driver that cares about sata_dev.identify) to setup NCQ\nparameters before the device becomes known to the midlayer.  Replace\nthis double notification and intervening \u0027identify\u0027 with an explicit\n-\u003elldd_ata_set_dmamode notification.  With this change all ata internal\ncommands are issued by libata, so we no longer need sas_issue_ata_cmd().\n\nThe data from the identify command only needs to be cached in one\nlocation so ata_device.id replaces domain_device.sata_dev.identify.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "87c8331fcf72e501c3a3c0cdc5c9391ec72f7cf2",
      "tree": "4ed0e98760c977010fe54778c1a25625840b4583",
      "parents": [
        "e139942d77a6e3ac83bc322e826668054a8601d6"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Nov 17 17:59:51 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 13:52:34 2012 -0600"
      },
      "message": "[SCSI] libsas: prevent domain rediscovery competing with ata error handling\n\nlibata error handling provides for a timeout for link recovery.  libsas\nmust not rescan for previously known devices in this interval otherwise\nit may remove a device that is simply waiting for its link to recover.\nLet libata-eh make the determination of when the link is stable and\nprevent libsas (host workqueue) from taking action while this\ndetermination is pending.\n\nUsing a mutex (ha-\u003edisco_mutex) to flush and disable revalidation while\neh is running requires any discovery action that may block on eh be\nmoved to its own context outside the lock.  Probing ATA devices\nexplicitly waits on ata-eh and the cache-flush-io issued during device\nremoval may also pend awaiting eh completion.  Essentially any rphy\nadd/remove activity needs to run outside the lock.\n\nThis adds two new cleanup states for sas_unregister_domain_devices()\n\u0027allocated-but-not-probed\u0027, and \u0027flagged-for-destruction\u0027.  In the\n\u0027allocated-but-not-probed\u0027 state  dev-\u003erphy points to a rphy that is\nknown to have not been through a sas_rphy_add() event.  At domain\nteardown check if this device is still pending probe and cleanup\naccordingly.  Similarly if a device has already been queued for removal\nthen sas_unregister_domain_devices has nothing to do.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "e139942d77a6e3ac83bc322e826668054a8601d6",
      "tree": "ef1741122d936f6fa9986a53f17e6f6108283649",
      "parents": [
        "312d3e56119a4bc5c36a96818f87f650c069ddc2"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Sat Jan 07 08:52:39 2012 +0000"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 13:51:23 2012 -0600"
      },
      "message": "[SCSI] libsas: convert dev-\u003egone to flags\n\nIn preparation for adding tracking of another device state \"destroy\".\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "b1124cd3ec97406c767b90bf7e93ecd2d2915592",
      "tree": "d0936775aacff4492177c14a73175738dfb51ee0",
      "parents": [
        "f8daa6e6d83f60a721752cb53433bfdc1503b45f"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Dec 19 16:42:34 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 13:48:51 2012 -0600"
      },
      "message": "[SCSI] libsas: introduce sas_drain_work()\n\nWhen an lldd invokes -\u003enotify_port_event() it can trigger a chain of libsas\nevents to:\n\n  1/ form the port and find the direct attached device\n\n  2/ if the attached device is an expander perform domain discovery\n\nA call to flush_workqueue() will only flush the initial port formation work.\nCurrently libsas users need to call scsi_flush_work() up to the max depth of\nchain (which will grow from 2 to 3 when ata discovery is moved to its own\ndiscovery event).  Instead of open coding multiple calls switch to use\ndrain_workqueue() to flush sas work.\n\ndrain_workqueue() does not handle new work submitted during the drain so\nlibsas needs a bit of infrastructure to hold off unchained work submissions\nwhile a drain is in flight.  A lldd -\u003enotify() event is considered \u0027unchained\u0027\nwhile a sas_discover_event() is \u0027chained\u0027.  As Tejun notes:\n\n  \"For now, I think it would be best to add private wrapper in libsas to\n   support deferring unchained work items while draining.\"\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "f8daa6e6d83f60a721752cb53433bfdc1503b45f",
      "tree": "66798b2d2763a53acada47040c86f7c094430f0a",
      "parents": [
        "b15ebe0b5d0b95aeb1d84cae3649df1e0e065e9b"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Dec 19 17:02:25 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 13:47:29 2012 -0600"
      },
      "message": "[SCSI] libsas: convert ha-\u003estate to flags\n\nIn preparation for adding new states (SAS_HA_DRAINING, SAS_HA_FROZEN),\nconvert ha-\u003estate into a set of flags.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "b15ebe0b5d0b95aeb1d84cae3649df1e0e065e9b",
      "tree": "ff93ad5f8be5fe91c7e6cf4963253491ddd058fb",
      "parents": [
        "756f173fb5fa90ec15222e80fb579288be7794fd"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Nov 17 17:59:49 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 13:41:04 2012 -0600"
      },
      "message": "[SCSI] libsas: replace event locks with atomic bitops\n\nThe locks only served to make sure the pending event bitmask was updated\nconsistently.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "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": "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": "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": "d962480e9a061505637bb16543d49e247349e25d",
      "tree": "e6734a7376a95e2dcc84a2e0223088e109bac8ff",
      "parents": [
        "11e16364aaac4544dd26ca56d399c954cc95d7a5"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Sep 23 16:43:45 2011 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Oct 02 12:47:40 2011 -0500"
      },
      "message": "[SCSI] libsas: fix try_test_sas_gpio_gp_bit() build error\n\nIf the user has disabled CONFIG_SCSI_SAS_HOST_SMP then libsas drivers\nwill not be receiving smp-gpio frames and do not need this lookup code.\n\nReported-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nTested-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.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": "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": "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": "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": "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": "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": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "e881a172dac4d9ea3b2a1540041d872963c269bd",
      "tree": "9eb1f344b107806c0041c4e0a64192a055117289",
      "parents": [
        "dbf9bfe615717d1145f263c0049fe2328e6ed395"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Thu Oct 15 17:46:39 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:00:41 2009 -0600"
      },
      "message": "[SCSI] modify change_queue_depth to take in reason why it is being called\n\nThis patch modifies scsi_host_template-\u003echange_queue_depth so that\nit takes an argument indicating why it is being called. This will be\nused so that if a LLD needs to do some extra processing when\nhandling queue fulls or later ramp ups, it can do so.\n\nThis is a simple port of the drivers setting a change_queue_depth\ncallback. In the patch I just have these LLDs adjust the queue depth\nif the user was requesting it.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\n\n[Vasu.Dev: v2\n\tAlso converted pmcraid_change_queue_depth and then verified\nall modules compile  using \"make allmodconfig\" for any new build\nwarnings on X86_64.\n\n\tUpdated original description after combing two original\npatches from Mike to make this patch git bisectable.]\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\n[jejb: fixed up 53c700]\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "5a6483feb0c5193519625d0ea8c4254364d423cc",
      "tree": "2235220e522882ac5872937fa43d3d1b188c1f4e",
      "parents": [
        "cb688371e27880d86c42323826846d1cd7caad8f"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Tue Feb 26 10:00:17 2008 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Fri Apr 18 22:16:54 2008 -0400"
      },
      "message": "include: Remove unnecessary inclusions of asm/semaphore.h\n\nNone of these files use any of the functionality promised by\nasm/semaphore.h.  It\u0027s possible that they (or some user of them) rely\non it dragging in some unrelated header file, but I can\u0027t build all\nthese files, so we\u0027ll have to fix any build failures as they come up.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "45e6cdf41437c72ed79cee64dc69e7f740511e50",
      "tree": "80814e8e3e58ddfe9e27e9674f256a67cdef0fb5",
      "parents": [
        "7e23ea488488400127a2da19c0d89f1723117504"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Tue Feb 19 10:49:40 2008 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Mon Apr 07 12:15:38 2008 -0500"
      },
      "message": "[SCSI] libsas: Provide a transport-level facility to request SAS addrs\n\nProvide a facility to use the request_firmware() interface to get a SAS\naddress from userspace.  This can be used by SAS LLDDs that cannot\nobtain the address from the host adapter.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "5319578ca38a8b90b6d0270c194c65d1dd8f7725",
      "tree": "a4e3c15a1035d9ace3507a06ef2093eb9b07fec8",
      "parents": [
        "eea5ff7bde45c7724594e6a3c9a6290691ddabe9"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Feb 23 23:35:44 2008 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Feb 23 23:52:30 2008 -0600"
      },
      "message": "[SCSI] libsas: export sas_find_local_phy function\n\nThis is needed by the to be added I_T reset function in aic94xx.  It\nneeds to know the local phy so it can send a link or hard reset along\nthe path.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "366ca51f30de1cbb5b356c70b7bb22051c558e41",
      "tree": "c28a9d3b64a5b3e3c8bd29c57003ee524e9e1e63",
      "parents": [
        "1292500b159c00a8fece072b004f154e6fda9f48"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Jan 18 10:47:01 2008 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Jan 25 11:47:23 2008 -0600"
      },
      "message": "[SCSI] libsas: abstract STP task status into a function\n\nBreak out the frame processor for STP tasks from aic94xx so they can\nbe shared by other SAS HBA\u0027s\n\nOriginal patch from Jeff Garzik \u003cjeff@garzik.org\u003e\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "32e8ae36b8f80372015b88b63c4358a376c9af0f",
      "tree": "9a7211c761b0476216eaf24f0aebd7ced7945a37",
      "parents": [
        "2d507a01dac338831266b44ccbb01c69e84606ed"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Dec 30 12:37:31 2007 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Jan 11 18:29:15 2008 -0600"
      },
      "message": "[SCSI] libsas: don\u0027t use made up error codes\n\nThis is bad for two reasons:\n\n     1. If they\u0027re returned to outside applications, no-one knows what\n        they mean.\n     2. Eventually they\u0027ll clash with the ever expanding standard error\n        codes.\n\nThe problem error code in question is ETASK.  I\u0027ve replaced this by\nECOMM (communications error on send) a network error code that seems to\nmost closely relay what ETASK meant.\n\nAcked-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "8ee24023ef43c77cdaea1add00e1e45cc4fc3261",
      "tree": "d36320fa2a3ff4e8d98ff17a31cbe6b292c1155f",
      "parents": [
        "5929faf3334f4c69f3bb02be59d7c127e0cefa1f"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Mon Nov 05 11:52:14 2007 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Jan 11 18:22:41 2008 -0600"
      },
      "message": "[SCSI] libsas: Fix various sparse complaints\n\nAnnotate sas_queuecommand with locking details, and clean up a few\nmore sparse warnings about static/non-static declarations.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "5929faf3334f4c69f3bb02be59d7c127e0cefa1f",
      "tree": "d82d79f1e2aaea1306e6e4888590a6755c99d7d7",
      "parents": [
        "e5a69e27cc193f98c9a5a9086e3bf85528170623"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Mon Nov 05 11:51:17 2007 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Jan 11 18:22:41 2008 -0600"
      },
      "message": "[SCSI] libsas: Convert sas_proto users to sas_protocol\n\nsparse complains about the mixing of enums in libsas.  Since the\nunderlying numeric values of both enums are the same, combine them\nto get rid of the warning.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "87ae9afdcada236d0a1b38ce2c465a65916961dc",
      "tree": "c885e589ff66daf4f860b19818228edb75b29530",
      "parents": [
        "013fb33972061ac65cdf3e1771267985e59deca1"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Oct 30 10:35:04 2007 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Fri Nov 02 08:47:06 2007 +0100"
      },
      "message": "cleanup asm/scatterlist.h includes\n\nNot architecture specific code should not #include \u003casm/scatterlist.h\u003e.\n\nThis patch therefore either replaces them with\n#include \u003clinux/scatterlist.h\u003e or simply removes them if they were\nunused.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1d1bbee61e4ecdaad450e9bf4d9983876ed53a43",
      "tree": "fd371a0e515fbadb3d0d01ca409718aa6fca15a9",
      "parents": [
        "fd3adb2ae8e16a02dfd5ed68f50fcf76fcdaff0b"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Thu Jul 26 09:28:37 2007 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.localdomain",
        "time": "Thu Jul 26 09:42:43 2007 -0400"
      },
      "message": "[SCSI] libsas: Remove PCI dependencies\n\nEliminate unnecessary PCI dependencies in libsas.  It should use generic\nDMA and struct device like other subsystems.\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "ba1fc175cc6c0af7e78241e50160344f0f198282",
      "tree": "019c21e5c4658c50b08e28d2077b37242a1d22db",
      "parents": [
        "7aa68e80bd481faae1234bc2a7e4bcc9348f98b4"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon Jul 09 12:52:08 2007 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.localdomain",
        "time": "Wed Jul 18 11:18:20 2007 -0500"
      },
      "message": "[SCSI] libsas: add SAS management protocol handler\n\nThis patch adds support for SAS Management Protocol (SMP) passthrough\nsupport via bsg. aic94xx can use this.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "338ec57003ff9d7bc1471677e61872455977a5de",
      "tree": "b6500d501ec6f6f9db504d5e643c799f69777277",
      "parents": [
        "0281e02c5671f50701924465744edd3e2feb5d6f"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Wed Oct 18 14:43:37 2006 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.localdomain",
        "time": "Wed Jul 18 11:14:40 2007 -0500"
      },
      "message": "[SCSI] Migrate libsas ATA code into a separate file\n\nThis is a respin of my earlier patch that migrates the ATA support code\ninto a separate file.  For now, the controversial linking bits have\nbeen removed per James Bottomley\u0027s request for a patch that contains\nonly the migration diffs, which means that libsas continues to require\nlibata.  I intend to address that problem in a separate patch.\n\nThis patch is against the aic94xx-sas-2.6 git tree, and it has been\nsanity tested on my x206m with Seagate SATA and SAS disks without\nuncovering any new problems.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "fa1c1e8f1ece48c7baa3ba529bfd0d10a0bdf4eb",
      "tree": "8de54ce8b590c720f528c511c2434e71abd34f0c",
      "parents": [
        "8b4a40809e5330c9da5d20107d693d92d73b31dc"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Thu Aug 10 19:19:47 2006 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.localdomain",
        "time": "Wed Jul 18 11:12:53 2007 -0500"
      },
      "message": "[SCSI] Add SATA support to libsas\n\nHook the scsi_host_template functions in libsas to delegate\nfunctionality to libata when appropriate.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\n\nMisc code changes and merge fixes and update for libata-\u003edrivers/ata\nmove\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "d7a54e30d324b6f3b29a6cf2ff24c95b135013f5",
      "tree": "e009a153ea6cdfc9dfcc14dda0b749a79cc59beb",
      "parents": [
        "4797547778fd51e6ee929c5dd67ab3807898eb82"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Apr 26 09:38:01 2007 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Sun May 06 09:33:17 2007 -0500"
      },
      "message": "[SCSI] sas_scsi_host: Convert to use the kthread API\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "5f0b1437e0708772b6fecae5900c01c3b5f9b512",
      "tree": "bcd923e305345178bc162ed8560d56a3af197224",
      "parents": [
        "574009c1a895aeeb85eaab29c235d75852b09eb8",
        "81b7bbd1932a04869d4c8635a75222dfc6089f96"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 11:44:25 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 11:44:25 2007 -0800"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (97 commits)\n  [SCSI] zfcp: removed wrong comment\n  [SCSI] zfcp: use of uninitialized variable\n  [SCSI] zfcp: Invalid locking order\n  [SCSI] aic79xx: use dma_get_required_mask()\n  [SCSI] aic79xx: fix bracket mismatch in unused macro\n  [SCSI] BusLogic: Replace \u0027boolean\u0027 by \u0027bool\u0027\n  [SCSI] advansys: clean up warnings\n  [SCSI] 53c7xx: brackets fix in uncompiled code\n  [SCSI] nsp_cs: remove old scsi code\n  [SCSI] aic79xx: make ahd_match_scb() static\n  [SCSI] DAC960: kmalloc-\u003ekzalloc/Casting cleanups\n  [SCSI] scsi_kmap_atomic_sg(): check that local irqs are disabled\n  [SCSI] Buslogic: local_irq_disable() is redundant after local_irq_save()\n  [SCSI] aic94xx: update for v28 firmware\n  [SCSI] scsi_error: Fix lost EH commands\n  [SCSI] aic94xx: Add default bus reset handler\n  [SCSI] aic94xx: Remove TMF result code munging\n  [SCSI] libsas: Add an LU reset mechanism to the error handler\n  [SCSI] libsas: Don\u0027t BUG when connecting two expanders via wide port\n  [SCSI] st: fix Tape dies if wrong block size used, bug 7919\n  ...\n"
    },
    {
      "commit": "c376222960ae91d5ffb9197ee36771aaed1d9f90",
      "tree": "7f431c42529fec77433d33490bd9f2a8c47ba091",
      "parents": [
        "1b135431abf5ea92e61bf4e91d93726c7b96da5f"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sat Feb 10 01:45:03 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:27 2007 -0800"
      },
      "message": "[PATCH] Transform kmem_cache_alloc()+memset(0) -\u003e kmem_cache_zalloc().\n\nReplace appropriate pairs of \"kmem_cache_alloc()\" + \"memset(0)\" with the\ncorresponding \"kmem_cache_zalloc()\" call.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nAcked-by: Joel Becker \u003cJoel.Becker@oracle.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a9344e68ac0a656475006737dbc258d69fe4f7b0",
      "tree": "09735ffa77d9d5c1b88de5c4118b90501e623527",
      "parents": [
        "423f7cf467045eab616f97309aed87a54b5e351d"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Mon Jan 29 23:48:19 2007 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Sat Feb 03 08:15:55 2007 -0600"
      },
      "message": "[SCSI] libsas: Add an LU reset mechanism to the error handler\n\nAfter discussion with andmike and dougg, it seems that the purpose of\neh_device_reset_handler is to issue LU resets, and that\neh_bus_reset_handler would be a more appropriate place for a phy reset.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "ad689233bee854dced741c91aff12a8771a22f6f",
      "tree": "ae1a786c97c779c16d5e10ac17efdb24c72aa5ae",
      "parents": [
        "dca84e4694419adf61ad052b1e5a50ac82726597"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Fri Jan 26 14:08:52 2007 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Sat Jan 27 10:06:51 2007 -0600"
      },
      "message": "[SCSI] libsas: Handle SCSI commands that complete with failure codes\n\nThis patch moves the code that handles SAS failures out of the main EH\nfunction and into a separate function.  It also detects commands that have\nno sas_task (i.e. they completed, but with error data) and sends them into\nscsi_error for processing.  This allows us to handle SCSI errors (and\nenables auto-spinup as a side effect) instead of dropping them on the\nfloor and falling into an infinite loop.  It also requires the\nimplementation of a device reset function, which the SAS failure code has\nbeen modified to employ for REQ_DEVICE_RESET.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "6b0efb8516a5298e12033df61f9e0c376a306adb",
      "tree": "3f63587167905e86de330fb28219dbfb309aad9a",
      "parents": [
        "980fa2f9d64b9be96107c89e165953ace311af54"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Thu Jan 11 14:15:43 2007 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Sat Jan 13 16:21:53 2007 -0600"
      },
      "message": "[SCSI] libsas: Add SAS_HA state flags to avoid queueing events while unloading\n\nTrack sas_ha_struct state so that we ignore events that come in while\nwe\u0027re shutting things down.\n\nSigned-off-by: Malahal Naineni \u003cmalahal@us.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "396819fba821ad56f1b90090d256f0ab726c89c5",
      "tree": "085d65ae13854d42fdf34fdb430aae76e696dbc4",
      "parents": [
        "3ebf6922b0833807e54c73f4794c74baf9945fc8"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Thu Jan 11 14:15:20 2007 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Sat Jan 13 16:18:06 2007 -0600"
      },
      "message": "[SCSI] libsas: Delay issuing ABORT TASK TMF until the error handler\n\nsas_task_abort() should simply abort the upper-level SCSI command and wait\nuntil the error handler to send the actual ABORT TASK command.  By\ndeferring things to the EH we simplify the concurrency coordination and\neliminate some race conditions.  Note that sas_task_abort has a few hooks\nto handle libsas internal commands properly too.\n\nAlso rename do_sas_task_abort to __sas_task_abort just in case we really\nwant to abort the task *right now* and we don\u0027t have a scsi_cmnd attached\nto the command.  This is a hook for libata internal commands to abort.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "3ebf6922b0833807e54c73f4794c74baf9945fc8",
      "tree": "f6a986a1fc80efe6f3c1a30073cfec34fd7edc7c",
      "parents": [
        "37958fb040cf6f88b354b9fa7e846014ffbd3b73"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Thu Jan 11 14:15:17 2007 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Sat Jan 13 16:17:27 2007 -0600"
      },
      "message": "[SCSI] libsas: Enable the EH strategy handler to reset a phy after a command\n\nWhen a SAS LLDD needs to request a device port reset, it needs to have all\ncommands aborted before it can reset the port.  Since commands are put on\nthe EH\u0027s list in the order that they were queued, the LLDD can set a \"need\nreset\" flag in the last task to be aborted so that the EH can reset the\nport after all commands are aborted.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "37958fb040cf6f88b354b9fa7e846014ffbd3b73",
      "tree": "09da0d5e6d756619079c7b31113b231d850d6d36",
      "parents": [
        "8f3b8fa9afe75cafc4feb317d305444f6c5271fb"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Thu Jan 11 14:15:15 2007 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Sat Jan 13 16:17:04 2007 -0600"
      },
      "message": "[SCSI] libsas: Remove SAS_TASK_INITIATOR_ABORTED flag\n\nThis flag is no longer necessary because we push tasks to be aborted into\nthe EH as soon as we possibly can, and let the SCSI EH code take care of\nthe coordination for which this flag was used.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "acbf167d4ad8c27f9743a4b539d51ae9535bf21c",
      "tree": "e53f8330f60acaef42d74a745b3dd5131b424e49",
      "parents": [
        "b218a0d8e250e0ae8fd4d4e45bd66a588b380752"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Thu Jan 11 14:14:57 2007 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Sat Jan 13 16:13:00 2007 -0600"
      },
      "message": "[SCSI] libsas: Add a sysfs knob to enable/disable a phy\n\nThis patch lets a user arbitrarily enable or disable a phy via sysfs.\nPotential applications include shutting down a phy to replace one\nlane of wide port, and (more importantly) providing a method for the\nlibata SATL to control the phy.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "b218a0d8e250e0ae8fd4d4e45bd66a588b380752",
      "tree": "6c60dc11ef8d064404eb2fd6a3b4f37529a2c72f",
      "parents": [
        "bf451207511d049189ddb0a4eae3acdb086a3c82"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Thu Jan 11 14:14:55 2007 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Sat Jan 13 16:12:39 2007 -0600"
      },
      "message": "[SCSI] libsas: Don\u0027t give scsi_cmnds to the EH if they never made it to the SAS LLDD or have already returned\n\nOn a system with many SAS targets, it appears possible that a scsi_cmnd\ncan time out without ever making it to the SAS LLDD or at the same time\nthat a completion is occurring.  In both of these cases, telling the\nLLDD to abort the sas_task makes no sense because the LLDD won\u0027t know\nabout the sas_task; what we really want to do is to increase the timer.\nNote that this involves creating another sas_task bit to indicate\nwhether or not the task has been sent to the LLDD; I could have\nimplemented this by slightly redefining SAS_TASK_STATE_PENDING, but\nthis way seems cleaner.\n\nThis second version amends the aic94xx portion to set the\nTASK_AT_INITIATOR flag for all sas_tasks that were passed to\nlldd_execute_task.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "e18b890bb0881bbab6f4f1a6cd20d9c60d66b003",
      "tree": "4828be07e1c24781c264b42c5a75bcd968223c3f",
      "parents": [
        "441e143e95f5aa1e04026cb0aa71c801ba53982f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:25 2006 -0800"
      },
      "message": "[PATCH] slab: remove kmem_cache_t\n\nReplace all uses of kmem_cache_t with struct kmem_cache.\n\nThe patch was generated using the following script:\n\n\t#!/bin/sh\n\t#\n\t# Replace one string by another in all the kernel sources.\n\t#\n\n\tset -e\n\n\tfor file in `find * -name \"*.c\" -o -name \"*.h\"|xargs grep -l $1`; do\n\t\tquilt add $file\n\t\tsed -e \"1,\\$s/$1/$2/g\" $file \u003e/tmp/$$\n\t\tmv /tmp/$$ $file\n\t\tquilt refresh\n\tdone\n\nThe script was run like this\n\n\tsh replace kmem_cache_t \"struct kmem_cache\"\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "06328b4f7919e9d2169d45cadc5a37b828a78eda",
      "tree": "2c048aad57f0f9cf17bddfec864e57348b1fe3b8",
      "parents": [
        "4796b71fbb907ce6b8a9acf1852d3646a80b4576"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Dec 06 15:02:26 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@warthog.cambridge.redhat.com",
        "time": "Wed Dec 06 15:02:26 2006 +0000"
      },
      "message": "Actually update the fixed up compile failures.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "4796b71fbb907ce6b8a9acf1852d3646a80b4576",
      "tree": "6263f165446c581efdbb760205c1f85378fe6259",
      "parents": [
        "6d5aefb8eaa38e44b5b8cf60c812aceafc02d924",
        "ec0bf39a471bf6fcd01def2bd677128cea940b73"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Dec 06 15:01:18 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@warthog.cambridge.redhat.com",
        "time": "Wed Dec 06 15:01:18 2006 +0000"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tdrivers/pcmcia/ds.c\n\nFix up merge failures with Linus\u0027s head and fix new compile failures.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "ec0bf39a471bf6fcd01def2bd677128cea940b73",
      "tree": "0d98b304d97605613a14329b40ed8cbb88296528",
      "parents": [
        "bf83c2a315637dee8a8b5c2221ce5030cc38c6db",
        "d32adcb85c74fd81963714689842993e7014515f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Tue Dec 05 16:09:46 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Tue Dec 05 16:09:46 2006 -0800"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (73 commits)\n  [SCSI] aic79xx: Add ASC-29320LPE ids to driver\n  [SCSI] stex: version update\n  [SCSI] stex: change wait loop code\n  [SCSI] stex: add new device type support\n  [SCSI] stex: update device id info\n  [SCSI] stex: adjust default queue length\n  [SCSI] stex: add value check in hard reset routine\n  [SCSI] stex: fix controller_info command handling\n  [SCSI] stex: fix biosparam calculation\n  [SCSI] megaraid: fix MMIO casts\n  [SCSI] tgt: fix undefined flush_dcache_page() problem\n  [SCSI] libsas: better error handling in sas_expander.c\n  [SCSI] lpfc 8.1.11 : Change version number to 8.1.11\n  [SCSI] lpfc 8.1.11 : Misc Fixes\n  [SCSI] lpfc 8.1.11 : Add soft_wwnn sysfs attribute, rename soft_wwn_enable\n  [SCSI] lpfc 8.1.11 : Removed decoding of PCI Subsystem Id\n  [SCSI] lpfc 8.1.11 : Add MSI (Message Signalled Interrupts) support\n  [SCSI] lpfc 8.1.11 : Adjust LOG_FCP logging\n  [SCSI] lpfc 8.1.11 : Fix Memory leaks\n  [SCSI] lpfc 8.1.11 : Fix lpfc_multi_ring_support\n  ...\n"
    },
    {
      "commit": "4c1ac1b49122b805adfa4efc620592f68dccf5db",
      "tree": "87557f4bc2fd4fe65b7570489c2f610c45c0adcd",
      "parents": [
        "c4028958b6ecad064b1a6303a6a5906d4fe48d73",
        "d916faace3efc0bf19fe9a615a1ab8fa1a24cd93"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Dec 05 14:37:56 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@warthog.cambridge.redhat.com",
        "time": "Tue Dec 05 14:37:56 2006 +0000"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tdrivers/infiniband/core/iwcm.c\n\tdrivers/net/chelsio/cxgb2.c\n\tdrivers/net/wireless/bcm43xx/bcm43xx_main.c\n\tdrivers/net/wireless/prism54/islpci_eth.c\n\tdrivers/usb/core/hub.h\n\tdrivers/usb/input/hid-core.c\n\tnet/core/netpoll.c\n\nFix up merge failures with Linus\u0027s head and fix new compilation failures.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "4195bdbea42151c04485b0d131eed6dd97309cee",
      "tree": "5d82b4852dff9e4729dd55af90906d5a46c99a39",
      "parents": [
        "de88777e6942de76410ad2eb2858f5fbb6eb9c35"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon Nov 27 23:58:11 2006 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Tue Nov 28 17:26:50 2006 -0800"
      },
      "message": "[PATCH] add missing libsas include to fix s390 compilation.\n\ninclude/scsi/libsas.h:479: error: field \u0027smp_req\u0027 has incomplete type\ninclude/scsi/libsas.h:480: error: field \u0027smp_resp\u0027 has incomplete type\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dea22214790d1306f3a3444db13d2c726037b189",
      "tree": "c5bd0d382c73c02f3416aac584e3d3a011cd1261",
      "parents": [
        "504fb37a0801d843bc1907c1a1f9c719c3509863"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Tue Nov 07 17:28:55 2006 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Wed Nov 22 11:05:59 2006 -0600"
      },
      "message": "[PATCH] aic94xx: handle REQ_DEVICE_RESET\n\nThis patch implements a REQ_DEVICE_RESET handler for the aic94xx\ndriver.  Like the earlier REQ_TASK_ABORT patch, this patch defers the\ndevice reset to the Scsi_Host\u0027s workqueue, which has the added benefit\nof ensuring that the device reset does not happen at the same time\nthat the abort tmfs are being processed.  After the phy reset, the\nbusted drive should go away and be re-detected later, which is indeed\nwhat I\u0027ve seen on both a x260 and a x206m.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "c4028958b6ecad064b1a6303a6a5906d4fe48d73",
      "tree": "1c4c89652c62a75da09f9b9442012007e4ac6250",
      "parents": [
        "65f27f38446e1976cc98fd3004b110fedcddd189"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:57:56 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:57:56 2006 +0000"
      },
      "message": "WorkStruct: make allyesconfig\n\nFix up for make allyesconfig.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "79a5eb609b74e7b3638861c41b98eafa74920a1f",
      "tree": "741a6fc22589b991d05ceaa755cc05577efe08b2",
      "parents": [
        "f456393e195e0aa16029985f63cd93b601a0d315"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Mon Oct 30 15:18:50 2006 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Wed Nov 15 12:27:50 2006 -0600"
      },
      "message": "[SCSI] libsas: add sas_abort_task\n\nThis patch adds an external function, sas_abort_task, to enable LLDDs\nto abort sas_tasks.  It also adds a work_struct so that the actual\nwork of aborting a task can be shifted from tasklet context (in the\nLLDD) onto the scsi_host\u0027s workqueue.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "f456393e195e0aa16029985f63cd93b601a0d315",
      "tree": "dc4b9d4c0705d5fe2d94669b1a75053f52755cb7",
      "parents": [
        "b4d38e38e66f8e1b32a1b1c00e533175314c8d56"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Mon Oct 30 15:18:39 2006 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Wed Nov 15 12:14:16 2006 -0600"
      },
      "message": "[SCSI] libsas: modify error handler to use scsi_eh_* functions\n\nThis patch adds an EH done queue to sas_ha, converts the error handling\nstrategy function and the sas_scsi_task_done functions in libsas to use\nthe scsi_eh_* commands for error\u0027d commands, and adds checks for the\nINITIATOR_ABORTED flag so that we do the right thing if a sas_task has\nbeen aborted by the initiator.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "3cc27547d6ee2d50ecdd11e9127bc3cd1947e8dd",
      "tree": "d70857f363fea3f8bc928bd2fd10d9a277c119bd",
      "parents": [
        "855fc73bf81e8f99606d6f5914c5b7c3b079d718"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Mon Sep 25 02:55:40 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Sep 24 20:07:49 2006 -0700"
      },
      "message": "[PATCH] SCSI gfp_t annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a01e70e570a72b8a8c9a58062e4f5bdcd3986222",
      "tree": "d2b8b5e0e69d14805ac98033561597de6e24d5c6",
      "parents": [
        "d24e1eeb3a16e4944288c2f3bf082e1513f4b425"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@steeleye.com",
        "time": "Wed Sep 06 19:28:07 2006 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Thu Sep 07 15:20:23 2006 -0500"
      },
      "message": "[SCSI] aci94xx: implement link rate setting\n\nThis patch implements the ability to set the minimum and maximum\nlinkrates for both libsas (for expanders) and aic94xx (for the host\nphys).  It also tidies up the setting of the hardware min and max to\nmake sure they\u0027re updated when the expander emits a change broadcast.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "88edf74610bd894b93438f389688bc8b4a2d3414",
      "tree": "5f22ad465f07a8eda5576185db2e24ac7797d68a",
      "parents": [
        "b4620233d6a3510564c561a5a2a365a1d8a34b68"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@steeleye.com",
        "time": "Wed Sep 06 17:36:13 2006 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Thu Sep 07 12:41:16 2006 -0500"
      },
      "message": "[SCSI] SAS: consolidate linkspeed definitions\n\nAt the moment we have two separate linkspeed enumerations covering\nroughly the same values.  This patch consolidates on a single one enum\nsas_linkspeed in scsi_transport_sas.h and uses it everywhere in the\naic94xx driver.  Eventually I\u0027ll get around to removing the duplicated\nfields in asd_sas_phy and sas_phy ...\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "2908d778ab3e244900c310974e1fc1c69066e450",
      "tree": "440d56e98414cd2a8ca711dcd6424df1982d474e",
      "parents": [
        "f4ad7b5807385ad1fed0347d966e51a797cd1013"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@SteelEye.com",
        "time": "Tue Aug 29 09:22:51 2006 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Tue Aug 29 09:52:29 2006 -0500"
      },
      "message": "[SCSI] aic94xx: new driver\n\nThis is the end point of the separate aic94xx driver based on the\noriginal driver and transport class from Luben Tuikov\n\u003cltuikov@yahoo.com\u003e\n\nThe log of the separate development is:\n\nAlexis Bruemmer:\n  o aic94xx: fix hotplug/unplug for expanderless systems\n  o aic94xx: disable split completion timer/setting by default\n  o aic94xx: wide port off expander support\n  o aic94xx: remove various inline functions\n  o aic94xx: use bitops\n  o aic94xx: remove queue comment\n  o aic94xx: remove sas_common.c\n  o aic94xx: sas remove depot\u0027s\n  o aic94xx: use available list_for_each_entry_safe_reverse()\n  o aic94xx: sas header file merge\n\nJames Bottomley:\n  o aic94xx: fix TF_TMF_NO_CTX processing\n  o aic94xx: convert to request_firmware interface\n  o aic94xx: fix hotplug/unplug\n  o aic94xx: add link error counts to the expander phys\n  o aic94xx: add transport class phy reset capability\n  o aic94xx: remove local_attached flag\n  o Remove README\n  o Fixup Makefile variable for libsas rename\n  o Rename sas-\u003elibsas\n  o aic94xx: correct return code for sas_discover_event\n  o aic94xx: use parent backlink port\n  o aic94xx: remove channel abstraction\n  o aic94xx: fix routing algorithms\n  o aic94xx: add backlink port\n  o aic94xx: fix cascaded expander properties\n  o aic94xx: fix sleep under lock\n  o aic94xx: fix panic on module removal in complex topology\n  o aic94xx: make use of the new sas_port\n  o rename sas_port to asd_sas_port\n  o Fix for eh_strategy_handler move\n  o aic94xx: move entirely over to correct transport class formulation\n  o remove last vestages of sas_rphy_alloc()\n  o update for eh_timed_out move\n  o Preliminary expander support for aic94xx\n  o sas: remove event thread\n  o minor warning cleanups\n  o remove last vestiges of id mapping arrays\n  o Further updates\n  o Convert aic94xx over entirely to the transport class end device and\n  o update aic94xx/sas to use the new sas transport class end device\n  o [PATCH] aic94xx: attaching to the sas transport class\n  o Add missing completion removal from prior patch\n  o [PATCH] aic94xx: attaching to the sas transport class\n  o Build fixes from akpm\n\nJeff Garzik:\n  o [scsi aic94xx] Remove -\u003eowner from PCI info table\n\nLuben Tuikov:\n  o initial aic94xx driver\n\nMike Anderson:\n  o aic94xx: fix panic on module insertion\n  o aic94xx: stub out SATA_DEV case\n  o aic94xx: compile warning cleanups\n  o aic94xx: sas_alloc_task\n  o aic94xx: ref count update\n  o aic94xx nexus loss time value\n  o [PATCH] aic94xx: driver assertion in non-x86 BIOS env\n\nRandy Dunlap:\n  o libsas: externs not needed\n\nRobert Tarte:\n  o aic94xx: sequence patch - fixes SATA support\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    }
  ]
}
