)]}'
{
  "log": [
    {
      "commit": "95bb335c0ebe96afe926387a1ef3a096bd884a82",
      "tree": "56115332b4f2f7ef300c36248a6a7d20db2e639d",
      "parents": [
        "1b4d0d8ea7b3cbd107f345ab766416f9b38ce66a",
        "9cccde93fed1ca988eb2fb17ab9194bf7b5ed1b0"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Tue May 18 10:33:43 2010 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Tue May 18 10:37:41 2010 -0400"
      },
      "message": "[SCSI] Merge scsi-misc-2.6 into scsi-rc-fixes-2.6\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "c213e1407be6b04b144794399a91472e0ef92aec",
      "tree": "008bd8d7c0840c29bac8bf159850ab317043c4eb",
      "parents": [
        "5447ed6c968e7270b656afa273c2b79d15d82edd"
      ],
      "author": {
        "name": "Hannes Reinecke",
        "email": "hare@suse.de",
        "time": "Tue May 04 16:49:21 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed May 05 12:13:26 2010 -0400"
      },
      "message": "[SCSI] Enable retries for SYNCRONIZE_CACHE commands to fix I/O error\n\nSome arrays are giving I/O errors with ext3 filesystems when\nSYNCHRONIZE_CACHE gets a UNIT_ATTENTION.  What is happening is that\nthese commands have no retries, so the UNIT_ATTENTION causes the\nbarrier to fail.  We should be enable retries here to clear any\ntransient error and allow the barrier to succeed.\n\nSigned-off-by: Hannes Reinecke \u003chare@suse.de\u003e\nCc: Stable Tree \u003cstable@kernel.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "3233ac19811fe17033b537832ca7b59df8bf4aa9",
      "tree": "33c316cf6821d8c3a98624266324d318d50c47fb",
      "parents": [
        "1469585309bb52869cbaa449c6d2cd1ce9869cca"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Apr 01 10:30:01 2010 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Apr 11 13:36:26 2010 -0500"
      },
      "message": "[SCSI] sd: retry read_capacity on UNIT_ATTENTION\n\nHazard testing uncovered yet another bug in sd. Under heavy reset\nactivity the retry counter might be exhausted and the command will be\nreturned with sense UNIT_ATTENTION/0x29/00 (POWER ON, RESET, OR BUS\nDEVICE RESET OCCURRED). In those cases we should just increase the\nretry counter again, retrying one more to clear up this Unit Attention\nstate.\n\n[jejb: update to work with RC16 devices and not to loop endlessly]\nSigned-off-by: Hannes Reinecke \u003chare@suse.de\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "f87146bba523cad0196aa8e80ca9e8243d7a6c0c",
      "tree": "87cc2f1a1dd4cc1771baab020d68bcb0a32de688",
      "parents": [
        "457549da730ec43bdc594ec7b475464b9d52a15f"
      ],
      "author": {
        "name": "Hannes Reinecke",
        "email": "hare@suse.de",
        "time": "Mon Mar 29 09:29:24 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Apr 11 13:25:06 2010 -0500"
      },
      "message": "[SCSI] sd: quiet spurious error messages in READ_CAPACITY(16)\n\nsd always tries to submit a READ_CAPACITY(16) CDB,\nregardless whether the host actually supports it.\nqueuecommand() will then return DID_ABORT, which is\nnot qualified enough to detect the true cause here.\nSo better check in sd_try_rc16 first if the cdblen\nis supported.\n\nSigned-off-by: Hannes Reinecke \u003chare@suse.de\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "2f4084209adc77f9a1c9f38db3019a509e167882",
      "tree": "775657114c885505ecc46605e29ea1470e986f76",
      "parents": [
        "2f10ffcfb28beb35137d9e86992c771b4a6c5f2a",
        "3440c49f5c5ecb4f29b0544aa87da71888404f8f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 09 11:50:29 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 09 11:50:29 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block: (34 commits)\n  cfq-iosched: Fix the incorrect timeslice accounting with forced_dispatch\n  loop: Update mtime when writing using aops\n  block: expose the statistics in blkio.time and blkio.sectors for the root cgroup\n  backing-dev: Handle class_create() failure\n  Block: Fix block/elevator.c elevator_get() off-by-one error\n  drbd: lc_element_by_index() never returns NULL\n  cciss: unlock on error path\n  cfq-iosched: Do not merge queues of BE and IDLE classes\n  cfq-iosched: Add additional blktrace log messages in CFQ for easier debugging\n  i2o: Remove the dangerous kobj_to_i2o_device macro\n  block: remove 16 bytes of padding from struct request on 64bits\n  cfq-iosched: fix a kbuild regression\n  block: make CONFIG_BLK_CGROUP visible\n  Remove GENHD_FL_DRIVERFS\n  block: Export max number of segments and max segment size in sysfs\n  block: Finalize conversion of block limits functions\n  block: Fix overrun in lcm() and move it to lib\n  vfs: improve writeback_inodes_wb()\n  paride: fix off-by-one test\n  drbd: fix al-to-on-disk-bitmap for 4k logical_block_size\n  ...\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": "b4b7a4ef097f288f724420b473dbf92a89c0ab7e",
      "tree": "23ad8101e3e77c32a8d1e1b95a9c1cd7f7a475b7",
      "parents": [
        "e9ce335df51ff782035a15c261a3c0c9892a1767",
        "a3d3203e4bb40f253b1541e310dc0f9305be7c84"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Mar 19 08:05:10 2010 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Mar 19 08:05:10 2010 +0100"
      },
      "message": "Merge branch \u0027master\u0027 into for-linus\n\nConflicts:\n\tblock/Kconfig\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "961cde93dee2658000ead32abffb8ddf0727abe0",
      "tree": "2419e204132abe2ec2bb7f08bd20042573cc9bd6",
      "parents": [
        "f82c37e7bb4c4d9b6a476c642d5c2d2efbd6f240",
        "0d9dc7c8b9b7fa0f53647423b41056ee1beed735"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 18 16:54:31 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 18 16:54:31 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (69 commits)\n  [SCSI] scsi_transport_fc: Fix synchronization issue while deleting vport\n  [SCSI] bfa: Update the driver version to 2.1.2.1.\n  [SCSI] bfa: Remove unused header files and did some cleanup.\n  [SCSI] bfa: Handle SCSI IO underrun case.\n  [SCSI] bfa: FCS and include file changes.\n  [SCSI] bfa: Modified the portstats get/clear logic\n  [SCSI] bfa: Replace bfa_get_attr() with specific APIs\n  [SCSI] bfa: New portlog entries for events (FIP/FLOGI/FDISC/LOGO).\n  [SCSI] bfa: Rename pport to fcport in BFA FCS.\n  [SCSI] bfa: IOC fixes, check for IOC down condition.\n  [SCSI] bfa: In MSIX mode, ignore spurious RME interrupts when FCoE ports are in FW mismatch state.\n  [SCSI] bfa: Fix Command Queue (CPE) full condition check and ack CPE interrupt.\n  [SCSI] bfa: IOC recovery fix in fcmode.\n  [SCSI] bfa: AEN and byte alignment fixes.\n  [SCSI] bfa: Introduce a link notification state machine.\n  [SCSI] bfa: Added firmware save clear feature for BFA driver.\n  [SCSI] bfa: FCS authentication related changes.\n  [SCSI] bfa: PCI VPD, FIP and include file changes.\n  [SCSI] bfa: Fix to copy fpma MAC when requested by user space application.\n  [SCSI] bfa: RPORT state machine: direct attach mode fix.\n  ...\n"
    },
    {
      "commit": "97fedbbe1046b3118f49df249840ca21041eefe4",
      "tree": "d888fb0e15600a9bfd08706cee144f2b179e6070",
      "parents": [
        "c77a5710b7e23847bfdb81fcaa10b585f65c960a"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 16 08:55:32 2010 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Mar 16 08:55:32 2010 +0100"
      },
      "message": "Remove GENHD_FL_DRIVERFS\n\nThis flag is not used, so best discarded.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n--\nHi Jens,\n I came across this recently - these are the only two occurances\n of \"GENHD_FL_DRIVERFS\" in the kernel, so it cannot be needed.\nNeilBrown\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "318ae2edc3b29216abd8a2510f3f80b764f06858",
      "tree": "ce595adde342f57f379d277b25e4dd206988a052",
      "parents": [
        "25cf84cf377c0aae5dbcf937ea89bc7893db5176",
        "3e58974027b04e84f68b964ef368a6cd758e2f84"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "message": "Merge branch \u0027for-next\u0027 into for-linus\n\nConflicts:\n\tDocumentation/filesystems/proc.txt\n\tarch/arm/mach-u300/include/mach/debug-macro.S\n\tdrivers/net/qlge/qlge_ethtool.c\n\tdrivers/net/qlge/qlge_main.c\n\tdrivers/net/typhoon.c\n"
    },
    {
      "commit": "bb2d3de1885cd69a5fc92af99c4e0c05eb5fc122",
      "tree": "b791b04ce30406124aff45ed73966572f2955708",
      "parents": [
        "74315ad00b8ed41e9f97fe322942fa9883517ed1"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Tue Mar 02 08:44:34 2010 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Mar 03 19:13:16 2010 +0530"
      },
      "message": "[SCSI] sd: Fix VPD buffer allocations\n\nCommit e3deec09 incorrectly assumed that the B0 and B1 page lengths were\nlimited to 32 bytes.  The B0 VPD page length is defined to be 64 bytes\nwhen the device supports thin provisioning.  B1 is always defined to be\n64 bytes.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nReported-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "77c9cfc51b0d732b2524799810fb30018074fd60",
      "tree": "3f017828710e8bab9e172204a2ef5f2e9544d379",
      "parents": [
        "8475f688d796b875bf98ed161acd53d00a1483ff"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Wed Jan 20 02:20:43 2010 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Feb 19 11:15:33 2010 -0600"
      },
      "message": "[SCSI] Fix printing of failed 32-byte commands\n\nHaving the large CDB allocation logic in sd.c means that\nscsi_io_completion does not have access to the command buffer. That in\nturn causes garbage to be printed when a 32-byte command fails. Move the\ncommand printing to sd_done where the command buffer is intact.  Clear\nthe command buffer pointer after the extended CDB has been freed.\n\nMake scsi_print_command ignore commands with NULL CDB pointers to\ninhibit printing of garbled command strings.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nReviewed-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "3ad2f3fbb961429d2aa627465ae4829758bc7e07",
      "tree": "f365c513e8f5b477a61336a600ff54f32b7ad6e1",
      "parents": [
        "1537a3638cbf741d3826c1002026cce487a6bee0"
      ],
      "author": {
        "name": "Daniel Mack",
        "email": "daniel@caiaq.de",
        "time": "Wed Feb 03 08:01:28 2010 +0800"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Feb 09 11:13:56 2010 +0100"
      },
      "message": "tree-wide: Assorted spelling fixes\n\nIn particular, several occurances of funny versions of \u0027success\u0027,\n\u0027unknown\u0027, \u0027therefore\u0027, \u0027acknowledge\u0027, \u0027argument\u0027, \u0027achieve\u0027, \u0027address\u0027,\n\u0027beginning\u0027, \u0027desirable\u0027, \u0027separate\u0027 and \u0027necessary\u0027 are fixed.\n\nSigned-off-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Junio C Hamano \u003cgitster@pobox.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "fa4698fcf59c3bd01c171e5e558bae9e8eb396f1",
      "tree": "7c50e3c7d94ed1c855de23bf39b66f51e018661b",
      "parents": [
        "d44a6d2bbffd9e5c87f0a78cbe9c089e21289162"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Mon Jan 18 18:43:18 2010 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Mon Feb 08 18:30:39 2010 -0600"
      },
      "message": "[SCSI] sd: Combine DIF/DIX error handling\n\nDIF and DIX errors are handled identically at this point.  Collapse the\nswitch cases into one and let scsi_io_completion print result and sense\ndata.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "e3deec090558d5cb5ffdc574e5560f3ed9723394",
      "tree": "c76a5e26a3e08598ada0a2de34adcdf714aa7168",
      "parents": [
        "534ef056db8a8fb6b9d50188d88ed5d1fbc66673"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Tue Nov 03 12:33:07 2009 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Mon Jan 18 10:48:05 2010 -0600"
      },
      "message": "[SCSI] eliminate potential kmalloc failure in scsi_get_vpd_page()\n\nThe best way to fix this is to eliminate the intenal kmalloc() and\nmake the caller allocate the required amount of storage.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "e339c1a7c09ef736dca7b3a4353c7742557d9f8f",
      "tree": "60f7bc7c1867f180262dab01cc8c047967d728cd",
      "parents": [
        "cc9b2e9f6603190c009e5d2629ce8e3f99571346"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Thu Nov 26 12:00:40 2009 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Dec 10 08:54:15 2009 -0600"
      },
      "message": "[SCSI] sd: WRITE SAME(16) / UNMAP support\n\nImplement a function for handling discard requests that sends either\nWRITE SAME(16) or UNMAP(10) depending on parameters indicated by the\ndevice in the block limits VPD.\n\nExtract unmap constraints and report them to the block layer.\n\nBased in part by a patch by Christoph Hellwig \u003chch@lst.de\u003e.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "4e7392ec582cf06753b0969ca9ab959923e38493",
      "tree": "b630b857bd004612c14d4abe622c082b975e22fe",
      "parents": [
        "b4c2554d40ceac130a8d062eaa8838ed22158c45"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Sun Sep 20 16:49:38 2009 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Oct 02 09:47:04 2009 -0500"
      },
      "message": "[SCSI] sd: Support disks formatted with DIF Type 2\n\nDisks formatted with DIF Type 2 reject READ/WRITE 6/10/12/16 commands\nwhen protection is enabled.  Only the 32-byte variants are supported.\n\nImplement support for issusing 32-byte READ/WRITE and enable Type 2\ndrives in the protection type detection logic.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "35e1a5d90b66487d754ef2f2dcbf1007f806d921",
      "tree": "964511498993ed8fe0c1604ab74ac7a3db9361ba",
      "parents": [
        "c6af404215bab0d333accbb497f835d10cb0050c"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri Sep 18 17:33:00 2009 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Oct 02 09:46:39 2009 -0500"
      },
      "message": "[SCSI] sd: Detach DIF from block integrity infrastructure\n\nSo far we have only issued DIF commands if CONFIG_BLK_DEV_INTEGRITY is\nenabled.  However, communication between initiator and target should be\nindependent of protection information DMA.  There are DIF-only host\nadapters coming out that will be able to take advantage of this.\n\nMove the relevant DIF bits to sd.c.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "83d5cde47dedf01b6a4a4331882cbc0a7eea3c2e",
      "tree": "f8ba5e263717d35cd444fcc65898d2ed352af1ae",
      "parents": [
        "7b021967c5e1463936042c8da72b550d3cabe9ac"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 21 17:01:13 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:25 2009 -0700"
      },
      "message": "const: make block_device_operations const\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ea038f63ac52439e7816295fa6064fe95e6c1f51",
      "tree": "f25fc6e33d6804726aca75bc32bfcb9fd0c9a6b1",
      "parents": [
        "afffd3dabe5209882c8cc59a373a4d33b5db304a"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Aug 21 09:47:54 2009 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Sep 12 09:35:34 2009 -0500"
      },
      "message": "[SCSI] fix oops during scsi scanning\n\nChris Webb reported:\n  p0# uname -a\n  Linux f7ea8425-d45b-490f-a738-d181d0df6963.host.elastichosts.com 2.6.30.4-elastic-lon-p #2 SMP PREEMPT Thu Aug 20 14:30:50 BST 2009 x86_64 Intel(R) Xeon(R) CPU E5420 @ 2.50GHz GenuineIntel GNU/Linux\n  p0# zgrep SCAN_ASYNC /proc/config.gz\n  # CONFIG_SCSI_SCAN_ASYNC is not set\n\n  p0# cat /var/log/kern/2009-08-20\n  [...]\n  15:27:10.485 kernel: scsi9 : iSCSI Initiator over TCP/IP\n  15:27:11.493 kernel: scsi 9:0:0:0: RAID              IET      Controller       0001 PQ: 0 ANSI: 5\n  15:27:11.493 kernel: scsi 9:0:0:0: Attached scsi generic sg6 type 12\n  15:27:11.495 kernel: scsi 9:0:0:1: Direct-Access     IET      VIRTUAL-DISK     0001 PQ: 0 ANSI: 5\n  15:27:11.495 kernel: sd 9:0:0:1: Attached scsi generic sg7 type 0\n  15:27:11.495 kernel: sd 9:0:0:1: [sdg] 4194304 512-byte hardware sectors: (2.14 GB/2.00 GiB)\n  15:27:11.495 kernel: sd 9:0:0:1: [sdg] Write Protect is off\n  15:27:11.495 kernel: sd 9:0:0:1: [sdg] Write cache: disabled, read cache: enabled, doesn\u0027t support DPO or FUA\n  15:27:13.012 kernel: sdg:\u003c6\u003escsi 9:0:0:1: [sdg] Unhandled error code\n  15:27:13.012 kernel: scsi 9:0:0:1: [sdg] Result: hostbyte\u003d0x07 driverbyte\u003d0x00\n  15:27:13.012 kernel: end_request: I/O error, dev sdg, sector 0\n  15:27:13.012 kernel: Buffer I/O error on device sdg, logical block 0\n  15:27:13.012 kernel: ldm_validate_partition_table(): Disk read failed.\n  15:27:13.012 kernel: unable to read partition table\n  15:27:13.014 kernel: BUG: unable to handle kernel NULL pointer dereference at 0000000000000010\n  15:27:13.014 kernel: IP: [\u003cffffffff803f0d77\u003e] disk_part_iter_next+0x74/0xfd\n  15:27:13.014 kernel: PGD 82ad0b067 PUD 82cd7e067 PMD 0 \n  15:27:13.014 kernel: Oops: 0000 [#1] PREEMPT SMP \n  15:27:13.014 kernel: last sysfs file: /sys/devices/platform/host9/session4/iscsi_session/session4/ifacename\n  15:27:13.014 kernel: CPU 5 \n  15:27:13.014 kernel: Modules linked in:\n  15:27:13.014 kernel: Pid: 13999, comm: async/0 Not tainted 2.6.30.4-elastic-lon-p #2 X7DBN\n  15:27:13.014 kernel: RIP: 0010:[\u003cffffffff803f0d77\u003e]  [\u003cffffffff803f0d77\u003e] disk_part_iter_next+0x74/0xfd\n  15:27:13.014 kernel: RSP: 0018:ffff88066afa3dd0  EFLAGS: 00010246\n  15:27:13.014 kernel: RAX: ffff88082b58a000 RBX: ffff88066afa3e00 RCX: 0000000000000000\n  15:27:13.014 kernel: RDX: 0000000000000000 RSI: ffff88082b58a000 RDI: 0000000000000000\n  15:27:13.014 kernel: RBP: ffff88066afa3df0 R08: ffff88066afa2000 R09: ffff8806a204f000\n  15:27:13.014 kernel: R10: 000000fb12c7d274 R11: ffff8806c2bf0628 R12: ffff88066afa3e00\n  15:27:13.014 kernel: R13: ffff88082c829a00 R14: 0000000000000000 R15: ffff8806bc50c920\n  15:27:13.014 kernel: FS:  0000000000000000(0000) GS:ffff88002818a000(0000) knlGS:0000000000000000\n  15:27:13.014 kernel: CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b\n  15:27:13.014 kernel: CR2: 0000000000000010 CR3: 000000082ade3000 CR4: 00000000000426e0\n  15:27:13.014 kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n  15:27:13.014 kernel: DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n  15:27:13.014 kernel: Process async/0 (pid: 13999, threadinfo ffff88066afa2000, task ffff8806c2bf05e0)\n  15:27:13.014 kernel: Stack:\n  15:27:13.014 kernel: 0000000000000000 ffff88066afa3e00 ffff88066afa3e00 ffff88082c829a00\n  15:27:13.014 kernel: ffff88066afa3e40 ffffffff80306feb ffff88082b58a000 0000000000000000\n  15:27:13.014 kernel: 0000000000000001 ffff8806bc50c920 ffff88066afa3e40 ffff88082b58a000\n  15:27:13.014 kernel: Call Trace:\n  15:27:13.014 kernel: [\u003cffffffff80306feb\u003e] register_disk+0x122/0x13a\n  15:27:13.014 kernel: [\u003cffffffff803f0b0f\u003e] add_disk+0xaa/0x106\n  15:27:13.014 kernel: [\u003cffffffff80493609\u003e] sd_probe_async+0x198/0x25b\n  15:27:13.014 kernel: [\u003cffffffff80270482\u003e] async_thread+0x10c/0x20d\n  15:27:13.014 kernel: [\u003cffffffff802545ff\u003e] ? default_wake_function+0x0/0xf\n  15:27:13.014 kernel: [\u003cffffffff80270376\u003e] ? async_thread+0x0/0x20d\n  15:27:13.014 kernel: [\u003cffffffff8026ad89\u003e] kthread+0x55/0x80\n  15:27:13.014 kernel: [\u003cffffffff8022be6a\u003e] child_rip+0xa/0x20\n  15:27:13.014 kernel: [\u003cffffffff8026ad34\u003e] ? kthread+0x0/0x80\n  15:27:13.014 kernel: [\u003cffffffff8022be60\u003e] ? child_rip+0x0/0x20\n  15:27:13.014 kernel: Code: c8 ff 80 e1 0c b9 00 00 00 00 0f 44 c1 41 83 cd ff 48 8d 7a 20 48 be ff ff ff ff 08 00 00 00 48 b9 00 00 00 00 08 00 00 00 eb 50 \u003c8b\u003e 42 10 41 bd 01 00 00 00 eb db 4c 63 c2 4e 8d 04 c7 4d 8b 20 \n  15:27:13.015 kernel: RIP  [\u003cffffffff803f0d77\u003e] disk_part_iter_next+0x74/0xfd\n  15:27:13.015 kernel: RSP \u003cffff88066afa3dd0\u003e\n  15:27:13.015 kernel: CR2: 0000000000000010\n  15:27:13.015 kernel: ---[ end trace 6104b56ef5590e25 ]---\n\nThe problem is caused because the async scanning split in sd.c doesn\u0027t hold\nany reference to the device when it kicks off the async piece.  What\u0027s\nhappening is that an iSCSI disconnect is destorying the device again *before*\nthe async sd scanning thread even starts.  Fix this by taking a reference\nbefore starting the thread and dropping it again when the thread completes.\n\nReported-by: Chris Webb \u003cchris@arachsys.com\u003e\nCc: Stable Tree \u003cstable@kernel.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "ffd4bc2a984fab40ed969163efdff321490e8032",
      "tree": "4e2cfd73dbf40c08094e134777bc6c0038f227de",
      "parents": [
        "19252de6818ced0def0551d64a0a2975f52a523d"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Wed Jul 29 14:06:53 2009 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Thu Jul 30 11:37:50 2009 -0500"
      },
      "message": "[SCSI] sd: Avoid sending extended inquiry to legacy devices\n\nSome USB devices crash when we send them an inquiry with the EVPD bit\nset, regardless of page requested (i.e. including page 0).\n\nWe only need the extended inquiry to gain access to VPD pages 0xB0 and\n0xB1.  These appeared in SBC2 and SBC3 respectively, so we can restrict\nsending the extended inquiry to devices reporting SPC3 or higher.\n\nThis fixes bugzilla.kernel.org #13657.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\n[jejb: added comment]\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "b391277a56b9eaaff4474339c703e574ed7fab5b",
      "tree": "81964fbb0a7582e110a0dc06b4ddfce8508c1bd3",
      "parents": [
        "24add1c4326ce5ca22e7af8b84bb113cd48efac9"
      ],
      "author": {
        "name": "Hannes Reinecke",
        "email": "hare@suse.de",
        "time": "Thu Jun 18 09:57:18 2009 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Jun 21 12:01:27 2009 -0500"
      },
      "message": "sd, sr: fix Driver \u0027sd\u0027 needs updating message\n\nIf a SCSI ULD driver sets blk_queue_prep_rq(), it should clean it\nup itself on remove(), and not from the bus callbacks. This\nremoves the need to hook into bus-\u003eremove(), which should not\nbe used at the same time as driver-\u003eremove().\n\n[jejb: fix sdkp initialisation problem due to mismerge]\nSigned-off-by: Hannes Reinecke \u003chare@suse.de\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "d11b6916961d6ec7d7215332cbbe9feec086721d",
      "tree": "152bdf47fbf1cc1604e79748655dfddfe8f74ce7",
      "parents": [
        "3821d768912a47ddbd6cab52943a8284df88003c"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Sat May 23 11:43:39 2009 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Jun 21 10:52:38 2009 -0500"
      },
      "message": "sd: Block limits VPD support\n\nQuery the block limits VPD page and adjust queue minimum and optimal I/O\nsizes.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "3821d768912a47ddbd6cab52943a8284df88003c",
      "tree": "f4097861eae7aa84b8accf2a2da34d173207c8a0",
      "parents": [
        "ea09bcc9c298d3057270abd78a973fc678d55c4c"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Sat May 23 11:43:38 2009 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Jun 21 10:52:38 2009 -0500"
      },
      "message": "sd: Detect non-rotational devices\n\nDetect non-rotational devices and set the queue flag accordingly.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "ea09bcc9c298d3057270abd78a973fc678d55c4c",
      "tree": "35764eeb8325f03c29b2da115290c06c9f8303ab",
      "parents": [
        "c277331d5fbaae5772ed19862feefa91f4e477d3"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Sat May 23 11:43:37 2009 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Jun 21 10:52:37 2009 -0500"
      },
      "message": "sd: Physical block size and alignment support\n\nExtract physical block size and lowest aligned LBA from READ\nCAPACITY(16) response and adjust queue parameters.\n\nReport physical block size and alignment when applicable.\n\n[jejb: fix up trailing whitespace]\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "82681a318f9f028ea64e61f24bbd9ac535531921",
      "tree": "529b6a5b4fd040fb54b7672b1a224ebd47445876",
      "parents": [
        "3860c97bd60a4525bb62eb90e3e7d2f02662ac59",
        "8ebf975608aaebd7feb33d77f07ba21a6380e086"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Jun 12 10:02:03 2009 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Jun 12 10:02:03 2009 -0500"
      },
      "message": "[SCSI] Merge branch \u0027linus\u0027\n\nConflicts:\n\tdrivers/message/fusion/mptsas.c\n\nfixed up conflict between req-\u003edata_len accessors and mptsas driver updates.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "601e7638254c118fca135af9b1a9f35061420f62",
      "tree": "61b883be6901e4c994c5b472959e91ebdb267d6f",
      "parents": [
        "91bc31fb3bae4e55832c7c39d4f9c193285e6ab2"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Tue May 26 20:35:48 2009 +0000"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Mon Jun 08 13:00:13 2009 -0500"
      },
      "message": "[SCSI] sd: fix bug in SCSI async probing\n\nThe async split up of probing in sd.c created a potential failure case where\nsomething goes wrong with device_add(), but which we don\u0027t recover properly.\nSince, in general, asynchronous error handling is hard, move the device_add()\ninto the asynchronous path (it should be fast) and make sure all the deferred\nprocessing cannot fail.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "e1defc4ff0cf57aca6c5e3ff99fa503f5943c1f1",
      "tree": "d60d15a082171c58ac811d547d51a9c3119f23e3",
      "parents": [
        "9bd7de51ee8537094656149eaf45338cadb7d7d4"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri May 22 17:17:49 2009 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 22 23:22:54 2009 +0200"
      },
      "message": "block: Do away with the notion of hardsect_size\n\nUntil now we have had a 1:1 mapping between storage device physical\nblock size and the logical block sized used when addressing the device.\nWith SATA 4KB drives coming out that will no longer be the case.  The\nsector size will be 4KB but the logical block size will remain\n512-bytes.  Hence we need to distinguish between the physical block size\nand the logical ditto.\n\nThis patch renames hardsect_size to logical_block_size.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.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": "83096ebf1263b2c1ee5e653ba37d993d02e3eb7b",
      "tree": "2226b71a616ec1cb2d37511c6a09ba9507a1cd69",
      "parents": [
        "5b93629b4509c03ffa87a9316412fedf6f58cb37"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu May 07 22:24:39 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 09:50:54 2009 +0200"
      },
      "message": "block: convert to pos and nr_sectors accessors\n\nWith recent cleanups, there is no place where low level driver\ndirectly manipulates request fields.  This means that the \u0027hard\u0027\nrequest fields always equal the !hard fields.  Convert all\nrq-\u003esectors, nr_sectors and current_nr_sectors references to\naccessors.\n\nWhile at it, drop superflous blk_rq_pos() \u003c 0 test in swim.c.\n\n[ Impact: use pos and nr_sectors accessors ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nTested-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nTested-by: Adrian McMenamin \u003cadrian@mcmen.demon.co.uk\u003e\nAcked-by: Adrian McMenamin \u003cadrian@mcmen.demon.co.uk\u003e\nAcked-by: Mike Miller \u003cmike.miller@hp.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nCc: Borislav Petkov \u003cpetkovbb@googlemail.com\u003e\nCc: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nCc: Eric Moore \u003cEric.Moore@lsi.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Pete Zaitcev \u003czaitcev@redhat.com\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Paul Clements \u003cpaul.clements@steeleye.com\u003e\nCc: Tim Waugh \u003ctim@cyberelk.net\u003e\nCc: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Alex Dubov \u003coakad@yahoo.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Dario Ballabio \u003cballabio_dario@emc.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: unsik Kim \u003cdonari75@gmail.com\u003e\nCc: Laurent Vivier \u003cLaurent@lvivier.info\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "8f76d151b010980d137bfdc736d1d8f64b489165",
      "tree": "b8e1f221b37f091eea027032d81a2ac2aea33ab9",
      "parents": [
        "dd406ef8950e76b17d74c5764a1e3d3a87d4a855"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Tue Apr 21 16:43:27 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Mon Apr 27 10:36:07 2009 -0500"
      },
      "message": "[SCSI] fix sign extension with 1.5TB usb-storage LBD\u003dy\n\nShifting an unsigned char implicitly casts it to a signed int.  This\ncaused \u0027lba\u0027 to sign-extend and Linux would then try READ CAPACITY 16\nwhich was not supported by at least one drive.  Using the\nget_unaligned_be*() helpers keeps us from having to worry about how the\nextension might occur.\n\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nReviewed-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "a9bddd74630b2a1f2dedc537417c372b2d9edc76",
      "tree": "d086a3d0770536bc0910ea9ad9eb4a35be273848",
      "parents": [
        "a2f5bfcf711aa72ad5587b533a1909334c2533a4"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Mon Mar 30 16:55:51 2009 +0000"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 03 09:22:55 2009 -0500"
      },
      "message": "[SCSI] fix recovered error handling\n\nWe have a problem with recovered error handling in that any command\nwhich goes down as BLOCK_PC but which returns a sense code of RECOVERED\nERROR gets completed with -EIO.  For actual SG_IO commands, this doesn\u0027t\nmatter at all, since the error return code gets dropped in favour of\nreq-\u003eerrors which contain the SCSI completion code.\n\nHowever, if this command is part of the block system, then it will pay\nattention to the returned error code.  In particularly if a SYNCHRONIZE\nCACHE from a barrier command completes with RECOVERED ERROR, the\nresulting -EIO on the barrier causes block to error the request and\nreturn it to the filesystem.  Fix this by converting the -EIO for\nrecovered error to zero, plus remove the printing of this from sd and sr\nso the message isn\u0027t double printed.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "70a9b8734660698eb91efb8947a9e691d40235e1",
      "tree": "cd0e464836c37b675ed57e9a0ff89522e031748b",
      "parents": [
        "2b301307f63dbecf06d91f58f003c7fb7addee24"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Mon Mar 09 11:33:31 2009 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Tue Mar 17 21:43:52 2009 -0400"
      },
      "message": "[SCSI] sd: Make revalidate less chatty\n\nsd_revalidate ends up being called several times during device setup.\nWith this patch we print everything during the first scan.  Subsequent\ninvocations will only print a message if the parameter in question has\nactually changed (LUN capacity has increased, etc.).\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "2b301307f63dbecf06d91f58f003c7fb7addee24",
      "tree": "e6dee7552a0c52124a537e6db74ddce940443554",
      "parents": [
        "0da205e01bc58cfad660659e3c901223d3596c57"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Thu Mar 12 14:20:30 2009 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Tue Mar 17 21:43:29 2009 -0400"
      },
      "message": "[SCSI] sd: Try READ CAPACITY 16 first for SBC-2 devices\n\nNew features are being added to the READ CAPACITY 16 results, so we\nwant to issue it in preference to READ CAPACITY 10.  Unfortunately, some\ndevices misbehave when they see a READ CAPACITY 16, so we restrict this\ncommand to devices which claim conformance to SPC-3 (aka SBC-2), or claim\nthey have features which are only reported in the READ CAPACITY 16 data.\n\nThe READ CAPACITY 16 command is optional, even for SBC-2 devices, so\nwe fall back to READ CAPACITY 10 if READ CAPACITY 16 fails.\n\n[jejb: don\u0027t error if device supports SBC-2 but doesn\u0027t support RC16]\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nTested-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "0da205e01bc58cfad660659e3c901223d3596c57",
      "tree": "3f199f3badd8148dd035f058580eb8870b1a0fec",
      "parents": [
        "635374e7eb110e80d9918b8611198edd56a32975"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Thu Mar 12 14:20:29 2009 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Mar 14 08:42:56 2009 -0500"
      },
      "message": "[SCSI] sd: Refactor sd_read_capacity()\n\nThe sd_read_capacity() function was about 180 lines long and\nincluded a backwards goto and a tricky state variable.  Splitting out\nread_capacity_10() and read_capacity_16() (about 50 lines each) reduces\nsd_read_capacity to about 100 lines and gets rid of the backwards goto\nand the state variable.  I\u0027ve tried to avoid any behaviour change with\nthis patch.\n\n[jejb: upped transfer request to standard recommended 32 for RC16]\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "5c211caa9f341f9eefbda89436d1440d1eccb3bc",
      "tree": "4f7204ebacf152ea7057dce984c1db550dbce763",
      "parents": [
        "b3f1f9aa082b2ab86dec4db3d8b1566af345387e"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Feb 18 10:54:44 2009 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Thu Mar 12 12:58:15 2009 -0500"
      },
      "message": "[SCSI] sd: tell the user when a disk\u0027s capacity is adjusted\n\nThis patch (as1188) combines the tests for decrementing a drive\u0027s\nreported capacity and expands the comment.  It also adds an\ninformational message to the system log, informing the user when the\nreported value has been changed.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "33dd6f92a1a7ad85c54d47fd9d73371a32c0bde4",
      "tree": "8390e0a43bac01b4e393d9ec35b8a58823e98da4",
      "parents": [
        "559595a985e106d2fa9f0c79b7f5805453fed593"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Feb 20 06:53:48 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Thu Mar 05 10:34:37 2009 -0600"
      },
      "message": "[SCSI] sd: Don\u0027t try to spin up drives that are connected to an inactive port\n\nWe currently try to spin up drives connected to standby and unavailable\nports.  This will never succeed and wastes a lot of time.  Fail quickly\nif the sense data reports the port is in standby or unavailable state.\n\nReported-by: Narayanan Rengarajan \u003cnarayanan.rengarajan@hp.com\u003e\nTested-by: Narayanan Rengarajan \u003cnarayanan.rengarajan@hp.com\u003e\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "4034cc68157bfa0b6622efe368488d3d3e20f4e6",
      "tree": "525106f6783eeb533df8b1e9feacd7457042d1d9",
      "parents": [
        "b7e7bd34465518f3527bf47a8055f35077d40c6c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sat Feb 21 11:04:45 2009 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Feb 21 20:29:38 2009 -0600"
      },
      "message": "[SCSI] sd: revive sd_index_lock\n\nCommit f27bac2761cab5a2e212dea602d22457a9aa6943 which converted sd to\nuse ida instead of idr incorrectly removed sd_index_lock around id\nallocation and free.  idr/ida do have internal locks but they protect\ntheir free object lists not the allocation itself.  The caller is\nresponsible for that.  This missing synchronization led to the same id\nbeing assigned to multiple devices leading to oops.\n\nReported and tracked down by Stuart Hayes of Dell.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Stable Tree \u003cstable@kernel.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "cd764695b67386a81964f68e9c66efd9f13f4d29",
      "tree": "504e961ab6bad164c41f4b9c1ff00c0ce7f645ee",
      "parents": [
        "97d61b8e3aef163a75f80f4762794c154572293d",
        "ffda8c7dc492e2170bb263f7c56f286992ceb54b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 16:27:31 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 16:27:31 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: (45 commits)\n  [SCSI] qla2xxx: Update version number to 8.03.00-k1.\n  [SCSI] qla2xxx: Add ISP81XX support.\n  [SCSI] qla2xxx: Use proper request/response queues with MQ instantiations.\n  [SCSI] qla2xxx: Correct MQ-chain information retrieval during a firmware dump.\n  [SCSI] qla2xxx: Collapse EFT/FCE copy procedures during a firmware dump.\n  [SCSI] qla2xxx: Don\u0027t pollute kernel logs with ZIO/RIO status messages.\n  [SCSI] qla2xxx: Don\u0027t fallback to interrupt-polling during re-initialization with MSI-X enabled.\n  [SCSI] qla2xxx: Remove support for reading/writing HW-event-log.\n  [SCSI] cxgb3i: add missing include\n  [SCSI] scsi_lib: fix DID_RESET status problems\n  [SCSI] fc transport: restore missing dev_loss_tmo callback to LLDD\n  [SCSI] aha152x_cs: Fix regression that keeps driver from using shared interrupts\n  [SCSI] sd: Correctly handle 6-byte commands with DIX\n  [SCSI] sd: DIF: Fix tagging on platforms with signed char\n  [SCSI] sd: DIF: Show app tag on error\n  [SCSI] Fix error handling for DIF/DIX\n  [SCSI] scsi_lib: don\u0027t decrement busy counters when inserting commands\n  [SCSI] libsas: fix test for negative unsigned and typos\n  [SCSI] a2091, gvp11: kill warn_unused_result warnings\n  [SCSI] fusion: Move a dereference below a NULL test\n  ...\n\nFixed up trivial conflict due to moving the async part of sd_probe\naround in the async probes vs using dev_set_name() in naming.\n"
    },
    {
      "commit": "4ace92fc112c6069b4fcb95a31d3142d4a43ff2a",
      "tree": "dacd01f3f249f30868d239ae32b899962f9008cf",
      "parents": [
        "22a9d645677feefd402befd02edd59b122289ef1"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun Jan 04 05:32:28 2009 -0800"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Wed Jan 07 08:46:13 2009 -0800"
      },
      "message": "fastboot: make scsi probes asynchronous\n\nThis patch makes part of the scsi probe (which is mostly device spin up and the\npartition scan) asynchronous. Only the part that runs after getting the device\nnumber allocated is asynchronous, ensuring that device numbering remains stable.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "71610f55fa4db63dbf5385929a47c9fb2451f332",
      "tree": "b816672eef25e1436111e6c78053612bd22fb016",
      "parents": [
        "b58602a4bac012b5f4fc12fe6b46ab237b610d5d"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Wed Dec 03 22:41:36 2008 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Jan 02 10:22:16 2009 -0600"
      },
      "message": "[SCSI] struct device - replace bus_id with dev_name(), dev_set_name()\n\n[jejb: limit ioctl to returning 20 characters to avoid overrun\n       on long device names and add a few more conversions]\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\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": "fd4ce1acd0f8558033b1a6968001552bd7671e6d",
      "tree": "7ce54f2b2c967fe2315917ffa2eb8eb7d47e7a2b",
      "parents": [
        "ebbefc011e56bd85b4745d01e5b8d7d05d95ed5d"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Nov 05 14:58:42 2008 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 04 04:22:57 2008 -0500"
      },
      "message": "[PATCH 1/2] kill FMODE_NDELAY_NOW\n\nUpdate FMODE_NDELAY before each ioctl call so that we can kill the\nmagic FMODE_NDELAY_NOW.  It would be even better to do this directly\nin setfl(), but for that we\u0027d need to have FMODE_NDELAY for all files,\nnot just block special files.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f8aea20018aefa51bf818914c9c1ef9006353dbb",
      "tree": "36c5ab25fc6808ae635ae69e3f301b11ef52d72f",
      "parents": [
        "c3c9897c63ebb0b93b7f78724e38d6ee1da04041",
        "520a2c2741747062e75f91cd0faddb564fbc64d2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 23 13:02:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 23 13:02:03 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: (21 commits)\n  [SCSI] sd: fix computation of the full size of the device\n  [SCSI] lib: string_get_size(): don\u0027t hang on zero; no decimals on exact\n  [SCSI] sun3x_esp: Convert \u0026\u0026 to ||\n  [SCSI] sd: remove command-size switching code\n  [SCSI] 3w-9xxx: remove unnecessary local_irq_save/restore for scsi sg copy API\n  [SCSI] 3w-xxxx: remove unnecessary local_irq_save/restore for scsi sg copy API\n  [SCSI] fix netlink kernel-doc\n  [SCSI] sd: Fix handling of NO_SENSE check condition\n  [SCSI] export busy state via q-\u003elld_busy_fn()\n  [SCSI] refactor sdev/starget/shost busy checking\n  [SCSI] mptfusion: Increase scsi-timeouts, similariy to the LSI 4.x driver.\n  [SCSI] aic7xxx: Take the LED out of diagnostic mode on PM resume\n  [SCSI] aic79xx: user visible misuse wrong SI units (not disk size!)\n  [SCSI] ipr: use memory_read_from_buffer()\n  [SCSI] aic79xx: fix shadowed variables\n  [SCSI] aic79xx: fix shadowed variables, add statics\n  [SCSI] aic7xxx: update *_shipped files\n  [SCSI] aic7xxx: update .reg files\n  [SCSI] aic7xxx: introduce \"dont_generate_debug_code\" keyword in aicasm parser\n  [SCSI] scsi_dh: Initialize path state to be passive when path is not owned\n  ...\n"
    },
    {
      "commit": "520a2c2741747062e75f91cd0faddb564fbc64d2",
      "tree": "ee432a78dd07631a4df63abe4ae2958d2c18607e",
      "parents": [
        "a8659597bf744b0f8d2560e2a734b5c941569e0e"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Tue Oct 14 11:34:20 2008 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Thu Oct 23 11:42:20 2008 -0500"
      },
      "message": "[SCSI] sd: fix computation of the full size of the device\n\nWhen computing the full size of the device, we need to cast\nsdkp-\u003ecapacity before shifting, since in some configurations sector_t\ncan be a 32-bit number.\n\nAlso, change ffz(~x) to the more idiomatic ilog2(x).\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "d4c9b736080056ae3ba81dcf2ac418193c57dbb1",
      "tree": "e27d56d2cb3ee0ffcab0499654105cad5efa1627",
      "parents": [
        "36a529202b334d0513cfeabeadca940ec41c8165"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Fri Oct 10 16:03:20 2008 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Thu Oct 23 11:42:19 2008 -0500"
      },
      "message": "[SCSI] sd: remove command-size switching code\n\nThis patch (as1138) removes from sd.c some old code for switching from\n10-byte commands to 6-byte commands.  This code is redundant -- the\nswitching for READ and WRITE is already handled in\nscsi_io_completion() and the switching for MODE SENSE is already\nhandled in scsi_mode_sense().  (There is no comparable switch for MODE\nSELECT, but I doubt one is needed.)\n\nFurthermore the other handlers do a better job; they check for\nappropriate ASC and ASCQ values before blindly switching the size.\nThe code in sd.c is known to cause problems with some devices by\nswitching when it shouldn\u0027t.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "10dab22664914505dcb804d9ad09cad6bc94d349",
      "tree": "11c7737944fbe10147d4ef335ba91bd5d7b8f937",
      "parents": [
        "6c5121b78ba5c70a9990e2af6cb4d6bbffe0d4d8"
      ],
      "author": {
        "name": "Jamie Wellnitz",
        "email": "Jamie.Wellnitz@emulex.com",
        "time": "Thu Sep 11 21:39:36 2008 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Thu Oct 23 11:42:17 2008 -0500"
      },
      "message": "[SCSI] sd: Fix handling of NO_SENSE check condition\n\nThe current handling of NO_SENSE check condition is the same as\nRECOVERED_ERROR, and assumes that in both cases, the I/O was fully\ntransferred.\n\nWe have seen cases of arrays returning with NO_SENSE (no error), but\nthe I/O was not completely transferred, thus residual set.  Thus,\nrather than return good_bytes as the entire transfer, set good_bytes\nto 0, so that the midlayer then applies the residual in calculating\nthe transfer, and for sd, will fail the I/O and fall into a retry\npath.\n\nSigned-off-by: Jamie Wellnitz \u003cJamie.Wellnitz@emulex.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "0338e29178795f0df0e1f3705b5d3effe9c95ff7",
      "tree": "414932bfdf1052d84f9ddf1c9513e2a78c188558",
      "parents": [
        "3e3c9c6f3d31ac6eca7ec59f28f3cbc2ee45ff6e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Mar 02 10:41:04 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:48:48 2008 -0400"
      },
      "message": "[PATCH] switch sd\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d4430d62fa77208824a37fe6f85ab2831d274769",
      "tree": "5d4d0bca31e63eb208fbebe4f39c912b964c1e4d",
      "parents": [
        "badf8082c33d18b118d3a6f1b32d5ea6b97d3839"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Mar 02 09:09:22 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:47:32 2008 -0400"
      },
      "message": "[PATCH] beginning of methods conversion\n\nTo keep the size of changesets sane we split the switch by drivers;\nto keep the damn thing bisectable we do the following:\n\t1) rename the affected methods, add ones with correct\nprototypes, make (few) callers handle both.  That\u0027s this changeset.\n\t2) for each driver convert to new methods.  *ALL* drivers\nare converted in this series.\n\t3) kill the old (renamed) methods.\n\nNote that it _is_ a flagday; all in-tree drivers are converted and by the\nend of this series no trace of old methods remain.  The only reason why\nwe do that this way is to keep the damn thing bisectable and allow per-driver\ndebugging if anything goes wrong.\n\nNew methods:\n\topen(bdev, mode)\n\trelease(disk, mode)\n\tioctl(bdev, mode, cmd, arg)\t\t/* Called without BKL */\n\tcompat_ioctl(bdev, mode, cmd, arg)\n\tlocked_ioctl(bdev, mode, cmd, arg)\t/* Called with BKL, legacy */\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "83ff6fe8580a7c834dba4389d742332fff9b9929",
      "tree": "7708b57bdf42961749320adbbce526e551dbe6c7",
      "parents": [
        "633a08b81206122469365b4c72eaeb71f04f2cb4"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Mar 02 08:15:49 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:47:28 2008 -0400"
      },
      "message": "[PATCH] don\u0027t mess with file in scsi_nonblockable_ioctl()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "74f3c8aff36ad6552ea609c8b20bfd588fa16f38",
      "tree": "c046823751971ff37b66499282ca2b2e263cc71a",
      "parents": [
        "e915e872ed921d707bc32b3f2184d43abfa8c9e2"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 27 15:38:10 2007 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:47:14 2008 -0400"
      },
      "message": "[PATCH] switch scsi_cmd_ioctl() to passing fmode_t\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "86d434dede14108dd917b25af0f29c0cb28b8d18",
      "tree": "f69305e5213ac9eab854b8c85a918fd71c106e06",
      "parents": [
        "aeb5d727062a0238a2f96c9c380fbd2be4640c6f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Aug 26 19:50:05 2007 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:47:08 2008 -0400"
      },
      "message": "[PATCH] eliminate use of -\u003ef_flags in block methods\n\nstore needed information in f_mode\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9e06688e7d60149cc9ef78ff29515c20186bb418",
      "tree": "cb6df4657c1964244a51d6ad3a5a54b849b93894",
      "parents": [
        "be922f478f430f8fab4db952ffc20c86f23de397"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri Sep 19 18:47:21 2008 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Mon Oct 13 09:28:58 2008 -0400"
      },
      "message": "[SCSI] sd: Correctly handle all combinations of DIF and DIX\n\nThe old detection code couldn\u0027t handle all possible combinations of\nDIX and DIF.  This version does, giving priority to DIX if the\ncontroller is capable.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "be922f478f430f8fab4db952ffc20c86f23de397",
      "tree": "ce172a3979decae14130819313a26fd039537a4d",
      "parents": [
        "bd623e79fb6bca7ab685bb1f7376476a81ce10bb"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri Sep 19 18:47:20 2008 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Mon Oct 13 09:28:58 2008 -0400"
      },
      "message": "[SCSI] sd: Always print actual protection_type\n\nNow that we no longer use protection_type as trigger for preparing\nprotected CDBs we can remove the places that set it to zero.  This\nallows userland to see which protection type the device is formatted\nwith regardless of whether the HBA supports DIF or not.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "bd623e79fb6bca7ab685bb1f7376476a81ce10bb",
      "tree": "3992dbec095b5034725eb4b0397c4ea9249487b6",
      "parents": [
        "c82dc88ddaf17112841dd3a6b08352968555ee08"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri Sep 19 18:47:19 2008 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Mon Oct 13 09:28:57 2008 -0400"
      },
      "message": "[SCSI] sd: Issue correct protection operation\n\nUse the same logic to prepare RD/WRPROTECT and the protection\noperation.  Fixes a corner case where we could issue an unprotected\nCDB and yet tell the HBA to do DIF to the drive.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "ef5bef357cdf49f3a386c7102dbf3be5f7e5c913",
      "tree": "48d9dc86768e3e146267ea21d0c898f9008275a1",
      "parents": [
        "e26feff647ef34423b048b940540a0059001ddb0",
        "41bfcf90101601f9507240ff0435c1b73d28a132"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 10 10:53:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 10 10:53:26 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: (37 commits)\n  [SCSI] zfcp: fix double dbf id usage\n  [SCSI] zfcp: wait on SCSI work to be finished before proceeding with init dev\n  [SCSI] zfcp: fix erp list usage without using locks\n  [SCSI] zfcp: prevent fc_remote_port_delete calls for unregistered rport\n  [SCSI] zfcp: fix deadlock caused by shared work queue tasks\n  [SCSI] zfcp: put threshold data in hba trace\n  [SCSI] zfcp: Simplify zfcp data structures\n  [SCSI] zfcp: Simplify get_adapter_by_busid\n  [SCSI] zfcp: remove all typedefs and replace them with standards\n  [SCSI] zfcp: attach and release SAN nameserver port on demand\n  [SCSI] zfcp: remove unused references, declarations and flags\n  [SCSI] zfcp: Update message with input from review\n  [SCSI] zfcp: add queue_full sysfs attribute\n  [SCSI] scsi_dh: suppress comparison warning\n  [SCSI] scsi_dh: add Dell product information into rdac device handler\n  [SCSI] qla2xxx: remove the unused SCSI_QLOGIC_FC_FIRMWARE option\n  [SCSI] qla2xxx: fix printk format warnings\n  [SCSI] qla2xxx: Update version number to 8.02.01-k8.\n  [SCSI] qla2xxx: Ignore payload reserved-bits during RSCN processing.\n  [SCSI] qla2xxx: Additional residual-count corrections during UNDERRUN handling.\n  ...\n"
    },
    {
      "commit": "242f9dcb8ba6f68fcd217a119a7648a4f69290e9",
      "tree": "1bfe245ffbc50d204d76665cd8f90d85100f86a1",
      "parents": [
        "608aeef17a91747d6303de4df5e2c2e6899a95e8"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sun Sep 14 05:55:09 2008 -0700"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:13 2008 +0200"
      },
      "message": "block: unify request timeout handling\n\nRight now SCSI and others do their own command timeout handling.\nMove those bits to the block layer.\n\nInstead of having a timer per command, we try to be a bit more clever\nand simply have one per-queue. This avoids the overhead of having to\ntear down and setup a timer for each command, so it will result in a lot\nless timer fiddling.\n\nSigned-off-by: Mike Anderson \u003candmike@linux.vnet.ibm.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f98a8cae12f2b2a8f9bfd7a53c990a1a405e880e",
      "tree": "3fcfd762a5841b8cbc5ab0987da8da3ee37a9201",
      "parents": [
        "9bc3ffbfbdf71fefda8a261ef8d6fdc388a29b42"
      ],
      "author": {
        "name": "Andrew Patterson",
        "email": "andrew.patterson@hp.com",
        "time": "Thu Sep 04 14:27:35 2008 -0600"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:13 2008 +0200"
      },
      "message": "SCSI sd driver calls revalidate_disk wrapper.\n\nModify the SCSI disk driver to call the revalidate_disk()\nwrapper. This allows us to do some housekeeping such as accounting for\na disk being resized online. The wrapper will call\nsd_revalidate_disk() at the appropriate time.\n\nSigned-off-by: Andrew Patterson \u003candrew.patterson@hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3e1a7ff8a0a7b948f2684930166954f9e8e776fe",
      "tree": "0a8642f5cdbc6ddfdd66dc7241c915e57b3cb7ff",
      "parents": [
        "689d6fac40b41c7bf154f362deaf442548e4dc81"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:56:17 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:08 2008 +0200"
      },
      "message": "block: allow disk to have extended device number\n\nNow that disk and partition handlings are mostly unified, it\u0027s easy to\nallow disk to have extended device number.  This patch makes\nadd_disk() use extended device number if disk-\u003eminors is zero.  Both\nsd and ide-disk are updated to use this.\n\n* sd_format_disk_name() is implemented which can generically determine\n  the drive name.  This removes disk number restriction stemming from\n  limited device names.\n\n* If sd index goes over SD_MAX_DISKS (which can be increased now BTW),\n  sd simply doesn\u0027t initialize minors letting block layer choose\n  extended device number.\n\n* If CONFIG_DEBUG_EXT_DEVT is set, both sd and ide-disk always set\n  minors to 0 and use extended device numbers.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "689d6fac40b41c7bf154f362deaf442548e4dc81",
      "tree": "5989dc5767f657272194ee8c7d69c6db1e62dab7",
      "parents": [
        "540eed5637b766bb1e881ef744c42617760b4815"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:56:16 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:08 2008 +0200"
      },
      "message": "block: replace @ext_minors with GENHD_FL_EXT_DEVT\n\nWith previous changes, it\u0027s meaningless to limit the number of\npartitions.  Replace @ext_minors with GENHD_FL_EXT_DEVT such that\nsetting the flag allows the disk to have maximum number of allowed\npartitions (only limited by the number of entries in parsed_partitions\nas determined by MAX_PART constant).\n\nThis kills not-too-pretty alloc_disk_ext[_node]() functions and makes\n@minors parameter to alloc_disk[_node]() unnecessary.  The parameter\nis left alone to avoid disturbing the users.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "870d6656126add8e383645732b03df2b7ccd4f94",
      "tree": "9c33dd91350ea163b160d9f5cb40d913c5caf268",
      "parents": [
        "f615b48cc7df7cac3865ec76ac1a5bb04d3e07f4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:47:25 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:06 2008 +0200"
      },
      "message": "block: implement CONFIG_DEBUG_BLOCK_EXT_DEVT\n\nExtended devt introduces non-contiguos device numbers.  This patch\nimplements a debug option which forces most devt allocations to be\nfrom the extended area and spreads them out.  This is enabled by\ndefault if DEBUG_KERNEL is set and achieves...\n\n1. Detects code paths in kernel or userland which expect predetermined\n   consecutive device numbers.\n\n2. When something goes wrong, avoid corruption as adding to the minor\n   of earlier partition won\u0027t lead to the wrong but valid device.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f615b48cc7df7cac3865ec76ac1a5bb04d3e07f4",
      "tree": "a61ba32641118296ecc942814e03b4b0ababfa63",
      "parents": [
        "1f0142905d4812966831613847db38a66da29eb8"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:47:24 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:06 2008 +0200"
      },
      "message": "sd/ide-disk: apply extended minors to sd and ide\n\nUpdate sd and ide-disk such that they can take advantage of extended\nminors.\n\nide-disk already has 64 minors per device and currently doesn\u0027t use\nextended minors although after this patch it can be turned on by\nsimply tweaking constants.\n\nsd only had 16 minors per device causing problems on certain peculiar\nconfigurations.  This patch lifts the restriction and enables it to\nuse upto 64 minors.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7404ad3b6d04efbd918e9e2e776bf560fbedf47d",
      "tree": "d2f85a9230d78272329aa522d71068cefbbef7cb",
      "parents": [
        "3c9f3681d0b4af09c1cbf04f92fdfb72bd81ad7b"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Aug 31 10:41:52 2008 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Oct 03 11:46:15 2008 -0500"
      },
      "message": "[SCSI] sd: use generic helper to print capacities in both binary and SI\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "2dc75d3c3b49c64fd26b4832a7efb75546cb3fc5",
      "tree": "908ae81851ca06d46a680d8e6c33afdfb292c131",
      "parents": [
        "adee14b2e1557d0a8559f29681732d05a89dfc35"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Sep 11 14:20:23 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Sep 11 14:20:23 2008 +0200"
      },
      "message": "block: disable sysfs parts of the disk command filter\n\nWe still have life time issues with the sysfs command filter kobject,\nso disable it for 2.6.27 release. We can revisit this and make it work\nproperly for 2.6.28, for 2.6.27 release it\u0027s too risky.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "bb23b431db7405f6d79f989ad0236bf6428ba1cb",
      "tree": "481c179e97bf72b206e51ef594c7bb3fb32af72f",
      "parents": [
        "24342c34a022ee90839873d91396045e12ef1090"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Fri Aug 29 11:47:07 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Aug 29 11:47:07 2008 +0200"
      },
      "message": "remove blk_register_filter and blk_unregister_filter in gendisk\n\nThis patch remove blk_register_filter and blk_unregister_filter in\ngendisk, and adds them to sd.c, sr.c. and ide-cd.c\n\nThe commit abf5439370491dd6fbb4fe1a7939680d2a9bc9d4 moved cmdfilter\nfrom gendisk to request_queue. It turned out that in some subsystems\nmultiple gendisks share a single request_queue. So we get:\n\nUsing physmap partition information\nCreating 3 MTD partitions on \"physmap-flash\":\n0x00000000-0x01c00000 : \"User FS\"\n0x01c00000-0x01c40000 : \"booter\"\nkobject (8511c410): tried to init an initialized object, something is seriously wrong.\nCall Trace:\n[\u003c8036644c\u003e] dump_stack+0x8/0x34\n[\u003c8021f050\u003e] kobject_init+0x50/0xcc\n[\u003c8021fa18\u003e] kobject_init_and_add+0x24/0x58\n[\u003c8021d20c\u003e] blk_register_filter+0x4c/0x64\n[\u003c8021c194\u003e] add_disk+0x78/0xe0\n[\u003c8027d14c\u003e] add_mtd_blktrans_dev+0x254/0x278\n[\u003c8027c8f0\u003e] blktrans_notify_add+0x40/0x78\n[\u003c80279c00\u003e] add_mtd_device+0xd0/0x150\n[\u003c8027b090\u003e] add_mtd_partitions+0x568/0x5d8\n[\u003c80285458\u003e] physmap_flash_probe+0x2ac/0x334\n[\u003c802644f8\u003e] driver_probe_device+0x12c/0x244\n[\u003c8026465c\u003e] __driver_attach+0x4c/0x84\n[\u003c80263c64\u003e] bus_for_each_dev+0x58/0xac\n[\u003c802633ec\u003e] bus_add_driver+0xc4/0x24c\n[\u003c802648e0\u003e] driver_register+0xcc/0x184\n[\u003c80100460\u003e] _stext+0x60/0x1bc\n\nIn the long term, we need to fix such subsystems but we need a quick\nfix now. This patch add the command filter support to only sd and sr\nthough it might be useful for other SG_IO users (such as cciss).\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nReported-by: Manuel Lauss \u003cmano@roarinelk.homelinux.net\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "18351070b86d155713cf790b26af4f21b1fd0b29",
      "tree": "66e98f59de072733af7ae65cebf135c37caab249",
      "parents": [
        "e63e03273b89f7248baa56cf242474f661e776e1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 05 21:42:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 05 21:42:21 2008 -0700"
      },
      "message": "Re-introduce \"[SCSI] extend the last_sector_bug flag to cover more sectors\"\n\nThis re-introduces commit 2b142900784c6e38c8d39fa57d5f95ef08e735d8,\nwhich was reverted due to the regression it caused by commit\nfca082c9f1e11ec07efa8d2f9f13688521253f36.\n\nThat regression was not root-caused by the original commit, it was just\nuncovered by it, and the real fix was done by Alan Stern in commit\n580da34847488b404218d1d7f53b156f245f5555 (\"Fix USB storage hang on\ncommand abort\").\n\nWe can thus re-introduce the change that was confirmed by Alan Jenkins\nto be still required by his odd card reader.\n\nCc: Alan Jenkins \u003calan-jenkins@tuffmail.co.uk\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fca082c9f1e11ec07efa8d2f9f13688521253f36",
      "tree": "94a18d0aed308b44ba606261c603c63860c35c30",
      "parents": [
        "8f616cd5249e03c9e1b371623d85e76d4b86bbc1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 04 16:36:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 04 16:36:20 2008 -0700"
      },
      "message": "Revert \"[SCSI] extend the last_sector_bug flag to cover more sectors\"\n\nThis reverts commit 2b142900784c6e38c8d39fa57d5f95ef08e735d8, since it\nseems to break some other USB storage devices (at least a JMicron USB to\nATA bridge).  As such, while it apparently fixes some cardreaders, it\nwould need to be made conditional on the exact reader it fixes in order\nto avoid causing regressions.\n\nCc: Alan Jenkins \u003calan-jenkins@tuffmail.co.uk\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2b142900784c6e38c8d39fa57d5f95ef08e735d8",
      "tree": "e7d51b58df76e864c91ff7ffca0229027328c588",
      "parents": [
        "4cfc51017db3e3f4eaaa2cb436a905097a4f08e2"
      ],
      "author": {
        "name": "Alan Jenkins",
        "email": "alan-jenkins@tuffmail.co.uk",
        "time": "Sun Jul 27 09:38:42 2008 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Jul 27 10:16:13 2008 -0400"
      },
      "message": "[SCSI] extend the last_sector_bug flag to cover more sectors\n\nThe last_sector_bug flag was added to work around a bug in certain usb\ncardreaders, where they would crash if a multiple sector read included the\nlast sector. The original implementation avoids this by e.g. splitting an 8\nsector read which includes the last sector into a 7 sector read, and a single\nsector read for the last sector.  The flag is enabled for all USB devices.\n\nThis revealed a second bug in other usb cardreaders, which crash when they\nget a multiple sector read which stops 1 sector short of the last sector.\nAffected hardware includes the Kingston \"MobileLite\" external USB cardreader\nand the internal USB cardreader on the Asus EeePC.\n\nExtend the last_sector_bug workaround to ensure that any access which touches\nthe last 8 hardware sectors of the device is a single sector long.  Requests\nare shrunk as necessary to meet this constraint.\n\nThis gives us a safety margin against potential unknown or future bugs\naffecting multi-sector access to the end of the device.  The two known bugs\nonly affect the last 2 sectors.  However, they suggest that these devices\nare prone to fencepost errors and that multi-sector access to the end of the\ndevice is not well tested.  Popular OS\u0027s use multi-sector accesses, but they\nrarely read the last few sectors.  Linux (with udev \u0026 vol_id) automatically\nreads sectors from the end of the device on insertion.  It is assumed that\nsingle sector accesses are more thoroughly tested during development.\n\nSigned-off-by: Alan Jenkins \u003calan-jenkins@tuffmail.co.uk\u003e\nTested-by: Alan Jenkins \u003calan-jenkins@tuffmail.co.uk\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "af55ff675a8461da6a632320710b050af4366e0c",
      "tree": "2d85ec327340f11f79cedb7d962d232c31819a8c",
      "parents": [
        "e0597d70012c82e16ee152270a55d89d8bf66693"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Thu Jul 17 04:28:35 2008 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Jul 26 15:14:56 2008 -0400"
      },
      "message": "[SCSI] sd: Support for SCSI disk (SBC) Data Integrity Field\n\nSupport for controllers and disks that implement DIF protection\ninformation:\n\n - During command preparation the RDPROTECT/WRPROTECT must be set\n   correctly if the target has DIF enabled.\n\n - READ(6) and WRITE(6) are not supported when DIF is on.\n\n - The controller must be told how to handle the I/O via the\n   protection operation field in scsi_cmnd.\n\n - Refactor the I/O completion code that extracts failed LBA from the\n   returned sense data and handle DIF failures correctly.\n\n - sd_dif.c implements the functions required to prepare and complete\n   requests with protection information attached.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "e0597d70012c82e16ee152270a55d89d8bf66693",
      "tree": "1752132ba07975a8db2bf93ddad88e1a6c06f4d2",
      "parents": [
        "511e44f42e3239a4df77b8e0e46d294d98a768ad"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Thu Jul 17 04:28:34 2008 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Jul 26 15:14:55 2008 -0400"
      },
      "message": "[SCSI] sd: Identify DIF protection type and application tag ownership\n\nIf a disk is formatted with protection information (Inquiry bit\nPROTECT\u003d1) it is required to support Read Capacity(16).  Force use of\nthe 16-bit command in this case and extract the P_TYPE field which\nindicates whether the disk is formatted using DIF Type 1, 2 or 3.\n\nThe ATO (App Tag Own) bit in the Control Mode Page indicates whether\nthe storage device or the initiator own the contents of the\nDIF application tag.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "f27bac2761cab5a2e212dea602d22457a9aa6943",
      "tree": "f2ebed0b9d35298697c96ac8896ec34ba2a07a78",
      "parents": [
        "ecefe8a97577d6c1a68d14ab6fb19bce99448af2"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Jul 14 14:59:30 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Jul 26 15:14:50 2008 -0400"
      },
      "message": "[SCSI] sd: update index allocation and use ida instead of idr\n\nUpdate index allocation as follows.\n\n* sd_index_idr is used only for ID allocation and mapping\n  functionality is not used.  Use more memory efficient ida instead.\n\n* idr and ida have their own locks inside them and don\u0027t need them for\n  operation.  Drop it.\n\n* index wasn\u0027t freed if probing failed after index allocation.  fix\n  it.\n\n* ida allocation should be repeated if it fails with -EAGAIN.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "89a93f2f4834f8c126e8d9dd6b368d0b9e21ec3d",
      "tree": "e731456fec0cab1225ad3e806dc8d3efefa0a78b",
      "parents": [
        "260eddf4391f162a69d1d163729249635fa7a78f",
        "fe9233fb6914a0eb20166c967e3020f7f0fba2c9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 15 18:58:04 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 15 18:58:04 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (102 commits)\n  [SCSI] scsi_dh: fix kconfig related build errors\n  [SCSI] sym53c8xx: Fix bogus sym_que_entry re-implementation of container_of\n  [SCSI] scsi_cmnd.h: remove double inclusion of linux/blkdev.h\n  [SCSI] make struct scsi_{host,target}_type static\n  [SCSI] fix locking in host use of blk_plug_device()\n  [SCSI] zfcp: Cleanup external header file\n  [SCSI] zfcp: Cleanup code in zfcp_erp.c\n  [SCSI] zfcp: zfcp_fsf cleanup.\n  [SCSI] zfcp: consolidate sysfs things into one file.\n  [SCSI] zfcp: Cleanup of code in zfcp_aux.c\n  [SCSI] zfcp: Cleanup of code in zfcp_scsi.c\n  [SCSI] zfcp: Move status accessors from zfcp to SCSI include file.\n  [SCSI] zfcp: Small QDIO cleanups\n  [SCSI] zfcp: Adapter reopen for large number of unsolicited status\n  [SCSI] zfcp: Fix error checking for ELS ADISC requests\n  [SCSI] zfcp: wait until adapter is finished with ERP during auto-port\n  [SCSI] ibmvfc: IBM Power Virtual Fibre Channel Adapter Client Driver\n  [SCSI] sg: Add target reset support\n  [SCSI] lib: Add support for the T10 (SCSI) Data Integrity Field CRC\n  [SCSI] sd: Move scsi_disk() accessor function to sd.h\n  ...\n"
    },
    {
      "commit": "d2886ea368a67704ecc13e69075f18a9d74cb12b",
      "tree": "54593ba6b45d1a4cdec66da4aa7d8d813cc49a3a",
      "parents": [
        "bce7f793daec3e65ec5c5705d2457b81fe7b5725"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun May 11 00:34:07 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Jul 14 13:00:17 2008 +0200"
      },
      "message": "scsi: sd: optionally set power condition in START STOP UNIT\n\nAdds a new scsi_device flag, start_stop_pwr_cond:  If enabled, the sd\ndriver will not send plain START STOP UNIT commands but ones with the\npower condition field set to 3 (standby) or 1 (active) respectively.\n\nSome FireWire disk firmwares do not stop the motor if power condition is\nzero.  Or worse, they become unresponsive after a START STOP UNIT with\npower condition \u003d 0 and start \u003d 0.\n\nhttp://lkml.org/lkml/2008/4/29/704\n\nThis patch only adds the necessary code to sd_mod but doesn\u0027t activate\nit.  Follow-up patches to the FireWire drivers will add detection of\naffected devices and enable the code for them.\n\nI did not add power condition values to scsi_error.c::scsi_eh_try_stu()\nfor now.  The three firmwares which suffer from above mentioned problems\ndo not need START STOP UNIT in the error handler, and they are not\nadversely affected by START STOP UNIT with power condition \u003d 0 and start\n\u003d 1 (like scsi_eh_try_stu() sends it if scsi_device.allow_restart is\nenabled).\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nTested-by: Tino Keitel \u003ctino.keitel@gmx.de\u003e\n"
    },
    {
      "commit": "5b635da11e3a6387172abd651d26d8ef54b1fbc7",
      "tree": "0b7018d5008902e96aa4f69db3807a00c0307027",
      "parents": [
        "aa91696e56a0870db5754610e9f9b937e77507e0"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Wed Jun 25 11:22:41 2008 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Jul 12 08:22:31 2008 -0500"
      },
      "message": "[SCSI] sd: Move scsi_disk() accessor function to sd.h\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "aa91696e56a0870db5754610e9f9b937e77507e0",
      "tree": "f0832f576703b04ff9ab170b36531f20cb765c91",
      "parents": [
        "dbfe54a9c9a9e31cdf71704e4e70d10d22a57264"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Tue Jun 17 12:47:32 2008 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Jul 12 08:22:31 2008 -0500"
      },
      "message": "[SCSI] sd: Move sd.h header file\n\nChristoph objected to having sd.h in include/scsi since it is internal\nto the sd driver.  Move it to drivers/scsi/sd.h.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "4917fa292558593d36b2880977ea206f7727dbe5",
      "tree": "5ef03fba3ca3f3b1f615e9d558f7138619787d3a",
      "parents": [
        "6f6a036e6e061563efecb61505fc4cc3ca415f80"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Apr 29 09:54:35 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 29 14:48:54 2008 +0200"
      },
      "message": "block: no need to initialize rq-\u003ecmd in prepare_flush_fn hook\n\nThe block layer initializes rq-\u003ecmd (queue_flush calls rq_init) so\nprepare_flush_fn hooks don\u0027t need to do that.\n\nThe purpose of this patch is to remove sizeof(rq-\u003ecmd), as a\npreparation for large command support, which changes rq-\u003ecmd from the\nstatic array to a pointer. sizeof(rq-\u003ecmd) will not make sense.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.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": "c02e600280c605c761190ef82a6e6fa6aa7fb248",
      "tree": "3275148d08bfaa8374e3462a1bcab7cfc4788f7c",
      "parents": [
        "4d4109d0eb6930e59942d019980b83af679f187b"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Wed Mar 19 13:09:56 2008 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Mar 19 11:28:56 2008 -0500"
      },
      "message": "[SCSI] sd, sr: do not emit change event at device add\n\nInitialize the \"state changed\" flag, so we do not send a change event\nimmediately after registering a new device.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "3a2d5b700132f35401f1d9e22fe3c2cab02c2549",
      "tree": "ad991428c41aee92a5f78b06bf73430af0e6f7ae",
      "parents": [
        "39273b58a409cd6d65c9732bdca00bacd1626672"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Feb 23 19:13:25 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Feb 23 10:40:04 2008 -0800"
      },
      "message": "PM: Introduce PM_EVENT_HIBERNATE callback state\n\nDuring the last step of hibernation in the \"platform\" mode (with the\nhelp of ACPI) we use the suspend code, including the devices\u0027\n-\u003esuspend() methods, to prepare the system for entering the ACPI S4\nsystem sleep state.\n\nBut at least for some devices the operations performed by the\n-\u003esuspend() callback in that case must be different from its operations\nduring regular suspend.\n\nFor this reason, introduce the new PM event type PM_EVENT_HIBERNATE and\npass it to the device drivers\u0027 -\u003esuspend() methods during the last phase\nof hibernation, so that they can distinguish this case and handle it as\nappropriate.  Modify the drivers that handle PM_EVENT_SUSPEND in a\nspecial way and need to handle PM_EVENT_HIBERNATE in the same way.\n\nThese changes are necessary to fix a hibernation regression related\nto the i915 driver (ref. http://lkml.org/lkml/2008/2/22/488).\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nTested-by: Jeff Chua \u003cjeff.chua.linux@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "366c246de9cec909c5eba4f784c92d1e75b4dc38",
      "tree": "f663b49998a338a70ab9601c2b4e64ce12563a3f",
      "parents": [
        "d7402cd91022fc32522397d3930a3e6587de7c55"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Feb 02 16:06:23 2008 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Thu Feb 07 18:02:41 2008 -0600"
      },
      "message": "[SCSI] sd: handle bad lba in sense information\n\nSome devices report medium error locations incorrectly.  Add guards to\nmake sure the reported bad lba is actually in the request that caused\nit.  Additionally remove the large case statment for sector sizes and\nreplace it with the proper u64 divisions.\n\nTested-by: Mike Snitzer \u003csnitzer@gmail.com\u003e\nCc: Stable Tree \u003cstable@kernel.org\u003e\nCc: Tony Battersby \u003ctonyb@cybernetics.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "30b0c37b27485a9cb897bfe3824f6f517b8c80d6",
      "tree": "22643da8e175ff7badf2413dc8c84b2e99613a6f",
      "parents": [
        "bb52d82f45df3a2661d88befba7c79a7db8be496"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu Dec 13 13:47:40 2007 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 30 13:03:40 2008 -0600"
      },
      "message": "[SCSI] implement scsi_data_buffer\n\nIn preparation for bidi we abstract all IO members of scsi_cmnd,\nthat will need to duplicate, into a substructure.\n\n- Group all IO members of scsi_cmnd into a scsi_data_buffer\n  structure.\n- Adjust accessors to new members.\n- scsi_{alloc,free}_sgtable receive a scsi_data_buffer instead of\n  scsi_cmnd. And work on it.\n- Adjust scsi_init_io() and  scsi_release_buffers() for above\n  change.\n- Fix other parts of scsi_lib/scsi.c to members migration. Use\n  accessors where appropriate.\n\n- fix Documentation about scsi_cmnd in scsi_host.h\n\n- scsi_error.c\n  * Changed needed members of struct scsi_eh_save.\n  * Careful considerations in scsi_eh_prep/restore_cmnd.\n\n- sd.c and sr.c\n  * sd and sr would adjust IO size to align on device\u0027s block\n    size so code needs to change once we move to scsi_data_buff\n    implementation.\n  * Convert code to use scsi_for_each_sg\n  * Use data accessors where appropriate.\n\n- tgt: convert libsrp to use scsi_data_buffer\n\n- isd200: This driver still bangs on scsi_cmnd IO members,\n  so need changing\n\n[jejb: rebased on top of sg_table patches fixed up conflicts\nand used the synergy to eliminate use_sg and sg_count]\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "a0899d4df534d2bcf671b0f647b809842309a9ae",
      "tree": "990c3eb7876f6f8a6dee37ec2ecd4684c11b1f74",
      "parents": [
        "b523381e325366cc54a2548df418c2a427b2f2ee"
      ],
      "author": {
        "name": "Hans de Goede",
        "email": "j.w.r.degoede@hhs.nl",
        "time": "Sun Jan 20 11:12:26 2008 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 23 11:29:34 2008 -0600"
      },
      "message": "[SCSI] sd: add fix for devices with last sector access problems\n\nThis patch adds a new scsi_device flag (last_sector_bug) for devices\nwhich contain a bug where the device crashes when the last sector is\nread in a larger then 1 sector read.\n\nThis is for example the case with sdcards in the HP PSC1350 printer\ncardreader and in the HP PSC1610 printer cardreader.\n\nSigned-off-by: Hans de Goede \u003cj.w.r.degoede@hhs.nl\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "001aac257cf8adbe90cdcba6e07f8d12dfc8fa6b",
      "tree": "0eb6294049245e05f47fdb76e3f878c78c015d88",
      "parents": [
        "4a03d90e35bc5273d27301fa669d4b2103196f94"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@SteelEye.com",
        "time": "Sun Dec 02 19:10:40 2007 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Jan 11 18:22:50 2008 -0600"
      },
      "message": "[SCSI] sd,sr: add early detection of medium not present\n\nThe current scsi_test_unit_ready() is updated to return sense code\ninformation (in struct scsi_sense_hdr).  The sd and sr drivers are\nchanged to interpret the sense code return asc 0x3a as no media and\nadjust the device status accordingly.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "285e9670d91cdeb6b6693729950339cb45410fdc",
      "tree": "5edd3f6d19ca92b408ed07daa85cc0361a7a9a72",
      "parents": [
        "d0c4c9d4a2e46f052178806c4004d52cd3ae040f"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Tue Aug 14 14:10:39 2007 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Jan 11 18:22:30 2008 -0600"
      },
      "message": "[SCSI] sr,sd: send media state change modification events\n\nThis will send for a card reader slot (remove/add media):\n  UEVENT[1187091572.155884] change   /devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/host7/target7:0:0/7:0:0:0 (scsi)\n  UEVENT[1187091572.162314] remove   /block/sdb/sdb1 (block)\n  UEVENT[1187091572.172464] add      /block/sdb/sdb1 (block)\n  UEVENT[1187091572.175408] change   /devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/host7/target7:0:0/7:0:0:0 (scsi)\n\nand for a DVD drive (add/eject media):\n  UEVENT[1187091590.189159] change   /devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0 (scsi)\n  UEVENT[1187091590.957124] add      /module/isofs (module)\n  UEVENT[1187091604.468207] change   /devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0 (scsi)\n\nUserspace gets events, even for unpartitioned media. This unifies\nthe event handling for asynchronoous events (AN) and events caused by\nperodical polling the device from userspace.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\n\n[jejb: modified for new event API]\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "7b3d9545f9ac8b31528dd2d6d8ec8d19922917b8",
      "tree": "e8af5ec41abf8ec3a678b5643de5580db417d16f",
      "parents": [
        "911833440b498e3e4fe2f12c1ae2bd44400c7004"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jan 06 10:17:12 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jan 06 10:17:12 2008 -0800"
      },
      "message": "Revert \"scsi: revert \"[SCSI] Get rid of scsi_cmnd-\u003edone\"\"\n\nThis reverts commit ac40532ef0b8649e6f7f83859ea0de1c4ed08a19, which gets\nus back the original cleanup of 6f5391c283d7fdcf24bf40786ea79061919d1e1d.\n\nIt turns out that the bug that was triggered by that commit was\napparently not actually triggered by that commit at all, and just the\ntesting conditions had changed enough to make it appear to be due to it.\n\nThe real problem seems to have been found by Peter Osterlund:\n\n  \"pktcdvd sets it [block device size] when opening the /dev/pktcdvd\n   device, but when the drive is later opened as /dev/scd0, there is\n   nothing that sets it back.  (Btw, 40944 is possible if the disk is a\n   CDRW that was formatted with \"cdrwtool -m 10236\".)\n\n   The problem is that pktcdvd opens the cd device in non-blocking mode\n   when pktsetup is run, and doesn\u0027t close it again until pktsetup -d is\n   run.  The effect is that if you meanwhile open the cd device,\n   blkdev.c:do_open() doesn\u0027t call bd_set_size() because\n   bdev-\u003ebd_openers is non-zero.\"\n\nIn particular, to repeat the bug (regardless of whether commit\n6f5391c283d7fdcf24bf40786ea79061919d1e1d is applied or not):\n\n  \" 1. Start with an empty drive.\n    2. pktsetup 0 /dev/scd0\n    3. Insert a CD containing an isofs filesystem.\n    4. mount /dev/pktcdvd/0 /mnt/tmp\n    5. umount /mnt/tmp\n    6. Press the eject button.\n    7. Insert a DVD containing a non-writable filesystem.\n    8. mount /dev/scd0 /mnt/tmp\n    9. find /mnt/tmp -type f -print0 | xargs -0 sha1sum \u003e/dev/null\n    10. If the DVD contains data beyond the physical size of a CD, you\n        get I/O errors in the terminal, and dmesg reports lots of\n        \"attempt to access beyond end of device\" errors.\"\n\nwhich in turn is because the nested open after the media change won\u0027t\ncause the size to be set properly (because the original open still holds\nthe block device, and we only do the bd_set_size() when we don\u0027t have\nother people holding the device open).\n\nThe proper fix for that is probably to just do something like\n\n\tbdev-\u003ebd_inode-\u003ei_size \u003d (loff_t)get_capacity(disk)\u003c\u003c9;\n\nin fs/block_dev.c:do_open() even for the cases where we\u0027re not the\noriginal opener (but *not* call bd_set_size(), since that will also\nchange the block size of the device).\n\nCc: Peter Osterlund \u003cpetero2@telia.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ac40532ef0b8649e6f7f83859ea0de1c4ed08a19",
      "tree": "ca86d577fe7fe68ae28b7f7d020f86bc9fff5535",
      "parents": [
        "158a962422e4a54dc256b6a9b9562f3d30d34d9c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 02 17:25:34 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jan 02 13:11:06 2008 -0800"
      },
      "message": "scsi: revert \"[SCSI] Get rid of scsi_cmnd-\u003edone\"\n\nThis reverts commit 6f5391c283d7fdcf24bf40786ea79061919d1e1d (\"[SCSI]\nGet rid of scsi_cmnd-\u003edone\") that was supposed to be a cleanup commit,\nbut apparently it causes regressions:\n\n  Bug 9370 - v2.6.24-rc2-409-g9418d5d: attempt to access beyond end of device\n  http://bugzilla.kernel.org/show_bug.cgi?id\u003d9370\n\nthis patch should be reintroduced in a more split-up form to make\ntesting of it easier.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3a4fa0a25da81600ea0bcd75692ae8ca6050d165",
      "tree": "a4de1662e645c029cf3cf58f0646cbb1959861dc",
      "parents": [
        "18735dd8d2d37031b97f9e9e106acbaed01eb896"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Fri Oct 19 23:10:43 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Oct 19 23:10:43 2007 +0200"
      },
      "message": "Fix misspellings of \"system\", \"controller\", \"interrupt\" and \"necessary\".\n\nFix the various misspellings of \"system\", controller\", \"interrupt\" and\n\"[un]necessary\".\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "fd5d806266935179deda1502101624832eacd01f",
      "tree": "b0d01c2ed7d754f2a6daef6c77d108a81d8a470e",
      "parents": [
        "bf2de6f5a4faf0197268f18d08969b003b87b6e8"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 16 11:05:02 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 16 11:05:02 2007 +0200"
      },
      "message": "block: convert blkdev_issue_flush() to use empty barriers\n\nThen we can get rid of -\u003eissue_flush_fn() and all the driver private\nimplementations of that.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6f5391c283d7fdcf24bf40786ea79061919d1e1d",
      "tree": "32ee9abddf9879445792019e1c03bcd28ce6bd4f",
      "parents": [
        "687d2bc4877081a44c41b5b312e012cc69edda53"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Tue Sep 25 12:42:04 2007 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.localdomain",
        "time": "Fri Oct 12 14:52:46 2007 -0400"
      },
      "message": "[SCSI] Get rid of scsi_cmnd-\u003edone\n\nThe ULD -\u003edone callback moves into the scsi_driver.  By moving the call\nto scsi_io_completion() from scsi_blk_pc_done() to scsi_finish_command(),\nwe can eliminate the latter entirely.  By returning \u0027good_bytes\u0027 from\nthe -\u003edone callback (rather than invoking scsi_io_completion()), we can\nstop exporting scsi_io_completion().\n\nAlso move the prototypes from sd.h to sd.c as they\u0027re all internal anyway.\nRename sd_rw_intr to sd_done and rw_intr to sr_done.\n\nInspired-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "7f9a6bc4e9d59e7fcf03ed23f60cd81ca5d80b65",
      "tree": "f2cceb87e2b6c9a66c66a8c8ceeb20bad09bb6fa",
      "parents": [
        "d3849d512fb0ca1e369e3efcaec910a949f55f62"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@steeleye.com",
        "time": "Sat Aug 04 10:06:25 2007 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.localdomain",
        "time": "Fri Oct 12 14:49:30 2007 -0400"
      },
      "message": "[SCSI] move ULD attachment into the prep function\n\nOne of the intents of the block prep function was to allow ULDs to use\nit for preprocessing.  The original SCSI model was to have a single prep\nfunction and add a pointer indirect filter to build the necessary\ncommands.  This patch reverses that, does away with the init_command\nfield of the scsi_driver structure and makes ULDs attach directly to the\nprep function instead.  The value is really that it allows us to begin\nto separate the ULDs from the SCSI mid layer (as long as they don\u0027t use\nany core functions---which is hard at the moment---a ULD doesn\u0027t even\nneed SCSI to bind).\n\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "03a5743a12b58e10eaa936a02498539db645ba4e",
      "tree": "dd3d80da57e3efd26a60f4d369224b41b7008947",
      "parents": [
        "66dbfbe6fde35c881deda5cebb6ecaa0dcc1c975"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@steeleye.com",
        "time": "Fri Aug 03 16:41:11 2007 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.localdomain",
        "time": "Sat Aug 04 08:37:04 2007 -0500"
      },
      "message": "[SCSI] sd: disentangle barriers in SCSI\n\nOur current implementation has a generic set of barrier functions that\ngo through the SCSI driver model.  Realistically, this is unnecessary,\nbecause the only device that can use barriers (sd) can set the flush\nfunctions up at probe or revalidate time.  This patch pulls the barrier\nfunctions out of the mid layer and scsi driver model and relocates them\ndirectly in sd.\n\nAcked-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "165125e1e480f9510a5ffcfbfee4e3ee38c05f23",
      "tree": "8009c8a5ff09e26dc2418d42f66ecafb055c52a2",
      "parents": [
        "f695baf2df9e0413d3521661070103711545207a"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 24 09:28:11 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 24 09:28:11 2007 +0200"
      },
      "message": "[BLOCK] Get rid of request_queue_t typedef\n\nSome of the code has been gradually transitioned to using the proper\nstruct request_queue, but there\u0027s lots left. So do a full sweet of\nthe kernel and get rid of this typedef and replace its uses with\nthe proper type.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "45e79a3acdcf54113b3d7b23e9e64e6541dbfeb5",
      "tree": "b8e7598b26ce446577e162189e635f6b87b10a5b",
      "parents": [
        "7e75d73080d822d2bbbd5b0f7f293719dd1f9109"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon Jul 09 12:39:20 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jul 16 08:52:45 2007 +0200"
      },
      "message": "bsg: add a request_queue argument to scsi_cmd_ioctl()\n\nbsg uses scsi_cmd_ioctl() for some SCSI/sg ioctl\ncommands. scsi_cmd_ioctl() gets a request queue from a gendisk\narguement. This prevents bsg being bound to SCSI devices that don\u0027t\nhave a gendisk (like OSD). This adds a request_queue argument to\nscsi_cmd_ioctl(). The SCSI/sg ioctl commands doesn\u0027t use a gendisk so\nit\u0027s safe for any SCSI devices to use scsi_cmd_ioctl().\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": "5bc65793cbf8da0d35f19ef025dda22887e79e80",
      "tree": "8291998abd73055de6f487fafa174ee2a5d3afee",
      "parents": [
        "6edae708bf77e012d855a7e2c7766f211d234f4f",
        "3f0a6766e0cc5a577805732e5adb50a585c58175"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Wed May 30 23:57:05 2007 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Wed May 30 23:57:05 2007 -0500"
      },
      "message": "[SCSI] Merge up to linux-2.6 head\n\nConflicts:\n\n\tdrivers/scsi/jazz_esp.c\n\nSame changes made by both SCSI and SPARC trees: problem with UTF-8\nconversion in the copyright.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "a6123f142924a5e21f6d48e6e3c67d9060726caa",
      "tree": "ff0014421b07b7fbbbfdf3fd6f1dff41397b1d9e",
      "parents": [
        "352e921f0dd42f79652cdb50dd91122d068d7209"
      ],
      "author": {
        "name": "Bernhard Walle",
        "email": "bwalle@suse.de",
        "time": "Mon May 21 17:15:26 2007 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Thu May 24 09:09:09 2007 -0500"
      },
      "message": "[SCSI] sd: remove __GFP_DMA\n\nAfter 821de3a27bf33f11ec878562577c586cd5f83c64, it\u0027s not necessary to\nalloate a DMA buffer any more in sd.c.\n\nSigned-off-by: Bernhard Walle \u003cbwalle@suse.de\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "09ff92fea2890c697a36d8b26f5a3ea725ef8fb4",
      "tree": "b7e2ba71e34fcf0344aa6a2f0537a3478d72e191",
      "parents": [
        "cab537d609fb718e9fb09d73e3e3e3062db25743"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon May 21 09:55:04 2007 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Tue May 22 14:08:24 2007 -0500"
      },
      "message": "[SCSI] sd: fix refcounting regression in suspend/resume routines\n\nThis patch (as909) fixes a couple of refcounting errors in the sd\ndriver\u0027s suspend and resume methods.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "d7b8bcb0a0819315a51cae620ff7ae0c1704c069",
      "tree": "13945e987d1654d58905bbb467b3671388d74746",
      "parents": [
        "44ec95425c1d9dce6e4638c29e4362cfb44814e7"
      ],
      "author": {
        "name": "Michael Tokarev",
        "email": "mjt@tls.msk.ru",
        "time": "Fri Oct 27 16:02:37 2006 +0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Tue Apr 17 18:15:04 2007 -0400"
      },
      "message": "[SCSI] modalias for scsi devices\n\nThe following patch adds support for sysfs/uevent modalias\nattribute for scsi devices (like disks, tapes, cdroms etc),\nbased on whatever current sd.c, sr.c, st.c and osst.c drivers\nsupports.\n\nThe modalias format is like this:\n\n scsi:type-0x04\n\n(for TYPE_WORM, handled by sr.c now).\n\nSeveral comments.\n\no This hexadecimal type value is because all TYPE_XXX constants\n  in include/scsi/scsi.h are given in hex, but __stringify() will\n  not convert them to decimal (so it will NOT be scsi:type-4).\n  Since it does not really matter in which format it is, while\n  both modalias in module and modalias attribute match each other,\n  I descided to go for that 0x%02x format (and added a comment in\n  include/scsi/scsi.h to keep them that way), instead of changing\n  them all to decimal.\n\no There was no .uevent routine for SCSI bus.  It might be a good\n  idea to add some more ueven environment variables in there.\n\no osst.c driver handles tapes too, like st.c, but only SOME tapes.\n  With this setup, hotplug scripts (or whatever is used by the\n  user) will try to load both st and osst modules for all SCSI\n  tapes found, because both modules have scsi:type-0x01 alias).\n  It is not harmful, but one extra module is no good either.\n  It is possible to solve this, by exporting more info in\n  modalias attribute, including vendor and device identification\n  strings, so that modalias becomes something like\n    scsi:type-0x12:vendor-Adaptec LTD:device-OnStream Tape Drive\n  and having that, match for all 3 attributes, not only device\n  type.  But oh well, vendor and device strings may be large,\n  and they do contain spaces and whatnot.\n  So I left them for now, awaiting for comments first.\n\nSigned-off-by: Michael Tokarev \u003cmjt@tls.msk.ru\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "cc5d2c8c64804564617a7be71c73a075a426d1c6",
      "tree": "4c5768222bc4f0133d1b45180a36e234f8b5cc0c",
      "parents": [
        "c3c94c5a2fb43a654e777f509d5032b0db8ed09f"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@steeleye.com",
        "time": "Tue Mar 20 12:26:03 2007 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Tue Mar 20 12:44:52 2007 -0500"
      },
      "message": "[SCSI] sd: fix up start/stop messages for new sd_printk() API\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "c3c94c5a2fb43a654e777f509d5032b0db8ed09f",
      "tree": "cbc9b0adfa0a83fc5859344d6f9911d3010a29ac",
      "parents": [
        "3721050afc6cb6ddf6de0f782e2054ebcc225e9b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Mar 21 00:13:59 2007 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Tue Mar 20 12:06:20 2007 -0500"
      },
      "message": "[SCSI] sd: implement START/STOP management\n\nImplement SBC START/STOP management.  sdev-\u003emange_start_stop is added.\nWhen it\u0027s set to one, sd STOPs the device on suspend and shutdown and\nSTARTs it on resume.  sdev-\u003emanage_start_stop defaults is in sdev\ninstead of scsi_disk cdev to allow -\u003eslave_config() override the\ndefault configuration but is exported under scsi_disk sysfs node as\nsdev-\u003eallow_restart is.\n\nWhen manage_start_stop is zero (the default value), this patch doesn\u0027t\nintroduce any behavior change.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n\nRejections fixed and\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "3721050afc6cb6ddf6de0f782e2054ebcc225e9b",
      "tree": "107f2b72a66674dc8769689335a248954bc8b8f5",
      "parents": [
        "ad8c31bb69d60c0c6bc6431bccdf67e5a96c0d31"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Mar 21 00:07:18 2007 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Tue Mar 20 11:33:32 2007 -0500"
      },
      "message": "[SCSI] sd: fix return value of sd_sync_cache()\n\nsd_sync_cache() should return -errno on error, fix it.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    }
  ],
  "next": "56937f7b78d3e495a9f557775f3c3ea1d50ca7b3"
}
