)]}'
{
  "log": [
    {
      "commit": "3e4ec3443f70fbe144799ccf0b1c3797f78d1715",
      "tree": "cfb297e42075baacbbabfb6034e3e7c9a44c73b2",
      "parents": [
        "c7a8209f766961eea4cfc6f22d2d6e06ef63546c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon May 10 21:41:30 2010 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Mon May 17 22:49:02 2010 -0400"
      },
      "message": "libata: kill ATA_FLAG_DISABLED\n\nATA_FLAG_DISABLED is only used by drivers which don\u0027t use\n-\u003eerror_handler framework and is largely broken.  Its only meaningful\nfunction is to make irq handlers skip processing if the flag is set,\nwhich is largely useless and even harmful as it makes those ports more\nlikely to cause IRQ storms.\n\nKill ATA_FLAG_DISABLED and makes the callers disable attached devices\ninstead.  ata_port_probe() and ata_port_disable() which manipulate the\nflag are also killed.\n\nThis simplifies condition check in IRQ handlers.  While updating IRQ\nhandlers, remove ap NULL check as libata guarantees consecutive port\nallocation (unoccupied ports are initialized with dummies) and\nlong-obsolete ATA_QCFLAG_ACTIVE check (checked by ata_qc_from_tag()).\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "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": "086fa5ff0854c676ec333760f4c0154b3b242616",
      "tree": "ee63fb3c7c7d964bd799355b7cde18ba95f91f07",
      "parents": [
        "eb28d31bc97e6374d81f404da309401ffaed467b"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri Feb 26 00:20:38 2010 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 26 13:58:08 2010 +0100"
      },
      "message": "block: Rename blk_queue_max_sectors to blk_queue_max_hw_sectors\n\nThe block layer calling convention is blk_queue_\u003climit name\u003e.\nblk_queue_max_sectors predates this practice, leading to some confusion.\nRename the function to appropriately reflect that its intended use is to\nset max_hw_sectors.\n\nAlso introduce a temporary wrapper for backwards compability.  This can\nbe removed after the merge window is closed.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "bc496ed00ab1411d3efaf295b72e0c9eb343e1a3",
      "tree": "5acadd773c6b938d9363eab097ffa4205b4ea86b",
      "parents": [
        "c80d292f137275a1ed88e6ed515ecb457051f1a4"
      ],
      "author": {
        "name": "Douglas Gilbert",
        "email": "dgilbert@interlog.com",
        "time": "Mon Feb 01 13:11:38 2010 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Feb 04 01:01:22 2010 -0500"
      },
      "message": "libata-scsi passthru: fix bug which truncated LBA48 return values\n\nFix assignment which overwrote SAT ATA PASS-THROUGH command EXTEND\nbit setting (ATA_TFLAG_LBA48)\n\nSigned-off-by: Douglas Gilbert \u003cdgilbert@interlog.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "0cdd6eb7e08fc39e9c906cc46b6ee9095c3077a9",
      "tree": "510c8328eb3dbd1c4994490fba11699521c68537",
      "parents": [
        "c4bc7d7310a40c8c0b917e88983dc4a8e6b59e38"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Dec 10 10:36:01 2009 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Dec 17 01:02:09 2009 -0500"
      },
      "message": "libata: use the WRITE_SAME_16 define\n\nNow that the scsi tree has hit mainline we can use the newly added WRITE_SAME_16\ndefine.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "382f51fe2f2276344d8a21447656778cdf6583b6",
      "tree": "c2836a2cca4126c9c026ce5aa2fdf9f1c8ccded6",
      "parents": [
        "701791cc3c8fc6dd83f6ec8af7e2541b4a316606",
        "54987386ee3790f3900de4df2ed4deb0e18dfc9f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 09 19:42:25 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 09 19:42:25 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (222 commits)\n  [SCSI] zfcp: Remove flag ZFCP_STATUS_FSFREQ_TMFUNCNOTSUPP\n  [SCSI] zfcp: Activate fc4s attributes for zfcp in FC transport class\n  [SCSI] zfcp: Block scsi_eh thread for rport state BLOCKED\n  [SCSI] zfcp: Update FSF error reporting\n  [SCSI] zfcp: Improve ELS ADISC handling\n  [SCSI] zfcp: Simplify handling of ct and els requests\n  [SCSI] zfcp: Remove ZFCP_DID_MASK\n  [SCSI] zfcp: Move WKA port to zfcp FC code\n  [SCSI] zfcp: Use common code definitions for FC CT structs\n  [SCSI] zfcp: Use common code definitions for FC ELS structs\n  [SCSI] zfcp: Update FCP protocol related code\n  [SCSI] zfcp: Dont fail SCSI commands when transitioning to blocked fc_rport\n  [SCSI] zfcp: Assign scheduled work to driver queue\n  [SCSI] zfcp: Remove STATUS_COMMON_REMOVE flag as it is not required anymore\n  [SCSI] zfcp: Implement module unloading\n  [SCSI] zfcp: Merge trace code for fsf requests in one function\n  [SCSI] zfcp: Access ports and units with container_of in sysfs code\n  [SCSI] zfcp: Remove suspend callback\n  [SCSI] zfcp: Remove global config_mutex\n  [SCSI] zfcp: Replace local reference counting with common kref\n  ...\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": "d0634c4aea0b80447cbdc4c0db285004b860c455",
      "tree": "5d723e58b0feb11d049b7398e4c3f4600be01d9c",
      "parents": [
        "e78db4dfb1355a895f7ea50133b702b55b8ed184"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Thu Nov 26 12:00:43 2009 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Dec 03 18:01:23 2009 -0500"
      },
      "message": "libata: Clarify ata_set_lba_range_entries function\n\nata_set_lba_range_entries used the variable max for two different things\nwhich was confusing.  Make the function take a buffer size in bytes as\nargument and return the used buffer size upon completion.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "e78db4dfb1355a895f7ea50133b702b55b8ed184",
      "tree": "13052100a353857ff07dbb0a3c78fdc713e58bcb",
      "parents": [
        "d413ff3e2aa09a4ebef718dbc4be4356f879467f"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Thu Nov 26 22:46:03 2009 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Dec 03 18:01:04 2009 -0500"
      },
      "message": "libata: Report zeroed read after TRIM and max discard size\n\nOur current TRIM payload is a single sector that can accommodate 64 *\n65535 blocks being unmapped.  Report this value in the Block Limits\nMaximum Unmap LBA count field.\n\nIf a storage device supports TRIM and the DRAT and RZAT bits are set,\nreport TPRZ\u003d1 in Read Capacity(16).\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "18f0f97850059303ed73b1f02084f55ca330a80c",
      "tree": "6b3f91f521d3d35f864138bd7e8962eb346a09c4",
      "parents": [
        "6013efd8860bf15c1f86f365332642cfe557152f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Nov 17 10:00:47 2009 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Dec 03 02:46:35 2009 -0500"
      },
      "message": "libata: add translation for SCSI WRITE SAME (aka TRIM support)\n\nAdd support for the ATA TRIM command in libata.  We translate a WRITE SAME 16\ncommand with the unmap bit set into an ATA TRIM command and export enough\ninformation in READ CAPACITY 16 and the block limits EVPD page so that the new\nSCSI layer discard support will driver this for us.\n\nNote that I hardcode the WRITE_SAME_16 opcode for now as the patch to introduce\nthe symbolic is not in 2.6.32 yet but only in the SCSI tree - as soon as it is\nmerged we can fix it up to properly use the symbolic name.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "6a74463798bde03f849d8d82d97e4f8e4cf160f3",
      "tree": "cd8b35f3c8dd92b816a79e8a1d3272fb7521cd9e",
      "parents": [
        "4192be64026dd8bfe94970846e4a135e531bd116"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Nov 17 11:09:03 2009 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Dec 03 02:46:35 2009 -0500"
      },
      "message": "ata: Don\u0027t require newlines for link_power_management_policy\n\nsysfs attributes shouldn\u0027t require newlines. Make it possible to set the\nlink power management policy without a trailing newline.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "bd30add88cea831dfb854d564478f09ee66206b5",
      "tree": "d0c0354920cd4b51812c51a68539c95e0bd71e90",
      "parents": [
        "72fee3823d2938fa98f2f3113301f46803f4c711"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Sep 03 16:08:11 2009 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Tue Sep 08 21:17:43 2009 -0400"
      },
      "message": "libata: unbreak TPM filtering by reorganizing ata_scsi_pass_thru()\n\nata_scsi_pass_thru() was checking for input sanity and disallowed\ncommands while initializaing qc from scmd.  TPM filtering was added\nright after protocol check at which point tf wasn\u0027t initialized\nproperly.  This means that TPM filtering has never really worked.\n\nThis patch fixes the bug by reorganizing ata_scsi_pass_thru() such\nthat qc is fully initialized before checking for invalid conditions\nwhich is way less error prone.\n\nDiscovered while Thilo-Alexander Ginkel was trying debug patches for\nbko#13416.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Thilo-Alexander Ginkel \u003cthilo@ginkel.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "f17259a31237cf0fd5c6c8cf2a4f9e6df405744b",
      "tree": "8d972c32ca214c5b1e1f5583888b93e459941809",
      "parents": [
        "6b406782ad0408f9cb480c2e1b543d194e8206d0"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Wed Jun 24 21:01:45 2009 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Tue Sep 01 19:47:20 2009 -0400"
      },
      "message": "libata: Delegate nonrot flag setting to SCSI\n\nNow that the SCSI disk driver correctly handles non-rotational devices\nwe can move setting the queue flag to SCSI.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "051d9fbdd1d1ec85ea18ba20581234cf23f1c217",
      "tree": "7ad5adda0326170be068578782129ce59c41f491",
      "parents": [
        "6521148c6449724c3b707820b9c535c7e8b8afcd"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Jul 03 11:46:12 2009 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Tue Sep 01 19:47:20 2009 -0400"
      },
      "message": "libata: remove spindown skipping and warning\n\nThis was a hack to give userland shutdown tools time to drop manual\nspindown.  All popular distros updated quite some time ago and the due\nis well passed.  Drop it.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jaswinder Singh Rajput \u003cjaswinder@kernel.org\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "e4b636366c00738b9609cda307014d71b1225b7f",
      "tree": "760b67b3624eda62e943e48ce93635c30a5b47bf",
      "parents": [
        "b9ed7252d219c1c663944bf03846eabb515dbe75",
        "279e677faa775ad16e75c32e1bf4a37f8158bc61"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 22 20:25:34 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 22 20:25:34 2009 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into for-2.6.31\n\nConflicts:\n\tdrivers/block/hd.c\n\tdrivers/block/mg_disk.c\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "4bca3286433585b5f1c3e7d8ac37a2f4b3def9ca",
      "tree": "54188630bb30858acf409df5bd07b7f31bf575ec",
      "parents": [
        "61d79a8eb362f826a002d3d14c4f9a070a818542"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri May 15 00:40:35 2009 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri May 15 14:14:56 2009 -0400"
      },
      "message": "libata: Media rotation rate and form factor heuristics\n\nThis patch provides new heuristics for parsing both the form factor and\nmedia rotation rate ATA IDENFITY words.\n\nThe reported ATA version must be 7 or greater and the device must return\nvalues defined as valid in the standard.  Only then are the\ncharacteristics reported to SCSI via the VPD B1 page.\n\nThis seems like a reasonable compromise to me considering that we have\nbeen shipping several kernel releases that key off the rotation rate bit\nwithout any version checking whatsoever.  With no complaints so far.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "61d79a8eb362f826a002d3d14c4f9a070a818542",
      "tree": "f67dce998de1d28da9a0aea898208d512728ef1e",
      "parents": [
        "d358724385d9bb3e360f5b95c17ec4f77c913460"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri May 15 00:40:34 2009 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri May 15 14:14:22 2009 -0400"
      },
      "message": "libata: Report disk alignment and physical block size\n\nFor disks with 4KB sectors, report the correct block size and alignment\nwhen filling out the READ CAPACITY(16) response.\n\nThis patch is based upon code from Matthew Wilcox\u0027 4KB ATA tree.  I\nfixed the bug I reported a while back caused by ATA and SCSI using\ndifferent approaches to describing the alignment.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "ea7a5ed58fa40c76ff87c0dd960f1d785009dd6d",
      "tree": "b7b8f2dcc3509c581c640020a8dd9f1b063ba8d3",
      "parents": [
        "f0d0613dedda4891ecb1977e4d02bf9be93882a3"
      ],
      "author": {
        "name": "Vitaly Mayatskikh",
        "email": "v.mayatskih@gmail.com",
        "time": "Mon May 04 15:48:45 2009 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Mon May 11 14:31:31 2009 -0400"
      },
      "message": "Avoid world-writable sysfs files in libata driver.\n\nSigned-off-by: Vitaly Mayatskikh \u003cv.mayatskih@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "b0790410300abaaf4f25f702803beff701baebf1",
      "tree": "63d8fcd38e4cd5927fd83e482e306480bb68a689",
      "parents": [
        "2e46e8b27aa57c6bd34b3102b40ee4d0144b4fab"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu May 07 22:24:42 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 09:50:55 2009 +0200"
      },
      "message": "block: cleanup rq-\u003edata_len usages\n\nWith recent unification of fields, it\u0027s now guaranteed that\nrq-\u003edata_len always equals blk_rq_bytes().  Convert all non-IDE direct\nusers to accessors.  IDE will be converted in a separate patch.\n\nBoaz: spotted incorrect data_len/resid_len conversion in osd.\n\n[ Impact: convert direct rq-\u003edata_len usages to blk_rq_bytes() ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nCc: Pete Zaitcev \u003czaitcev@redhat.com\u003e\nCc: Eric Moore \u003cEric.Moore@lsi.com\u003e\nCc: Markus Lidel \u003cMarkus.Lidel@shadowconnect.com\u003e\nCc: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Eric Moore \u003cEric.Moore@lsi.com\u003e\nCc: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nCc: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e3cf95dd6d352954b663d2934110d6e30af2406d",
      "tree": "f3245e91c30e0c1e12a169af637373a8b5ff670a",
      "parents": [
        "62afe5d744047df8ff15a369f4c1ebad71c937d4"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Thu Apr 09 17:31:17 2009 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 16 15:28:23 2009 -0400"
      },
      "message": "ata: Report 16/32bit PIO as best we can\n\nThe legacy old IDE ioctl API for this is a bit primitive so we try\nand map stuff sensibly onto it.\n\n- Set PIO over DMA devices to report 32bit\n- Add ability to change the PIO32 settings if the controller permits it\n- Add that functionality into the sff drivers\n- Add that functionality into the VLB legacy driver\n- Turn on the 32bit PIO on the ninja32 and add support there\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "5eb66fe05f08d515a7377787473bc4e4b1ed5b59",
      "tree": "a83c85aa98388123212e0028db87e15ff9337311",
      "parents": [
        "f3d7f23f87723a0947164ec88fc40e08254a64d6"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Jan 20 16:28:59 2009 -0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Mon Feb 02 22:41:45 2009 -0500"
      },
      "message": "libata: fix kernel-doc warnings\n\nFix libata kernel-doc warnings:\n\nWarning(linux-next-20090120//drivers/ata/libata-core.c:4720): Excess function parameter \u0027dev\u0027 description in \u0027ata_qc_new\u0027\nWarning(linux-next-20090120//drivers/ata/libata-scsi.c:428): No description found for parameter \u0027ap\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "2a6e58d2731dcc05dafa7f976d935e0f0627fcd7",
      "tree": "836d0ec85dccde709aeaaedb3b7686ac51805ad1",
      "parents": [
        "d7b1956fed33d30c4815e848fd7a143722916868"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Jan 19 20:56:43 2009 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Tue Jan 27 02:15:49 2009 -0500"
      },
      "message": "SATA: Blacklisting of systems that spin off disks during ACPI power off\n\nIntroduce new libata flags ATA_FLAG_NO_POWEROFF_SPINDOWN and\nATA_FLAG_NO_HIBERNATE_SPINDOWN that, if set, will prevent disks from\nbeing spun off during system power off and hibernation, respectively\n(to handle the hibernation case we need the new system state\nSYSTEM_HIBERNATE_ENTER that can be checked against by libata, in\nanalogy with SYSTEM_POWER_OFF).\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "94be9a58d7e683ac3c1df1858a17f09ebade8da0",
      "tree": "2f346bb4d179caf1cf0f61012f35c8277504c55a",
      "parents": [
        "5393f780277165f282a37ed82dd878159ec9dad5"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Jan 16 10:17:09 2009 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri Jan 16 10:17:09 2009 -0500"
      },
      "message": "[libata] get-identity ioctl: Fix use of invalid memory pointer\nfor SAS drivers.\n\nCaught by Ke Wei (and team?) at Marvell.\n\nAlso, move the ata_scsi_ioctl export to libata-scsi.c, as that seems to be the\ngeneral trend.\n\nAcked-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "b9d5fc41dc2e93867a92a030d3beb0bdab7fde37",
      "tree": "83954e2458d49942f874a5aa139b3f2fd93bb91c",
      "parents": [
        "169539c8720883202e67a3042eaa7facd6188dcf"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Tue Jan 06 10:44:43 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:43 2009 -0800"
      },
      "message": "libata: struct device - replace bus_id with dev_name(), dev_set_name()\n\nCc: Jeff Garzik \u003cjgarzik@redhat.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "590cf28580c999c8ba70dc39b40bab09d69e2630",
      "tree": "22b9aa4b148bea8a310b760521d1032eef7d743f",
      "parents": [
        "f54a6ec0fd85002d94d05b4bb679508eeb066683",
        "fb5edd020fa0fbe991f4a473611ad530d2237425"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:43:10 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:43:10 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (104 commits)\n  [SCSI] fcoe: fix configuration problems\n  [SCSI] cxgb3i: fix select/depend problem\n  [SCSI] fcoe: fix incorrect use of struct module\n  [SCSI] cxgb3i: remove use of skb-\u003esp\n  [SCSI] cxgb3i: Add cxgb3i iSCSI driver.\n  [SCSI] zfcp: Remove unnecessary warning message\n  [SCSI] zfcp: Add support for unchained FSF requests\n  [SCSI] zfcp: Remove busid macro\n  [SCSI] zfcp: remove DID_DID flag\n  [SCSI] zfcp: Simplify mask lookups for incoming RSCNs\n  [SCSI] zfcp: Remove initial device data from zfcp_data\n  [SCSI] zfcp: fix compile warning\n  [SCSI] zfcp: Remove adapter list\n  [SCSI] zfcp: Simplify SBAL allocation to fix sparse warnings\n  [SCSI] zfcp: register with SCSI layer on ccw registration\n  [SCSI] zfcp: Fix message line break\n  [SCSI] qla2xxx: changes in multiq code\n  [SCSI] eata: fix the data buffer accessors conversion regression\n  [SCSI] ibmvfc: Improve async event handling\n  [SCSI] lpfc : correct printk types on PPC compiles\n  ...\n"
    },
    {
      "commit": "f4f4e47e4af6b02dd1c425b931c65d0165356e33",
      "tree": "1bca97ce56703d7a101674cf6bf0d28576cf7201",
      "parents": [
        "a528ab7a324f1dbb3598ae0ecd238ab7dd974294"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Thu Dec 04 14:24:39 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Mon Dec 29 11:24:24 2008 -0600"
      },
      "message": "[SCSI] add residual argument to scsi_execute and scsi_execute_req\n\nscsi_execute() and scsi_execute_req() discard the residual length\ninformation. Some callers need it. This adds residual argument\n(optional) to scsi_execute and scsi_execute_req.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "1eca4365be25c540650693e941bc06a66cf38f94",
      "tree": "e3ed82850da00308180bf166118f9f9e69d92898",
      "parents": [
        "3c92ec8ae91ecf59d88c798301833d7cf83f2179"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 03 20:03:17 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Sun Dec 28 22:43:20 2008 -0500"
      },
      "message": "libata: beef up iterators\n\nThere currently are the following looping constructs.\n\n* __ata_port_for_each_link() for all available links\n* ata_port_for_each_link() for edge links\n* ata_link_for_each_dev() for all devices\n* ata_link_for_each_dev_reverse() for all devices in reverse order\n\nNow there\u0027s a need for looping construct which is similar to\n__ata_port_for_each_link() but iterates over PMP links before the host\nlink.  Instead of adding another one with long name, do the following\ncleanup.\n\n* Implement and export ata_link_next() and ata_dev_next() which take\n  @mode parameter and can be used to build custom loop.\n* Implement ata_for_each_link() and ata_for_each_dev() which take\n  looping mode explicitly.\n\nThe following iteration modes are implemented.\n\n* ATA_LITER_EDGE\t\t: loop over edge links\n* ATA_LITER_HOST_FIRST\t\t: loop over all links, host link first\n* ATA_LITER_PMP_FIRST\t\t: loop over all links, PMP links first\n\n* ATA_DITER_ENABLED\t\t: loop over enabled devices\n* ATA_DITER_ENABLED_REVERSE\t: loop over enabled devices in reverse order\n* ATA_DITER_ALL\t\t\t: loop over all devices\n* ATA_DITER_ALL_REVERSE\t\t: loop over all devices in reverse order\n\nThis change removes exlicit device enabledness checks from many loops\nand makes it clear which ones are iterated over in which direction.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "8a8bc22332ee6ea49137508467a76aa7f4367719",
      "tree": "f41c62dc99c4249d592935b4659569081d4a190a",
      "parents": [
        "f7160c7573615ec82c691e294cf80d920b5d588d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 10 14:48:21 2008 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 10 08:04:47 2008 -0800"
      },
      "message": "libata: revert convert-to-block-tagging patches\n\nThis patch reverts the following three commits which convert libata to\nuse block layer tagging.\n\n 43a49cbdf31e812c0d8f553d433b09b421f5d52c\n e013e13bf605b9e6b702adffbe2853cfc60e7806\n 2fca5ccf97d2c28bcfce44f5b07d85e74e3cd18e\n\nAlthough using block layer tagging is the right direction, due to the\ntight coupling among tag number, data structure allocation and\nhardware command slot allocation, libata doesn\u0027t work correctly with\nthe current conversion.\n\nThe biggest problem is guaranteeing that tag 0 is always used for\nnon-NCQ commands.  Due to the way blk-tag is implemented and how SCSI\nstarts and finishes requests, such guarantee can\u0027t be made.  I\u0027m not\nsure whether this would actually break any low level driver but it\ndoesn\u0027t look like a good idea to break such assumption given the\nfrailty of ATA controllers.\n\nSo, for the time being, keep using the old dumb in-libata qc\nallocation.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jens Axobe \u003cjens.axboe@oracle.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a464189de350b050aa8f334bd4cc53ed406e56dd",
      "tree": "d4acc5c1f65eca5522bbd28ae2702e54a1f8db0a",
      "parents": [
        "3c324283e6cdb79210cf7975c3e40d3ba3e672b2"
      ],
      "author": {
        "name": "Elias Oltmanns",
        "email": "eo@nebensachen.de",
        "time": "Mon Nov 03 19:01:08 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Tue Nov 04 01:08:24 2008 -0500"
      },
      "message": "libata: Fix a potential race condition in ata_scsi_park_show()\n\nPeter Moulder has pointed out that there is a slight chance that a\nnegative value might be passed to jiffies_to_msecs() in\nata_scsi_park_show(). This is fixed by saving the value of jiffies in a\nlocal variable, thus also reducing code since the volatile variable\njiffies is accessed only once.\n\nSigned-off-by: Elias Oltmanns \u003ceo@nebensachen.de\u003e\nSigned-off-by: Tejun Heo \u003ctj.kernel.org\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "43a49cbdf31e812c0d8f553d433b09b421f5d52c",
      "tree": "be1e56a51d9a35c1414f26a8d30badc4c4256662",
      "parents": [
        "3070f69b66b7ab2f02d8a2500edae07039c38508"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 27 19:23:06 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 27 19:25:30 2008 +0100"
      },
      "message": "libata: fix NCQ devices behind port multipliers\n\nFor devices behind sata port multipliers, we have to make sure that\nthey share a tag map since all tags for that PMP must be unique.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e013e13bf605b9e6b702adffbe2853cfc60e7806",
      "tree": "f69ce0b35fa8df2447d06eee64f4f579b883e701",
      "parents": [
        "57f8f7b60db6f1ed2c6918ab9230c4623a9dbe37"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Oct 24 09:22:42 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 24 08:22:38 2008 -0700"
      },
      "message": "libata: fix bug with non-ncq devices\n\nThe recent commit 2fca5ccf97d2c28bcfce44f5b07d85e74e3cd18e (\"libata:\nswitch to using block layer tagging support\") to enable support for\nblock layer tagging in libata was broken for non-NCQ devices\n\nThe block layer initializes the tag field to -1 to detect invalid uses\nof a tag, and if the libata devices does NOT support NCQ, we just used\nthat field to index the internal command list.  So we need to check for\n-1 first and only use the tag field if it\u0027s valid.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nReported-by: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nTested-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nTested-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nTested-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2fca5ccf97d2c28bcfce44f5b07d85e74e3cd18e",
      "tree": "483dedd08d6ccbb56959eeb127e82ab8f84edf2e",
      "parents": [
        "332edc2f7fa58b818dfed1cede60272eecc27c0a"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Oct 22 09:34:49 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 23 16:05:26 2008 -0700"
      },
      "message": "libata: switch to using block layer tagging support\n\nlibata currently has a pretty dumb ATA_MAX_QUEUE loop for finding\na free tag to use. Instead of fixing that up, convert libata to\nusing block layer tagging - gets rid of code in libata, and is also\nmuch faster.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a4f19040a3a6cd431efe0a10b9d2e8d5e3904865",
      "tree": "6e28b0fb878e80959385ddc70bd899f65d16f504",
      "parents": [
        "f41891c134ccdd07583ebd8d4af7fed883375672"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Oct 10 22:39:20 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Oct 10 22:39:20 2008 +0200"
      },
      "message": "libata: WIN_* -\u003e ATA_CMD_*\n\nAcked-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "e26feff647ef34423b048b940540a0059001ddb0",
      "tree": "acafe68602ee2f6f1a438c113073ffcc0040e949",
      "parents": [
        "d403a6484f0341bf0624d17ece46f24f741b6a92",
        "b911e473d24633c19414b54b82b9ff0b1a2419d7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 10 10:52:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 10 10:52:45 2008 -0700"
      },
      "message": "Merge branch \u0027for-2.6.28\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.28\u0027 of git://git.kernel.dk/linux-2.6-block: (132 commits)\n  doc/cdrom: Trvial documentation error, file not present\n  block_dev: fix kernel-doc in new functions\n  block: add some comments around the bio read-write flags\n  block: mark bio_split_pool static\n  block: Find bio sector offset given idx and offset\n  block: gendisk integrity wrapper\n  block: Switch blk_integrity_compare from bdev to gendisk\n  block: Fix double put in blk_integrity_unregister\n  block: Introduce integrity data ownership flag\n  block: revert part of d7533ad0e132f92e75c1b2eb7c26387b25a583c1\n  bio.h: Remove unused conditional code\n  block: remove end_{queued|dequeued}_request()\n  block: change elevator to use __blk_end_request()\n  gdrom: change to use __blk_end_request()\n  memstick: change to use __blk_end_request()\n  virtio_blk: change to use __blk_end_request()\n  blktrace: use BLKTRACE_BDEV_SIZE as the name size for setup structure\n  block: add lld busy state exporting interface\n  block: Fix blk_start_queueing() to not kick a stopped queue\n  include blktrace_api.h in headers_install\n  ...\n"
    },
    {
      "commit": "8bff7c6b0f63c7ee9c5e3a076338d74125b8debb",
      "tree": "0863c7e0d09592ee9f4d568625348ef12e4a30df",
      "parents": [
        "a68bbddba486020c9c74825ce90c4c1ec463e0e8"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Sep 24 13:05:10 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:19 2008 +0200"
      },
      "message": "libata: set queue SSD flag for SSD devices\n\nSSD devices should give an RPM setting of 1 in word 217 of the ID\npage. If we see such a device, tell the block layer about it.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "45fabbb77bd95adff7a80bde1c7a0ace1075fde6",
      "tree": "0e98efc190b25a11f84b8ae7d1ee0a17c41d3da8",
      "parents": [
        "ea6ce53cd5d005455ec0a3cc1d45d3af0cb90919"
      ],
      "author": {
        "name": "Elias Oltmanns",
        "email": "eo@nebensachen.de",
        "time": "Sun Sep 21 11:54:08 2008 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Mon Sep 29 00:27:54 2008 -0400"
      },
      "message": "libata: Implement disk shock protection support\n\nOn user request (through sysfs), the IDLE IMMEDIATE command with UNLOAD\nFEATURE as specified in ATA-7 is issued to the device and processing of\nthe request queue is stopped thereafter until the specified timeout\nexpires or user space asks to resume normal operation. This is supposed\nto prevent the heads of a hard drive from accidentally crashing onto the\nplatter when a heavy shock is anticipated (like a falling laptop\nexpected to hit the floor). In fact, the whole port stops processing\ncommands until the timeout has expired in order to avoid any resets due\nto failed commands on another device.\n\nSigned-off-by: Elias Oltmanns \u003ceo@nebensachen.de\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "2486fa561a3192bbbec39c7feef87a1e07bd6342",
      "tree": "4241264273c63714e4c2021e7de69aee8bb2b20c",
      "parents": [
        "bfce5e0179ad059035df28558724ff60af708e09"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jul 31 07:52:40 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Jul 31 01:47:05 2008 -0400"
      },
      "message": "libata: update atapi disable handling\n\nGlobal and per-LLD ATAPI disable checks were done in the command issue\npath probably because it was left out during EH conversion.  On\naffected machines, this can cause lots of warning messages.  Move them\nto where they belong - the probing path.\n\nReported by Chunbo Luo.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Chunbo Luo \u003cchunbo.luo@windriver.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "b312bf359e20cc39c00d480fd40a24c245d80bf7",
      "tree": "756247f113688403cf35d1d7437fc92d390279d2",
      "parents": [
        "dc221eae08eea3b0db127d1f152fac24d10b6a52",
        "2640d7c0b8d5d9d9ee303b8cd09f5124176f6239"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 15 11:18:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 15 11:18:10 2008 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:\n  AHCI: Remove an unnecessary flush from ahci_qc_issue\n  AHCI: speed up resume\n  [libata] Add support for VPD page b1\n  ata: endianness annotations in pata drivers\n  libata-eh: update atapi_eh_request_sense() to take @dev instead of @qc\n  [libata] sata_svw: update code comments relating to data corruption\n  libata/ahci: enclosure management support\n  libata: improve EH internal command timeout handling\n  libata: use ULONG_MAX to terminate reset timeout table\n  libata: improve EH retry delay handling\n  libata: consistently use msecs for time durations\n"
    },
    {
      "commit": "1e9dbc9291738149577cc488fd441f061815e02e",
      "tree": "34d8cf8a8f339d0fad6c7741aa3bee2d033bac70",
      "parents": [
        "6ad67403da47e833d9e418caf7f28295c9472e11"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Thu Jun 19 13:13:38 2008 -0600"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Mon Jul 14 15:59:33 2008 -0400"
      },
      "message": "[libata] Add support for VPD page b1\n\nSCSI VPD page b1 reports the nominal rotation speed and physical size\nof the device.  Devices that conform to ATA-8 can return this information\nin words 217 and 168 of the identify data.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "18f7ba4c2f4be6b37d925931f04d6cc28d88d1ee",
      "tree": "4f127510c378cba33e79d5fb71bd9fc14a28e1cb",
      "parents": [
        "87fbc5a060faf2394bee88a93519f9b9d434727c"
      ],
      "author": {
        "name": "Kristen Carlson Accardi",
        "email": "kristen.c.accardi@intel.com",
        "time": "Tue Jun 03 10:33:55 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Mon Jul 14 15:59:33 2008 -0400"
      },
      "message": "libata/ahci: enclosure management support\n\nAdd Enclosure Management support to libata and ahci.\n\nSigned-off-by:  Kristen Carlson Accardi \u003ckristen.c.accardi@intel.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "27f8221af406e43b529a5425bc99c9b1e9bdf521",
      "tree": "6e847b9359327449b77d4b6350cc9d44fd9208b6",
      "parents": [
        "2610324fcacf38a24b630090ebcb802538763187"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Fri Jul 04 09:30:03 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jul 04 09:52:13 2008 +0200"
      },
      "message": "block: add blk_queue_update_dma_pad\n\nThis adds blk_queue_update_dma_pad to prevent LLDs from overwriting\nthe dma pad mask wrongly (we added blk_queue_update_dma_alignment due\nto the same reason).\n\nThis also converts libata to use blk_queue_update_dma_pad instead of\nblk_queue_dma_pad.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nCc: Thomas Bogendoerfer \u003ctsbogend@alpha.franken.de\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5895ef9a5b746e7cc9ebda50c87fbd11562da0a4",
      "tree": "264ed72edfef60f11260f3227523334b1e1aca80",
      "parents": [
        "d799e083a80b220f3681d7790f11e77d1704022b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jun 17 12:36:26 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Wed Jun 18 20:27:49 2008 -0400"
      },
      "message": "libata: don\u0027t check whether to use DMA or not for no data commands\n\nThere\u0027s no reason to check whether to use DMA or not for no data\ncommands.  Don\u0027t do it.  While at it, make local variable using_pio in\natapi_xlat() set iff ATAPI_PROT_PIO is going to be used and rename\nata_check_atapi_dma() to atapi_check_dma() for consistency.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "ec2a20e61974f7c9ebe6dd99ac479ec309a750bc",
      "tree": "c31c6ed4cf84b729bc85eff68c326c95b3355c1f",
      "parents": [
        "2da676594a73825f10d2a99358cc7465119684f9"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Apr 30 12:57:00 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri May 30 12:37:50 2008 -0400"
      },
      "message": "libata: fix libata-scsi kernel-doc notation\n\nFix libata-scsi kernel-doc notation:\n\nWarning(linux-2.6.25-git15//drivers/ata/libata-scsi.c:1659): No description found for parameter \u0027cmd\u0027\nWarning(linux-2.6.25-git15//drivers/ata/libata-scsi.c:1971): No description found for parameter \u0027buf\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "50af2fa1e18d0ab411d06bf727ecadb7e01721e9",
      "tree": "16f2b3b74c51a02ee182f29e9de5752088aaadbe",
      "parents": [
        "906c1ff44a81aaad96a9feb40ea13d73bbf3662a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 19 01:15:14 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Mon May 19 17:51:48 2008 -0400"
      },
      "message": "libata: ignore SIMG4726 config pseudo device\n\nI was hoping ATA_HORKAGE_NODMA | ATA_HORKAGE_SKIP_PM could keep it\nhappy but no even this doesn\u0027t work under certain configurations and\nit\u0027s not like we can do anything useful with the cofig device anyway.\nReplace ATA_HORKAGE_SKIP_PM with ATA_HORKAGE_DISABLE and use it for\nthe config device.  This makes the device completely ignored by\nlibata.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "87340e98345155631f7a1a4d8d66cf0ab286cb1b",
      "tree": "311ce808242cc06c65f976b4ce3c0c46c1110197",
      "parents": [
        "f0761be344f9b1cc4284b1d945933cd983c233a4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 28 17:48:51 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Tue Apr 29 02:17:03 2008 -0400"
      },
      "message": "libata-scsi: improve rbuf handling for simulated commands\n\nBuffer length handling in simulated commands is error-prone and full\nof bugs.  There are a number of places where necessary length checks\nare missing and if the output buffer is passed in as sglist, nothing\nworks.\n\nThis patch adds a static buffer ata_scsi_rbuf which is sufficiently\nlarge to handle the larges output from simulated commands (4k\ncurrently), let all simulte functions write to the buffer and removes\nall length checks as we know that there always is enough buffer space.\nCopying in (for ATAPI inquiry fix up) and out are handled by\nsg_copy_to/from_buffer() behind ata_scsi_rbuf_get/put() interface\nwhich handles sglist properly.\n\nThis patch is inspired from buffer length check fix patch from Petr\nVandrovec.\n\nUpdated to use sg_copy_to/from_buffer() as suggested by FUJITA\nTomonori.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Petr Vandrovec \u003cpetr@vmware.com\u003e\nCc: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "f0761be344f9b1cc4284b1d945933cd983c233a4",
      "tree": "d2b999a039bee7f36b0707b80cd13fd1e1b2cfbb",
      "parents": [
        "3dd654bfdf8905d0acb6f6231b5e736d2b0d4bc6"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 28 17:16:52 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Tue Apr 29 02:16:37 2008 -0400"
      },
      "message": "libata-scsi: clean up inquiry / mode sense related functions\n\n* make ata_scsiop_*() static\n* make ata_scsi_set_sense() static and move it above its users\n* make ata_scsi_rbuf_fill() static\n* kill unused ata_scsi_badcmd()\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "ee959b00c335d7780136c5abda37809191fe52c3",
      "tree": "7775f3b274fd8caf5e7e5154fea89e96f2babd94",
      "parents": [
        "56d110e852b0b1c85ad6c9bfe1cb4473ceb16402"
      ],
      "author": {
        "name": "Tony Jones",
        "email": "tonyj@suse.de",
        "time": "Fri Feb 22 00:13:36 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:33 2008 -0700"
      },
      "message": "SCSI: convert struct class_device to struct device\n\nIt\u0027s big, but there doesn\u0027t seem to be a way to split it up smaller...\n\nSigned-off-by: Tony Jones \u003ctonyj@suse.de\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nCc: Sean Hefty \u003csean.hefty@intel.com\u003e\nCc: Hal Rosenstock \u003chal.rosenstock@gmail.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "2cca775baecbfede2fec20c99add709232311fe7",
      "tree": "b0eefe80881d263ba7976174144ae4e9cf238425",
      "parents": [
        "eddeb0e2d863e3941d8768e70cb50c6120e61fa0",
        "94795b61e84994a3b058f92d041d1fb3d869c7d5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 11:25:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 11:25:31 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (137 commits)\n  [SCSI] iscsi: bidi support for iscsi_tcp\n  [SCSI] iscsi: bidi support at the generic libiscsi level\n  [SCSI] iscsi: extended cdb support\n  [SCSI] zfcp: Fix error handling for blocked unit for send FCP command\n  [SCSI] zfcp: Remove zfcp_erp_wait from slave destory handler to fix deadlock\n  [SCSI] zfcp: fix 31 bit compile warnings\n  [SCSI] bsg: no need to set BSG_F_BLOCK bit in bsg_complete_all_commands\n  [SCSI] bsg: remove minor in struct bsg_device\n  [SCSI] bsg: use better helper list functions\n  [SCSI] bsg: replace kobject_get with blk_get_queue\n  [SCSI] bsg: takes a ref to struct device in fops-\u003eopen\n  [SCSI] qla1280: remove version check\n  [SCSI] libsas: fix endianness bug in sas_ata\n  [SCSI] zfcp: fix compiler warning caused by poking inside new semaphore (linux-next)\n  [SCSI] aacraid: Do not describe check_reset parameter with its value\n  [SCSI] aacraid: Fix down_interruptible() to check the return value\n  [SCSI] sun3_scsi_vme: add MODULE_LICENSE\n  [SCSI] st: rename flush_write_buffer()\n  [SCSI] tgt: use KMEM_CACHE macro\n  [SCSI] initio: fix big endian problems for auto request sense\n  ...\n"
    },
    {
      "commit": "855d854a33fca71cf68bad258bd5e66e5b265d10",
      "tree": "fcb5cac022d38af474c5243182a3c6f91de0b2ec",
      "parents": [
        "e675349e2bdbfb661fa0d8ff2441b4cf48fb7e48"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 18 13:18:48 2008 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 11:20:42 2008 -0700"
      },
      "message": "libata: fix boot panic with SATAPI devices on non-SFF HBAs\n\nThe kernel now panics reliably on boot if you have a SATAPI device\nconnected.\n\nThe problem was introduced by the libata merge trying to pull out all\nthe SFF code into a separate module.  Unfortunately, if you\u0027re a satapi\ndevice you usually need to call atapi_request_sense, which has a bare\ninvocation of a SFF callback which is NULL on non-SFF HBAs.  Fix this by\nmaking the call conditional.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "071f44b1d2c051641b62a3571223314737ccbe59",
      "tree": "a07794c8109e5d82a78223ae0159eadbf862c463",
      "parents": [
        "48515f6c006c2a9d7b624ee8ad068018c2d3fe0e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:22 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:25 2008 -0400"
      },
      "message": "libata: implement PMP helpers\n\nImplement helpers to test whether PMP is supported, attached and\ndetermine pmp number to use when issuing SRST to a link.  While at it,\nmove ata_is_host_link() so that it\u0027s together with the two new PMP\nhelpers.\n\nThis change simplifies LLDs and helps making PMP support optional.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "127102aea2ea9ec4e9ca233e2b1a75c8d3b058c4",
      "tree": "92fb528eac658adbc7307a009bd8a7558db2658a",
      "parents": [
        "350756f6dab6d37ef9ed3f18dec520e88969ddac"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:21 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:24 2008 -0400"
      },
      "message": "libata: make SFF support optional\n\nNow that SFF support is completely separated out from the core layer,\nit can be made optional.  Add CONFIG_ATA_SFF and let SFF drivers\ndepend on it.  If CONFIG_ATA_SFF isn\u0027t set, all codes in libata-sff.c\nand data structures for SFF support are disabled.  This saves good\nnumber of bytes for small systems.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "5682ed33aae05d10a25c95633ef9d9c062825888",
      "tree": "1632d4d70f4fd2dc25596a5cde1183f70f162ac3",
      "parents": [
        "9363c3825ea9ad76561eb48a395349dd29211ed6"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:16 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:22 2008 -0400"
      },
      "message": "libata: rename SFF port ops\n\nAdd sff_ prefix to SFF specific port ops.\n\nThis rename is in preparation of separating SFF support out of libata\ncore layer.  This patch strictly renames ops and doesn\u0027t introduce any\nbehavior difference.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "b558edddb1c42c70a30cfe494984d4be409f7b2b",
      "tree": "b03275d15675a519de7d4edde709892f885a5fa0",
      "parents": [
        "8cebf274dd1c955a6e03385a85fd6569ce445946"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jan 24 00:05:14 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:16 2008 -0400"
      },
      "message": "libata: kill ata_ehi_schedule_probe()\n\nata_ehi_schedule_probe() was created to hide details of link-resuming\nreset magic.  Now that all the softreset workarounds are gone,\nscheduling probe is very simple - set probe_mask and request RESET.\nKill ata_ehi_schedule_probe() and open code it.  This also increases\nconsistency as ata_ehi_schedule_probe() couldn\u0027t cover individual\ndevice probings so they were open-coded even when the helper existed.\n\nWhile at it, define ATA_ALL_DEVICES as mask of all possible devices on\na link and always use it when requesting probe on link level for\nsimplicity and consistency.  Setting extra bits in the probe_mask\ndoesn\u0027t hurt anybody.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "672b2d65ba83a6f3f801fd3d58851aa9c0725a54",
      "tree": "ed3a2fe8013bf8322df637838deccf9f2bc9c92c",
      "parents": [
        "d692abd92f22a81b38d52c39601871003262841c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jan 24 00:05:14 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:16 2008 -0400"
      },
      "message": "libata: kill ATA_EHI_RESUME_LINK\n\nATA_EHI_RESUME_LINK has two functions - promote reset to hardreset if\nATA_LFLAG_HRST_TO_RESUME is set and preventing EH from shortcutting\nreset action when probing is requested.  The former is gone now and\nthe latter can easily be achieved by making EH to perform at least one\nreset if reset is requested, which also makes more sense than\ndepending on RESUME_LINK flag.\n\nAs ATA_EHI_RESUME_LINK was the only EHI reset modifier, this also\nkills reset modifier handling.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "cf48062658e7ab3bc55e10c65676c3c73c16f8bf",
      "tree": "9a50a016ceb6051d8a30a43ea39f2a4d3d25570e",
      "parents": [
        "4b119e21d0c66c22e8ca03df05d9de623d0eb50f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jan 24 00:05:14 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:15 2008 -0400"
      },
      "message": "libata: prefer hardreset\n\nWhen both soft and hard resets are available, libata preferred\nsoftreset till now.  The logic behind it was to be softer to devices;\nhowever, this doesn\u0027t really help much.  Rationales for the change:\n\n* BIOS may freeze lock certain things during boot and softreset can\u0027t\n  unlock those.  This by itself is okay but during operation PHY event\n  or other error conditions can trigger hardreset and the device may\n  end up with different configuration.\n\n  For example, after a hardreset, previously unlockable HPA can be\n  unlocked resulting in different device size and thus revalidation\n  failure.  Similar condition can occur during or after resume.\n\n* Certain ATAPI devices require hardreset to recover after certain\n  error conditions.  On PATA, this is done by issuing the DEVICE RESET\n  command.  On SATA, COMRESET has equivalent effect.  The problem is\n  that DEVICE RESET needs its own execution protocol.\n\n  For SFF controllers with bare TF access, it can be easily\n  implemented but more advanced controllers (e.g. ahci and sata_sil24)\n  require specialized implementations.  Simply using hardreset solves\n  the problem nicely.\n\n* COMRESET initialization sequence is the norm in SATA land and many\n  SATA devices don\u0027t work properly if only SRST is used.  For example,\n  some PMPs behave this way and libata works around by always issuing\n  hardreset if the host supports PMP.\n\n  Like the above example, libata has developed a number of mechanisms\n  aiming to promote softreset to hardreset if softreset is not going\n  to work.  This approach is time consuming and error prone.\n\n  Also, note that, dependingon how you read the specs, it could be\n  argued that PMP fan-out ports require COMRESET to start operation.\n  In fact, all the PMPs on the market except one don\u0027t work properly\n  if COMRESET is not issued to fan-out ports after PMP reset.\n\n* COMRESET is an integral part of SATA connection and any working\n  device should be able to handle COMRESET properly.  After all, it\u0027s\n  the way to signal hardreset during reboot.  This is the most used\n  and recommended (at least by the ahci spec) method of resetting\n  devices.\n\nSo, this patch makes libata prefer hardreset over softreset by making\nthe following changes.\n\n* Rename ATA_EH_RESET_MASK to ATA_EH_RESET and use it whereever\n  ATA_EH_{SOFT|HARD}RESET used to be used.  ATA_EH_{SOFT|HARD}RESET is\n  now only used to tell prereset whether soft or hard reset will be\n  issued.\n\n* Strip out now unneeded promote-to-hardreset logics from\n  ata_eh_reset(), ata_std_prereset(), sata_pmp_std_prereset() and\n  other places.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "526917641aa50eb852591cc3953a92374bedc836",
      "tree": "38d2033ed637a54ff607e4c1adf861fb3b90f44a",
      "parents": [
        "a34c4e98367965402134f2e66c3cdc4416f109e4"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Mar 25 09:26:51 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Mon Apr 07 12:19:02 2008 -0500"
      },
      "message": "[SCSI] libata: use scsi_build_sense_buffer\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "aacda37538e7f9cf2148eedf3766239829e51ba4",
      "tree": "0206d2db8ce636aadabf8e3effd1ee3114ccff2a",
      "parents": [
        "cc7feea39bed2951cc29af3ad642f39a99dfe8d3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Mar 18 17:47:43 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Mar 24 22:09:12 2008 -0400"
      },
      "message": "libata: implement ata_qc_raw_nbytes()\n\nImplement ata_qc_raw_nbytes() which determines the raw user-requested\nsize of a PC command.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "e3790c7d42a545e8fe8b38b513613ca96687b670",
      "tree": "0b849ba46007c4d7f7a34271a76d58e7406cbad7",
      "parents": [
        "7a85f8896f4b4a4a0249563b92af9e3161a6b467"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Mar 04 11:18:17 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Mar 04 11:18:17 2008 +0100"
      },
      "message": "block: separate out padding from alignment\n\nBlock layer alignment was used for two different purposes - memory\nalignment and padding.  This causes problems in lower layers because\ndrivers which only require memory alignment ends up with adjusted\nrq-\u003edata_len.  Separate out padding such that padding occurs iff\ndriver explicitly requests it.\n\nTomo: restorethe code to update bio in blk_rq_map_user\n      introduced by the commit 40b01b9bbdf51ae543a04744283bf2d56c4a6afa\n      according to padding alignment.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7a85f8896f4b4a4a0249563b92af9e3161a6b467",
      "tree": "616c62e3c96237e874fc0f47133fbca2160913b5",
      "parents": [
        "89b6e743788516491846724d7ef89bcac7ac9c99"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Mar 04 11:17:11 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Tue Mar 04 11:17:11 2008 +0100"
      },
      "message": "block: restore the meaning of rq-\u003edata_len to the true data length\n\nThe meaning of rq-\u003edata_len was changed to the length of an allocated\nbuffer from the true data length. It breaks SG_IO friends and\nbsg. This patch restores the meaning of rq-\u003edata_len to the true data\nlength and adds rq-\u003eextra_len to store an extended length (due to\ndrain buffer and padding).\n\nThis patch also removes the code to update bio in blk_rq_map_user\nintroduced by the commit 40b01b9bbdf51ae543a04744283bf2d56c4a6afa.\nThe commit adjusts bio according to memory alignment\n(queue_dma_alignment). However, memory alignment is NOT padding\nalignment. This adjustment also breaks SG_IO friends and bsg. Padding\nalignment needs to be fixed in a proper way (by a separate patch).\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003caxboe@carl.home.kernel.dk\u003e\n"
    },
    {
      "commit": "b445c56815d84b9fce40707f99811bdc354458e0",
      "tree": "f8e9e9137a11417f4bfd422245d251d13a8f2177",
      "parents": [
        "931506d3b2208362efc678ee863ee42a90755e89"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Feb 29 19:10:51 2008 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Feb 29 19:10:51 2008 -0500"
      },
      "message": "[libata] wrap kmap_atomic(KM_IRQ0) with local_irq_save/restore()\n\nInterrupts must be disabled if using kmap_atomic(KM_IRQ0), but that was\nnot the case in a few code paths coming directly from ATA driver\ninterrupt handlers (which use spin_lock rather than spin_lock_irqsave).\n\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "9116300634c5c76cfcd0d2af689846e04d172256",
      "tree": "dfc527d28af35f19dcb9c4092757d6eabb8afb1d",
      "parents": [
        "559bbe6cbd0d8c68d40076a5f7dc98e3bf5864b2"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Feb 21 13:25:50 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sun Feb 24 00:27:33 2008 -0500"
      },
      "message": "libata: automatically use DMADIR if drive/bridge requires it\n\nBack in 2.6.17-rc2, a libata module parameter was added for atapi_dmadir.\n\nThat\u0027s nice, but most SATA devices which need it will tell us about it\nin their IDENTIFY PACKET response, as bit-15 of word-62 of the\nreturned data (as per ATA7, ATA8 specifications).\n\nSo for those which specify it, we should automatically use the DMADIR bit.\nOtherwise, disc writing will fail by default on many SATA-ATAPI drives.\n\nThis patch adds ATA_DFLAG_DMADIR and make ata_dev_configure() set it\nif atapi_dmadir is set or identify data indicates DMADIR is necessary.\natapi_xlat() is converted to check ATA_DFLAG_DMADIR before setting\nDMADIR.\n\nOriginal patch is from Mark Lord.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Mark Lord \u003cmlord@pobox.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "73fd8b6d310196ae878767200786503fcff57bd5",
      "tree": "643c3c2471d9741f8923f72064c51df8bad013f7",
      "parents": [
        "f1cb0ea12fee23018ad1865bf789cbd463f13747"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Feb 19 13:43:21 2008 -0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Feb 20 12:20:49 2008 -0500"
      },
      "message": "libata: fix kernel-doc parameter warning\n\nFix libata kernel-doc parameter:\n\nWarning(linux-2.6.25-rc2-git3//drivers/ata/libata-scsi.c:845): No description found for parameter \u0027rq\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "fa2fc7f4813bfec1ae3232d49e3befbd601e8a6f",
      "tree": "f5598bd35f38812318da493cc027238a2256e036",
      "parents": [
        "dde2020754aeb14e17052d61784dcb37f252aac2"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Tue Feb 19 11:36:57 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Feb 19 11:36:57 2008 +0100"
      },
      "message": "libata: implement drain buffers\n\nThis just updates the libata slave configure routine to take advantage\nof the block layer drain buffers.  It also adjusts the size lengths in\nthe atapi code to add the drain buffer to the DMA length so the driver\nknows it can rely on it.\n\nI suspect I should also be checking for AHCI as well as ATA_DEV_ATAPI,\nbut I couldn\u0027t see how to do that easily.\n\ntj: * atapi_drain_needed() added such that draining is applied to only\n      misc ATAPI commands.\n    * q-\u003ebounce_gfp used when allocating drain buffer.\n    * Now duplicate ATAPI PIO drain logic dropped.\n    * ata_dev_printk() used instead of sdev_printk().\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "dde2020754aeb14e17052d61784dcb37f252aac2",
      "tree": "1b6d57c6eff2024fd13e4b3b115d0a6770d8cb80",
      "parents": [
        "db0a2e0099be3a1cff55879225881465f16c67d3"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Tue Feb 19 11:36:56 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Feb 19 11:36:56 2008 +0100"
      },
      "message": "libata: eliminate the home grown dma padding in favour of\n\nthat provided by the block layer\n\nATA requires that all DMA transfers begin and end on word boundaries.\nBecause of this, a large amount of machinery grew up in ide to adjust\nscatterlists on this basis.  However, as of 2.5, the block layer has a\ndma_alignment variable which ensures both the beginning and length of a\nDMA transfer are aligned on the dma_alignment boundary.  Although the\nblock layer does adjust the beginning of the transfer to ensure this\nhappens, it doesn\u0027t actually adjust the length, it merely makes sure\nthat space is allocated for transfers beyond the declared length.  The\nupshot of this is that scatterlists may be padded to any size between\nthe actual length and the length adjusted to the dma_alignment safely\nknowing that memory is allocated in this region.\n\nRight at the moment, SCSI takes the default dma_aligment which is on a\n512 byte boundary.  Note that this aligment only applies to transfers\ncoming in from user space.  However, since all kernel allocations are\nautomatically aligned on a minimum of 32 byte boundaries, it is safe to\nadjust them in this manner as well.\n\ntj: * Adjusting sg after padding is done in block layer.  Make libata\n      set queue alignment correctly for ATAPI devices and drop broken\n      sg mangling from ata_sg_setup().\n    * Use request-\u003eraw_data_len for ATAPI transfer chunk size.\n    * Killed qc-\u003eraw_nbytes.\n    * Separated out killing qc-\u003en_iter.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "08f01058fe8fcf0d4d69d96d667c51d52859b31d",
      "tree": "f14379342d508ad03fc13af8a6c708209a3903e2",
      "parents": [
        "e760e716d47b48caf98da348368fd41b4a9b9e7e"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Thu Feb 14 10:45:20 2008 -0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Feb 15 13:50:53 2008 -0500"
      },
      "message": "ata: make ata_scsiop_inq_89 static in libata-scsi.c\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "9b73e76f3cf63379dcf45fcd4f112f5812418d0a",
      "tree": "4e6bef87cd0cd6d848fc39a5ae25b981dbbe035b",
      "parents": [
        "50d9a126240f9961cfdd063336bbeb91f77a7dce",
        "23c3e290fb9ce38cabc2822b47583fc8702411bf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 17:19:08 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 17:19:08 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (200 commits)\n  [SCSI] usbstorage: use last_sector_bug flag universally\n  [SCSI] libsas: abstract STP task status into a function\n  [SCSI] ultrastor: clean up inline asm warnings\n  [SCSI] aic7xxx: fix firmware build\n  [SCSI] aacraid: fib context lock for management ioctls\n  [SCSI] ch: remove forward declarations\n  [SCSI] ch: fix device minor number management bug\n  [SCSI] ch: handle class_device_create failure properly\n  [SCSI] NCR5380: fix section mismatch\n  [SCSI] sg: fix /proc/scsi/sg/devices when no SCSI devices\n  [SCSI] IB/iSER: add logical unit reset support\n  [SCSI] don\u0027t use __GFP_DMA for sense buffers if not required\n  [SCSI] use dynamically allocated sense buffer\n  [SCSI] scsi.h: add macro for enclosure bit of inquiry data\n  [SCSI] sd: add fix for devices with last sector access problems\n  [SCSI] fix pcmcia compile problem\n  [SCSI] aacraid: add Voodoo Lite class of cards.\n  [SCSI] aacraid: add new driver features flags\n  [SCSI] qla2xxx: Update version number to 8.02.00-k7.\n  [SCSI] qla2xxx: Issue correct MBC_INITIALIZE_FIRMWARE command.\n  ...\n"
    },
    {
      "commit": "d0ad3bc97c06fba5d37b4ca03c03b7eeeda39c47",
      "tree": "5aaecdc97e807dc9be911243604c9b9e0f22bde6",
      "parents": [
        "465ff3185e0cb76d46137335a4d21d0d9d3ac8a2"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Tue Jan 22 13:43:48 2008 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 23 11:27:54 2008 -0600"
      },
      "message": "[SCSI] libata: fix corruption induced by relaxed DMA alignment in SCSI\n\nHugh Dickens noticed that SMART commands issued from user space can\nend up corupting memory.  The problem occurs if the buffer used to\nread data spans two pages.  The reason is that the PIO sector routines\nin libata are expecting physically contiguous pages when they do\nsector operations, so the left overs on the second page go into the\nnext physically adjacent page rather than the next page in the sg\nmapping.\n\nFix this by enforcing strict 512 byte alignment on all buffers from\nuserspace.\n\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nAcked-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "7ccd720da3857c21ea893448aaf73620cfe1d27e",
      "tree": "5e42391c4cb3465ea0beadeec6c8f27523b2519b",
      "parents": [
        "b832548773b0cd98216534caa31b9ed7607c4e76"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Thu Jan 17 11:56:24 2008 -0600"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Jan 23 05:24:17 2008 -0500"
      },
      "message": "[libata] Prefer SCSI_SENSE_BUFFERSIZE to sizeof()\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "cadb7345d92628d46cccd3765cc15cb9cd6abccf",
      "tree": "2d5895102c0cd9182521eb408d7c77333498c1f1",
      "parents": [
        "defc9cd826e4a99f550504a744f9407b518828ae"
      ],
      "author": {
        "name": "akpm@linux-foundation.org",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Jan 15 16:01:52 2008 -0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Jan 23 05:24:16 2008 -0500"
      },
      "message": "[libata] Prefer SCSI_SENSE_BUFFERSIZE to sizeof()\n\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "4ca4e439640cd1d3659cbcf60e7a73c2ae0450b3",
      "tree": "659dceb7469341dca95d7a96774e787c3b510872",
      "parents": [
        "35a10a80daa04b7316d6bac1b1402cc347c35b1e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Sun Dec 30 09:32:22 2007 +0000"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Jan 23 05:24:15 2008 -0500"
      },
      "message": "libata annotations and fixes\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "ff2aeb1eb64c8a4770a6304f9addbae9f9828646",
      "tree": "c6febbec290ec6c40bf3abc7bcdb7188f5039443",
      "parents": [
        "f92a26365a72333f418abe82700c6030d4a1a807"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Dec 05 16:43:11 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Jan 23 05:24:14 2008 -0500"
      },
      "message": "libata: convert to chained sg\n\nlibata used private sg iterator to handle padding sg.  Now that sg can\nbe chained, padding can be handled using standard sg ops.  Convert to\nchained sg.\n\n* s/qc-\u003e__sg/qc-\u003esg/\n\n* s/qc-\u003epad_sgent/qc-\u003eextra_sg[]/.  Because chaining consumes one sg\n  entry.  There need to be two extra sg entries.  The renaming is also\n  for future addition of other extra sg entries.\n\n* Padding setup is moved into ata_sg_setup_extra() which is organized\n  in a way that future addition of other extra sg entries is easy.\n\n* qc-\u003eorig_n_elem is unused and removed.\n\n* qc-\u003en_elem now contains the number of sg entries that LLDs should\n  map.  qc-\u003emapped_n_elem is added to carry the original number of\n  mapped sgs for unmapping.\n\n* The last sg of the original sg list is used to chain to extra sg\n  list.  The original last sg is pointed to by qc-\u003elast_sg and the\n  content is stored in qc-\u003esaved_last_sg.  It\u0027s restored during\n  ata_sg_clean().\n\n* All sg walking code has been updated.  Unnecessary assertions and\n  checks for conditions the core layer already guarantees are removed.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "0dc36888d4422140f9eaf50f24953ec109f750a3",
      "tree": "80253b1831849e4063b73c31c15011c5e4c48404",
      "parents": [
        "537b53c1692960b8b3b0324e886fbe48cb9e5c00"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Dec 18 16:34:43 2007 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Jan 23 05:24:14 2008 -0500"
      },
      "message": "libata: rename ATA_PROT_ATAPI_* to ATAPI_PROT_*\n\nATA_PROT_ATAPI_* are ugly and naming schemes between ATA_PROT_* and\nATA_PROT_ATAPI_* are inconsistent causing confusion.  Rename them to\nATAPI_PROT_* and make them consistent with ATA counterpart.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "93f8fecbe72bc3c121f3605dd198ff39ef358522",
      "tree": "46080625a3bf8331f1d31c0d77fbcd024fd6ddef",
      "parents": [
        "1973a023a616b40ba33fd0d38b1055c62c88e73d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Dec 05 16:43:01 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Jan 23 05:24:13 2008 -0500"
      },
      "message": "libata: make atapi_request_sense() use sg\n\natapi_request_sense() is now the only left user of ata_sg_init_one().\nConvert it to use sg interface.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Rusty Russel \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "ae8d4ee7ff429136c8b482c3b38ed994c021d3fc",
      "tree": "bf45047ab8a4f5325c6b752be02313d3112eded0",
      "parents": [
        "ffe188dd83e84119516688c822388c8f30a54877"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Sun Nov 04 22:05:49 2007 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Jan 23 05:24:09 2008 -0500"
      },
      "message": "libata: Disable ATA8-ACS proposed Trusted Computing features by default\n\nHistorically word 48 in the identify data was used to mean 32bit I/O\nwas supported for VLB IDE etc. ATA8 reassigns this word to the Trusted\nComputing Group, where it is used for TCG features. This means that\nan ATA8 TCG drive is going to trigger 32bit I/O on some systems which\nwill be funny.\n\nAnyway we need to sort this out ready for ATA8 so:\n- Reorder the ata.h header a bit so the ata_version function occurs early\n  in it\n- Make dword_io check the ATA version\n- Add an ATA8 version checking TCG presence test\n\nWhile we are at it the current drafts have a flaw where it may not be\npossible to disable TCG features at boot (and opt out of the trusted\nmodel) as TCG intends because it relies on presence of a different\noptional feature (DCS). Handle this in software by refusing the TCG\ncommands if libata.allow_tpm is not set. (We must make it possible\nas some environments such as proprietary VDR devices will doubtless\nwant to use it to lock up content)\n\nFinally as with CPRM print a warning so that the user knows they may\nnot be able to full access and use the device.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\n"
    },
    {
      "commit": "d8cf5389bd9d1f0ac9fea51796c274ba64b83d80",
      "tree": "b6f6c10b9d7ca625ad531bd5ca1778d354fb15d5",
      "parents": [
        "c2e14f11120bbef0c883e795da8180b58f3cddae"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Jan 15 08:46:59 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Jan 14 21:11:02 2008 -0500"
      },
      "message": "libata: relocate sdev-\u003emanage_start_stop configuration\n\nAfter 9b8e8de7, manage_start_stop configuration depends on valid ATA\ndevice.  Move it into ata_scsi_dev_config().  This was detected by the\ncoverity checker.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "465ff3185e0cb76d46137335a4d21d0d9d3ac8a2",
      "tree": "171068cd7d99600cd094c2eb72bac712649fd9eb",
      "parents": [
        "11c3e689f1c3a73e3af7b0ea767b1b0626da8033"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Tue Jan 01 10:00:10 2008 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Jan 11 18:29:22 2008 -0600"
      },
      "message": "[SCSI] relax scsi dma alignment\n\nThis patch relaxes the default SCSI DMA alignment from 512 bytes to 4\nbytes.  I remember from previous discussions that usb and firewire have\nsector size alignment requirements, so I upped their alignments in the\nrespective slave allocs.\n\nThe reason for doing this is so that we don\u0027t get such a huge amount of\ncopy overhead in bio_copy_user() for udev.  (basically all inquiries it\nissues can now be directly mapped).\n\nAcked-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "9b8e8de7e59b3a2dab3113d620b52dc8ba890fb3",
      "tree": "d935740d82e28e0579700ceacef2688147890420",
      "parents": [
        "13cc546be3060324de9d92ebde3bc9dbd950df23"
      ],
      "author": {
        "name": "Ondrej Zary",
        "email": "linux@rainbow-software.org",
        "time": "Thu Jan 10 17:13:19 2008 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Thu Jan 10 17:13:19 2008 -0500"
      },
      "message": "libata and starting/stopping ATAPI floppy devices\n\nPrevent libata from starting/stopping non-ATA devices (like ATAPI floppy\ndrives) as they don\u0027t seem to like it:\n\nsd 1:0:1:0: [sdb] Starting disk\nata2.01: configured for PIO2\nsd 1:0:1:0: [sdb] Result: hostbyte\u003d0x00 driverbyte\u003d0x08\nsd 1:0:1:0: [sdb] Sense Key : 0x2 [current]\nsd 1:0:1:0: [sdb] ASC\u003d0x3a ASCQ\u003d0x0\n\nSigned-off-by: Ondrej Zary \u003clinux@rainbow-software.org\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "e190222d04cb1119c62876ac87cf9b9403ba3bd5",
      "tree": "e7aabe0c306f4f5b169c06d0829258717953cc5a",
      "parents": [
        "dc86f6d4183c79a08fa01c08dd2191895c0c7eb0"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Nov 26 20:58:02 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Nov 26 11:03:40 2007 -0500"
      },
      "message": "libata: bump transfer chunk size if it\u0027s odd\n\nNone of the drives I have follows what the standard says about\ntransfer chunk size.  Of the four SATA and six PATA ATAPI devices\ntested, four ignore transfer chunk size completely and the ones which\nhonor it don\u0027t behave according to the spec when it\u0027s odd.\n\nAccording to the spec, transfer chunk size can be odd if the amount of\ndata to transfer equals or is smaller than the chunk size and the\ndevice can indicate the same odd number and transfer the whole thing\nat one go with a pad byte appended.  However, in reality, none of the\ndrives I have does that.  They all indicate and transfer even number\nof bytes one byte shorter than the chunk size first; then indicate and\ntransfer two bytes, which is clearly out of spec.\n\nIn addition to unnecessary second PIO data phase, this also creates a\nweird problem when combined with SATA controllers which perform PIO\nvia DMA.  Some of these controllers use actualy number of bytes\nreceived to update DMA pointer so chunks which are sized 4n + 2 makes\nDMA pointer off by two bytes.  This causes data corruption and buffer\noverruns.\n\nThis patch rounds nbytes up to the nearest even number such that ATAPI\ndevices don\u0027t split data transfer for the last odd byte.  This\nshouldn\u0027t confuse controllers which depend on transfer chunk size as\ndevices will report the rounded-up number, actually transfer that much\nand padding buffer is there to receive them.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "607126c2a21cd6e9bb807fdd415c1a992f7b9009",
      "tree": "ec383bc937b0a19b8da4e1c02a3191ea625f40db",
      "parents": [
        "f442cd86c1c86c5f44bc2cf23f89536f7e4cfe59"
      ],
      "author": {
        "name": "Mark Lord",
        "email": "liml@rtr.ca",
        "time": "Thu Nov 15 13:13:59 2007 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Nov 19 12:28:11 2007 +0900"
      },
      "message": "libata-scsi: be tolerant of 12-byte ATAPI commands in 16-byte CDBs\n\nSebastian Kemper reported that issuing CD/DVD commands under libata is\nnot fully compatible with ide-scsi.  In particular, the\nGPCMD_SET_STREAMING was being rejected at the host level in some\ninstances.\n\nThe reason is that libata-scsi insists upon the cmd_len field exactly\nmatching the SCSI opcode being issued, whereas ide-scsi tolerates\n12-byte commands contained within a 16-byte (cmd_len) CDB.\n\nThere doesn\u0027t seem to be a good reason for us to not be compatible\nthere, so here is a patch to fix libata-scsi to permit SCSI opcodes so\nlong as they fit within whatever size CDB is provided.\n\nSigned-off-by: Mark Lord \u003cmlord@pobox.com\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "f26792d5c63344e14540ced4b19deb29e360bb8d",
      "tree": "5e4287a72bf42bd47b4b7993087e33a6d1cc0a4b",
      "parents": [
        "a341cd0f6a0fde1f85fec9aa8f81f824ea4a3f92"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Oct 29 17:18:39 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Nov 03 22:23:02 2007 -0400"
      },
      "message": "[libata] Utilize new SCSI event infrastructure\n\nAn end to CD-ROM polling (if you have a device that supports AN)...\nhooray!\n\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "a2d6ed149cefab495dbb573124e7e1ca331005fd",
      "tree": "a32cd6492dafe396ec6fc52df3a2dd37c8e815c4",
      "parents": [
        "1992a5ede1246a746782f687bfe07bf76650770b"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Oct 31 00:50:23 2007 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Nov 03 08:46:29 2007 -0400"
      },
      "message": "make ata_scsi_lpm_get() static\n\nata_scsi_lpm_get() can become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "e027bd36c146582cef382364e5c826db93d4427b",
      "tree": "45f3d3db848a5bd44bcb2191db17cbfd30f4911a",
      "parents": [
        "f90f0828e57e97cb1ff19520d252882cfc6fb3c0"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri Oct 26 16:19:26 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Oct 30 09:59:43 2007 -0400"
      },
      "message": "libata: implement and use ATA_QCFLAG_QUIET\n\nImplement ATA_QCFLAG_QUIET which indicates that there\u0027s no need to\nreport if the command fails with AC_ERR_DEV and set it for passthrough\ncommands.\n\nCombined with previous changes, this now makes device errors for all\ndirect commands reported directly to the issuer without going through\nEH actions and reporting.\n\nNote that EH is still invoked after non-IO device errors to determine\nthe nature of the error and resume command execution (some controller\nrequires special care after error to continue).  It just performs\ndefault maintenance after error, examines what\u0027s going on, realizes\nthat it\u0027s none of its business and reports the command failure without\nlogging any error messages.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "b666da35d900c26cbea1caa465649e2e0afa406c",
      "tree": "c1636d741569fd9fcf39557e36210226e9d5d860",
      "parents": [
        "5595ddf98cb3bf2c18b3b96587a1a9b0b08c267a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri Oct 26 15:53:59 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Oct 30 09:59:42 2007 -0400"
      },
      "message": "libata: flush is an IO command\n\nATA_QCFLAG_IO is used to mark commands which are used to perform\nregluar IO transfers via block layer.  These commands are assumed to\nbe valid and taken more seriously during error handling.  Cache flush\nis used by regular IO path and necessary for data integrity.  Mark it\nwith ATA_QCFLAG_IO.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "ca77329fb713b7fea6a307068e0dd0248e7aa640",
      "tree": "6a1b987f489d7c3f0bbe81647b4ee2b0216afe8a",
      "parents": [
        "ab6fc95f609b372a19e18ea689986846ab1ba29c"
      ],
      "author": {
        "name": "Kristen Carlson Accardi",
        "email": "kristen.c.accardi@intel.com",
        "time": "Thu Oct 25 00:58:59 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Oct 29 11:00:35 2007 -0400"
      },
      "message": "[libata] Link power management infrastructure\n\nDevice Initiated Power Management, which is defined\nin SATA 2.5 can be enabled for disks which support it.\nThis patch enables DIPM when the user sets the link\npower management policy to \"min_power\".\n\nAdditionally, libata drivers can define a function\n(enable_pm) that will perform hardware specific actions to\nenable whatever power management policy the user set up\nfor Host Initiated Power management (HIPM).\nThis power management policy will be activated after all\ndisks have been enumerated and intialized.  Drivers should\nalso define disable_pm, which will turn off link power\nmanagement, but not change link power management policy.\n\nDocumentation/scsi/link_power_management_policy.txt has additional\ninformation.\n\nSigned-off-by:  Kristen Carlson Accardi \u003ckristen.c.accardi@intel.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "4dbfa39b6c95eb9d0aedb5bd00bb552b91c31e3d",
      "tree": "b3b92aa44fe651af464373d8a21a3da8897fa479",
      "parents": [
        "2a397e82c7db18019e408f953dd58dc1963a328c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Oct 25 18:22:44 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Oct 29 06:15:25 2007 -0400"
      },
      "message": "libata: relocate and fix post-command processing\n\nSome commands need post-processing after successful completion.  This\nwas done in ata_scsi_qc_complete() till now but this has the following\nproblems.\n\n* Post-command processing gets executed when qc is completed from EH.\n  Some qc\u0027s are retried from EH with zero err_mask and thus triggers\n  unnecessary/incorrect post-command processing.\n\n* Command post processing doesn\u0027t belong to SAT layer.\n\n* Link-wide revalidation was scheduled where device revalidation\n  suffices.\n\nThis patch moves post-command processing to success completion path of\nata_qc_complete() which is travelled iff the command is going to be\ncompleted without passing through EH and updates post-command\nprocessing such that device-specific action is used.  While at it,\nrestructure code a bit for readability.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "2dcb407e61458ded17503d6bd12b8c064965368b",
      "tree": "6044e032197b84f9943a385b0c9dbb6656c3f97f",
      "parents": [
        "01e7ae8c13bb06a2ce622ebace33bb7e28ef596c"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 19 06:42:56 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Oct 23 20:59:42 2007 -0400"
      },
      "message": "[libata] checkpatch-inspired cleanups\n\nTackle the relatively sane complaints of checkpatch --file.\n\nThe vast majority is indentation and whitespace changes, the rest are\n\n* #include fixes\n* printk KERN_xxx prefix addition\n* BSS/initializer cleanups\n\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "45711f1af6eff1a6d010703b4862e0d2b9afd056",
      "tree": "3d0048f46e3df9d217d56127462ebe680348bd5a",
      "parents": [
        "78c2f0b8c285c5305b3e67b0595200541e15eb43"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 22 21:19:53 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 22 21:19:53 2007 +0200"
      },
      "message": "[SG] Update drivers to use sg helpers\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "92d15c2ccbb3e31a3fc71ad28fdb55e1319383c0",
      "tree": "8d83c0dc3c6b935d8367e331872f242b742f0a8a",
      "parents": [
        "f20bf6125605acbbc7eb8c9420d7221c91aa83eb",
        "644bd2f048972d75eb1979b1fdca257d528ce687"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 10:09:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 10:09:16 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/data/git/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/data/git/linux-2.6-block: (63 commits)\n  Fix memory leak in dm-crypt\n  SPARC64: sg chaining support\n  SPARC: sg chaining support\n  PPC: sg chaining support\n  PS3: sg chaining support\n  IA64: sg chaining support\n  x86-64: enable sg chaining\n  x86-64: update pci-gart iommu to sg helpers\n  x86-64: update nommu to sg helpers\n  x86-64: update calgary iommu to sg helpers\n  swiotlb: sg chaining support\n  i386: enable sg chaining\n  i386 dma_map_sg: convert to using sg helpers\n  mmc: need to zero sglist on init\n  Panic in blk_rq_map_sg() from CCISS driver\n  remove sglist_len\n  remove blk_queue_max_phys_segments in libata\n  revert sg segment size ifdefs\n  Fixup u14-34f ENABLE_SG_CHAINING\n  qla1280: enable use_sg_chaining option\n  ...\n"
    },
    {
      "commit": "8889e3c129780cdbe15fed3c366ba3aa3026684d",
      "tree": "6dd87deff0a8b2423b79a4f0234f7b234a259e37",
      "parents": [
        "fd820f405574a30aacf9a859886e173d641f080b"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Sep 18 12:16:45 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 16 11:24:44 2007 +0200"
      },
      "message": "remove blk_queue_max_phys_segments in libata\n\nLIBATA_MAX_PRD is the maximum number of DMA scatter/gather elements\npermitted by the HBA\u0027s DMA engine. It\u0027s properly set to\nq-\u003emax_hw_segments via the sg_tablesize parameter.\n\nlibata shouldn\u0027t call blk_queue_max_phys_segments. Now LIBATA_MAX_PRD\nis equal to SCSI_MAX_PHYS_SEGMENTS by default (both is 128), so\neverything is fine. But if they are changed, some code (like the scsi\nmid layer, sg chaining, etc) might not work properly.\n\n(Addition from Jens) The basic issue is that the physical segment\nsetting is purely a driver issue. And since SCSI is managing the sglist,\nlibata has no business changing the setting. All libata should care\nabout is the hw segment setting.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c5d0e6a0d225c03b59a0a70f940e439085235ba2",
      "tree": "c041f599955a1e9ac97416da2307ac9050612cfe",
      "parents": [
        "23f9b75e79f6fbe438a20d10a11ca45a14b8a584"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon Oct 15 17:29:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 15 17:56:36 2007 -0700"
      },
      "message": "docbook: fix libata content\n\nFix libata docbook warnings.\n\nWarning(linux-2.6.23-git8//drivers/ata/libata-scsi.c:3251): No description found for parameter \u0027dev\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f58db80267c24e15d959e372d23651a43443c5f3",
      "tree": "bcbc79c4c4232b68a5a5b109f27083c2e55c64b1",
      "parents": [
        "f140f0f12fc8dc7264d2f97cbe663564e7d24f6d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Oct 10 15:57:44 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Oct 15 15:24:54 2007 -0400"
      },
      "message": "libata: fix revalidation issuing after configuration commands\n\nAfter commands which can change device configuration, EH is scheduled\nto revalidate and reconfigure the device.  Host link was incorrectly\nused unconditionally when scheduling EH action.  This resulted in\nbogus revalidation request and mismatched configuration between device\nand driver.  Fix it.\n\nThis bug was reported by Igor Durdanovic.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Igor Durdanovic \u003cidurdanovic@comcast.net\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "2db78dd302d26d242d3e8e5c4c5024b6c3ea93c2",
      "tree": "3d1b15c4314568dd7ccedb43a406060d5b6093be",
      "parents": [
        "681c80b5d96076f447e8101ac4325c82d8dce508"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Tue Oct 02 13:53:04 2007 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:45 2007 -0400"
      },
      "message": "libata_scsi: Fix ATAPI transfer lengths\n\nSome controller variants snoop the ATAPI length value for Packet\ntransfers to do state machine and FIFO management. Thus we want to\nset it properly, even for cases where it is otherwise meaningless.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "7d77b247088fb360aa74bfdd9e19bce1e1987668",
      "tree": "add1b03309dd6fa82eb0f47e1a88766695f38f28",
      "parents": [
        "e31e8531d668c9c4dc7883054788f89805188003"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Sep 23 13:14:13 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:42 2007 -0400"
      },
      "message": "libata-pmp-prep: implement sata_async_notification()\n\nAN serves multiple purposes.  For ATAPI, it\u0027s used for media change\nnotification.  For PMP, for downstream PHY status change notification.\nImplement sata_async_notification() which demultiplexes AN.\n\nTo avoid unnecessary port events, ATAPI AN is not enabled if PMP is\nattached but SNTF is not available.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Kriten Carlson Accardi \u003ckristen.c.accardi@intel.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "e31e8531d668c9c4dc7883054788f89805188003",
      "tree": "9c3762792344d24c996d6459409456664a2e381b",
      "parents": [
        "668108d73bbb1ae85f01db38d6be822fd28ece1f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Sep 23 13:14:13 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:41 2007 -0400"
      },
      "message": "libata-pmp-prep: implement ATA_HORKAGE_SKIP_PM\n\nSome pseudo devices fail PM commands unnecessarily aborting system\nsuspend.  Implement ATA_HORKAGE_SKIP_PM which makes libata skip PM\ncommands for these devices.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "31cc23b34913bc173680bdc87af79e551bf8cc0d",
      "tree": "ec64421ead9259174f0de8b22c36449ece6d69a4",
      "parents": [
        "fb7fd61454c8681cd2621051a710b78a00369203"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Sep 23 13:14:12 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:41 2007 -0400"
      },
      "message": "libata-pmp-prep: implement ops-\u003eqc_defer()\n\nControllers which support PMP have various restrictions on which\ncombinations of commands are allowed to what number of devices\nconcurrently.  This patch implements ops-\u003eqc_defer() which determines\nwhether a qc can be issued at the moment or should be deferred.\n\nIf the function returns ATA_DEFER_LINK, the qc will be deferred until\na qc completes on the link.  If ATA_DEFER_PORT, until a qc completes\non any link.  The defer conditions are advisory and in general\nATA_DEFER_LINK can be considered as lower priority deferring than\nATA_DEFER_PORT.\n\nops-\u003eqc_defer() replaces fixed ata_scmd_need_defer().  For standard\nNCQ/non-NCQ exclusion, ata_std_qc_defer() is implemented.  ahci and\nsata_sil24 are converted to use ata_std_qc_defer().\n\nops-\u003eqc_defer() is heavier than the original mechanism because full qc\nis prepped before determining to defer it, but various information is\nneeded to determine defer conditinos and fully translating a qc is the\nonly way to supply such information in generic manner.\n\nIMHO, this shouldn\u0027t cause any noticeable performance issues as\n\n* for most cases deferring occurs rarely (except for NCQ-aware\n  cmd-switching PMP)\n* translation itself isn\u0027t that expensive\n* once deferred the command won\u0027t be repeated until another command\n  completes which usually is a very long time cpu-wise.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "854c73a2f1c3bcc4aa88c25e208dc597e8efb795",
      "tree": "210569f3c4fa4f9413ceb0bc3fcf89648a9894b2",
      "parents": [
        "c78968bb0f7714ceba1cdfa23714454fc98cefdf"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Sep 23 13:14:11 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:40 2007 -0400"
      },
      "message": "libata: misc updates for AN\n\nUpdate AN support in preparation of PMP support.\n\n* s/ata_id_has_AN/ata_id_has_atapi_AN/\n* add AN enabled reporting during configuration\n* add err_mask to AN configuration failure reporting\n* update LOCKING comment for ata_scsi_media_change_notify()\n* check whether ATA dev is attached to SCSI dev ata_scsi_media_change_notify()\n* set ATA_FLAG_AN in ahci and sata_sil24\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Kriten Carlson Accardi \u003ckristen.c.accardi@intel.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "c78968bb0f7714ceba1cdfa23714454fc98cefdf",
      "tree": "cbf066559205ce0d00829c74a406f3a2140623e4",
      "parents": [
        "24f756866676b40446e361c1f87738707161da93"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Sep 21 21:03:28 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:40 2007 -0400"
      },
      "message": "[libata] SCSI: simulator version, not device version, belongs in VPD\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "24f756866676b40446e361c1f87738707161da93",
      "tree": "2709ec5b4bb5f0e9c980621e7a1a2b97bdcd7a93",
      "parents": [
        "00bd02027fc4a5cf92a3e538896b3642b40515df"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Sep 21 07:54:49 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:40 2007 -0400"
      },
      "message": "[libata] SCSI: clean up R/W recovery mode page\n\nClear ARRE, we don\u0027t do auto-reallocation on reads, just on writes.\n\nAlso, hardcode the size of the array using RW_RECOVERY_MPAGE_LEN,\nfollowing the style of the surrounding code.\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "00bd02027fc4a5cf92a3e538896b3642b40515df",
      "tree": "e5e2a72a467577a5a65be5886f96039c2f62a8af",
      "parents": [
        "453941455218a81eedcea5dbafa38b8815920a8c"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Sep 21 07:26:08 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:40 2007 -0400"
      },
      "message": "[libata] SCSI: improve FORMAT UNIT; minor code cleanups\n\n* SAT specifies that FORMAT UNIT should be translated into a series\n  of READ and WRITE commands that zero the ATA device.  That is far too\n  cumbersome to bother with.\n\n  Since we don\u0027t actually format the device, the old behavior of\n  always returning success was inaccurate.  Change FORMAT UNIT from\n  returning success immediately (old behavior) to always returning\n  an error (new behavior).\n\n* Add some comments around SYNCHRONIZE CACHE\n\n* Shuffle scsi command code around a bit, so that things are close\n  to alphabetic order.\n\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "453941455218a81eedcea5dbafa38b8815920a8c",
      "tree": "b2f21afae3beb39da13f089c02f0f09bfc4de697",
      "parents": [
        "ad355b4628a19ba2af30409e13083edda221a5c9"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Sep 21 06:23:42 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:40 2007 -0400"
      },
      "message": "[libata] Slightly improved no-op REQUEST SENSE, SEND DIAGNOSTIC\n\nA few pedantic apps care about missing or lame \"mandatory\" SCSI\ncommands, so\n\nREQUEST SENSE -- as we autosense, R.S. just returns zeroes\n\nSEND DIAGNOSTIC -- our default (no-op) self-test succeeds, all\n\t\t   other requests for testing fail.\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    }
  ],
  "next": "ad355b4628a19ba2af30409e13083edda221a5c9"
}
