)]}'
{
  "log": [
    {
      "commit": "f4013c3879d1bbd9f3ab8351185decd049502368",
      "tree": "553f8978d8126d72c37e1ba172a36d80f6e9040f",
      "parents": [
        "2bae0093cab4ee0a7a8728fdfc35b74569350863"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Dec 28 16:20:47 2010 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Jan 14 09:17:35 2011 -0600"
      },
      "message": "[SCSI] sd,sr: kill compat SDEV_MEDIA_CHANGE event\n\nSDEV_MEDIA_CHANGE event was first added by commit a341cd0f (SCSI: add\nasynchronous event notification API) for SATA AN support and then\nextended to cover generic media change events by commit 285e9670\n([SCSI] sr,sd: send media state change modification events).\n\nThis event was mapped to block device in userland with all properties\nstripped to simulate CHANGE event on the block device, which, in turn,\nwas used to trigger further userspace action on media change.\n\nThe recent addition of disk event framework kept this event for\nbackward compatibility but it turns out to be unnecessary and causes\nerratic and inefficient behavior.  The new disk event generates proper\nevents on the block devices and the compat events are mapped to block\ndevice with all properties stripped, so the block device ends up\ngenerating multiple duplicate events for single actual event.\n\nThis patch removes the compat event generation from both sr and sd as\nsuggested by Kay Sievers.  Both existing and newer versions of udev\nand the associated tools will behave better with the removal of these\nevents as they from the beginning were expecting events on the block\ndevices.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "2bae0093cab4ee0a7a8728fdfc35b74569350863",
      "tree": "c80ef5a2f293ef01f72561535f476955a465ddba",
      "parents": [
        "52cfd503ad7176d23a5dd7af3981744feb60622f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sat Dec 18 18:42:23 2010 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Jan 14 09:17:34 2011 -0600"
      },
      "message": "[SCSI] sd: implement sd_check_events()\n\nReplace sd_media_change() with sd_check_events().\n\n* Move media removed logic into set_media_not_present() and\n  media_not_present() and set sdev-\u003echanged iff an existing media is\n  removed or the device indicates UNIT_ATTENTION.\n\n* Make sd_check_events() sets sdev-\u003echanged if previously missing\n  media becomes present.\n\n* Event is reported only if sdev-\u003echanged is set.\n\nThis makes media presence event reported if scsi_disk-\u003emedia_present\nactually changed or the device indicated UNIT_ATTENTION.  For backward\ncompatibility, SDEV_EVT_MEDIA_CHANGE is generated each time\nsd_check_events() detects media change event.\n\n[jejb: fix boot failure]\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "275220f0fcff1adf28a717076e00f575edf05fda",
      "tree": "d249bccc80c64443dab211639050c4fb14332648",
      "parents": [
        "fe3c560b8a22cb28e54fe8950abef38e88d75831",
        "81c5e2ae33c4b19e53966b427e33646bf6811830"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:45:01 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:45:01 2011 -0800"
      },
      "message": "Merge branch \u0027for-2.6.38/core\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.38/core\u0027 of git://git.kernel.dk/linux-2.6-block: (43 commits)\n  block: ensure that completion error gets properly traced\n  blktrace: add missing probe argument to block_bio_complete\n  block cfq: don\u0027t use atomic_t for cfq_group\n  block cfq: don\u0027t use atomic_t for cfq_queue\n  block: trace event block fix unassigned field\n  block: add internal hd part table references\n  block: fix accounting bug on cross partition merges\n  kref: add kref_test_and_get\n  bio-integrity: mark kintegrityd_wq highpri and CPU intensive\n  block: make kblockd_workqueue smarter\n  Revert \"sd: implement sd_check_events()\"\n  block: Clean up exit_io_context() source code.\n  Fix compile warnings due to missing removal of a \u0027ret\u0027 variable\n  fs/block: type signature of major_to_index(int) to major_to_index(unsigned)\n  block: convert !IS_ERR(p) \u0026\u0026 p to !IS_ERR_NOR_NULL(p)\n  cfq-iosched: don\u0027t check cfqg in choose_service_tree()\n  fs/splice: Pull buf-\u003eops-\u003econfirm() from splice_from_pipe actors\n  cdrom: export cdrom_check_events()\n  sd: implement sd_check_events()\n  sr: implement sr_check_events()\n  ...\n"
    },
    {
      "commit": "a8733c7baf457b071528e385a0b7d4aaec79287c",
      "tree": "5eb6b8c52b20cb604d76ba21b15304fda4703a06",
      "parents": [
        "e9ccc998b70fbe59626f393bb0328402159c6b5c"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 17 15:36:34 2010 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Dec 22 23:26:48 2010 -0600"
      },
      "message": "[SCSI] fix medium error problems with some arrays which can cause data corruption\n\nOur current handling of medium error assumes that data is returned up\nto the bad sector.  This assumption holds good for all disk devices,\nall DIF arrays and most ordinary arrays.  However, an LSI array engine\nwas recently discovered which reports a medium error without returning\nany data.  This means that when we report good data up to the medium\nerror, we\u0027ve reported junk originally in the buffer as good.  Worse,\nif the read consists of requested data plus a readahead, and the error\noccurs in readahead, we\u0027ll just strip off the readahead and report\njunk up to userspace as good data with no error.\n\nThe fix for this is to have the error position computation take into\naccount the amount of data returned by the driver using the scsi\nresidual data.  Unfortunately, not every driver fills in this data,\nbut for those who don\u0027t, it\u0027s set to zero, which means we\u0027ll think a\nfull set of data was transferred and the behaviour will be identical\nto the prior behaviour of the code (believe the buffer up to the error\nsector).  All modern drivers seem to set the residual, so that should\nfix up the LSI failure/corruption case.\n\nReported-by: Douglas Gilbert \u003cdgilbert@interlog.com\u003e\nCc: Stable Tree \u003cstable@kernel.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "fcc57045d53edc35bcce456e60ac4aa802712934",
      "tree": "d5dd145dcc4e32f14ab1da3102316c944a68d3c9",
      "parents": [
        "30a7caabbb8e8702b9cf453fee83f773d8b3430d"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Dec 22 09:48:49 2010 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Dec 22 09:48:49 2010 +0100"
      },
      "message": "Revert \"sd: implement sd_check_events()\"\n\nThis reverts commit c8d2e937355d02db3055c2fc203e5f017297ee1f.\n\nWe run into merging problems with the SCSI tree, revert this one\nso it can be handled by a postmerge tree there.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "24d720b726c1a85f1962831ac30ad4d2ef8276b1",
      "tree": "35d450ec6faa907e73717541a9921d32c6f2301f",
      "parents": [
        "00f0254ed9b19164d416dc2e3c2e81eda55a6faf"
      ],
      "author": {
        "name": "Luben Tuikov",
        "email": "ltuikov@yahoo.com",
        "time": "Fri Oct 22 21:24:36 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Tue Dec 21 12:23:53 2010 -0600"
      },
      "message": "[SCSI] Retrieve the Caching mode page\n\nSome kernel transport drivers unconditionally disable\nretrieval of the Caching mode page. One such for example is\nthe BBB/CBI transport over USB.  Such a restraint is too\nharsh as some devices do support the Caching mode\npage. Unconditionally enabling the retrieval of this mode\npage over those transports at their transport code level may\nresult in some devices failing and becoming unusable.\n\nThis patch implements a method of retrieving the Caching\nmode page without unconditionally enabling it in the\ntransports which unconditionally disable it. The idea is to\nask for all supported pages, page code 0x3F, and then search\nfor the Caching mode page in the mode parameter data\nreturned. The sd driver already asks for all the mode pages\nsupported by the attached device by setting the page code to\n0x3F in order to find out if the media is write protected by\nreading the WP bit in the Device Specific Parameter\nfield. It then attempts to retrieve only the Caching mode\npage by setting the page code to 8 and actually attempting\nto retrieve it if and only if the transport allows it.\n\nThe method implemented here is that if the transport doesn\u0027t\nallow retrieval of the Caching mode page and the device is\nnot RBC, then we ask for all pages supported by setting the\npage code to 0x3F (similarly to how the WP bit is retrieved\nabove), and then we search for the Caching mode page in the\nmode parameter data returned.\n\nWith this patch, devices over SATA, report this (no change):\n\nOct 22 18:45:58 localhost kernel: sd 0:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/465 GiB)\nOct 22 18:45:58 localhost kernel: sd 0:0:0:0: Attached scsi generic sg0 type 0\nOct 22 18:45:58 localhost kernel: sd 0:0:0:0: [sda] Write Protect is off\nOct 22 18:45:58 localhost kernel: sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00\nOct 22 18:45:58 localhost kernel: sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn\u0027t support DPO or FUA\n\nSmart devices report their Caching mode page. This is a\nchange where we\u0027d previously see the kernel making\nassumption about the device\u0027s cache being write-through:\n\nOct 22 18:45:58 localhost kernel: sd 6:0:0:0: Attached scsi generic sg2 type 0\nOct 22 18:45:58 localhost kernel: sd 6:0:0:0: [sdb] 610472646 4096-byte logical blocks: (2.50 TB/2.27 TiB)\nOct 22 18:45:58 localhost kernel: sd 6:0:0:0: [sdb] Write Protect is off\nOct 22 18:45:58 localhost kernel: sd 6:0:0:0: [sdb] Mode Sense: 47 00 10 08\nOct 22 18:45:58 localhost kernel: sd 6:0:0:0: [sdb] Write cache: enabled, read cache: enabled, supports DPO and FUA\n\nAnd \"dumb\" devices over BBB, are correctly shown not to\nsupport reporting the Caching mode page:\n\nOct 22 18:49:06 localhost kernel: sd 7:0:0:0: [sdc] 15663104 512-byte logical blocks: (8.01 GB/7.46 GiB)\nOct 22 18:49:06 localhost kernel: sd 7:0:0:0: [sdc] Write Protect is off\nOct 22 18:49:06 localhost kernel: sd 7:0:0:0: [sdc] Mode Sense: 23 00 00 00\nOct 22 18:49:06 localhost kernel: sd 7:0:0:0: [sdc] No Caching mode page present\nOct 22 18:49:06 localhost kernel: sd 7:0:0:0: [sdc] Assuming drive cache: write through\n\nSigned-off-by: Luben Tuikov \u003cltuikov@yahoo.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "3ff5588d3f8afad65ded52ac0e4191462fe034cb",
      "tree": "d75858a35c3f9042dc234e17772fe9d713e2ca9c",
      "parents": [
        "29687512c0b084957112cc2c0743ce34cd0d5055"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Tue Sep 07 11:44:01 2010 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Tue Dec 21 12:23:52 2010 -0600"
      },
      "message": "[SCSI] sd: improve logic and efficiecy of media-change detection\n\nThis patch (as1415) improves the formerly incomprehensible logic in\nsd_media_changed() (the current code refers to \"changed\" as a state,\nwhereas in fact it is a relation between two states).  It also adds a\nbig comment so that everyone can understand what is really going on.\n\nThe patch also improves efficiency by not reporting a media change\nwhen no medium was ever present.  If no medium was present the last\ntime we checked and there\u0027s still no medium, it\u0027s not necessary to\ntell the caller that a change occurred.  Doing so merely causes the\ncaller to attempt to revalidate a non-existent disk, which is a waste\nof time.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "c8d2e937355d02db3055c2fc203e5f017297ee1f",
      "tree": "a6055c0940d5e8d9f282da45adf43e84a038e470",
      "parents": [
        "93aae17af1172c40c6f74b7294e93a90c3cfaa5d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Dec 08 20:57:42 2010 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Dec 16 17:53:39 2010 +0100"
      },
      "message": "sd: implement sd_check_events()\n\nReplace sd_media_change() with sd_check_events().  sd used to set the\nchanged state whenever the device is not ready, which can cause event\nloop while the device is not ready.  Media presence handling code is\nchanged such that the changed state is set iff the media presence\nactually changes.  UA still always sets the changed state and\nNOT_READY always (at least where it used to set -\u003echanged) clears\nmedia presence, so no event is lost.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "9f8a2c23c6c1140f515f601265c4dff7522110b7",
      "tree": "6defb41e4b129c3772e0c6d40b5e8e9a29bea7f0",
      "parents": [
        "638428ece619495edc9579b1e21493eb00f9687c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Dec 08 20:57:40 2010 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Dec 16 17:53:39 2010 +0100"
      },
      "message": "scsi: replace sr_test_unit_ready() with scsi_test_unit_ready()\n\nThe usage of TUR has been confusing involving several different\ncommits updating different parts over time.  Currently, the only\ndifferences between scsi_test_unit_ready() and sr_test_unit_ready()\nare,\n\n* scsi_test_unit_ready() also sets sdev-\u003echanged on NOT_READY.\n\n* scsi_test_unit_ready() returns 0 if TUR ended with UNIT_ATTENTION or\n  NOT_READY.\n\nDue to the above two differences, sr is using its own\nsr_test_unit_ready(), but sd - the sole user of the above extra\nhandling - doesn\u0027t even need them.\n\nWhere scsi_test_unit_ready() is used in sd_media_changed(), the code\nis looking for device ready w/ media present state which is true iff\nTUR succeeds w/o sense data or UA, and when the device is not ready\nfor whatever reason sd_media_changed() explicitly marks media as\nmissing so there\u0027s no reason to set sdev-\u003echanged automatically from\nscsi_test_unit_ready() on NOT_READY.\n\nDrop both special handlings from scsi_test_unit_ready(), which makes\nit equivalant to sr_test_unit_ready(), and replace\nsr_test_unit_ready() with scsi_test_unit_ready().  Also, drop the\nunnecessary explicit NOT_READY check from sd_media_changed().\nChecking return value is enough for testing device readiness.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "451a3c24b0135bce54542009b5fde43846c7cf67",
      "tree": "f0fbbcc155aef2a1ffcb8aa593fe7a966d0e6900",
      "parents": [
        "55f6561c6941713ab5ae9180525b026dd40b7d14"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Nov 17 16:26:55 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 17 08:59:32 2010 -0800"
      },
      "message": "BKL: remove extraneous #include \u003csmp_lock.h\u003e\n\nThe big kernel lock has been removed from all these files at some point,\nleaving only the #include.\n\nRemove this too as a cleanup.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "518fa8e39bafd2431c28adb8822bb6c3e4d1a390",
      "tree": "081b80a9ae9cee54018272cf331800d2dc52e6ab",
      "parents": [
        "349ed5a060397fcccc542a0314f236b420bd4ad1"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri Oct 08 01:36:24 2010 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Mon Oct 25 14:57:44 2010 -0500"
      },
      "message": "[SCSI] sd: Export effective protection mode in sysfs\n\nCreate a sysfs entry that reports the negotiated DIX/DIF protection mode\nfor a SCSI disk. This depends on the protection type the disk is\nformatted with as well as the protection capabilities advertised by the\ncontroller.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "5cc103506289de7ee0a0b526ae0381541990cad4",
      "tree": "ae8a4958e70c6d1295030b40e333dcc007b3c074",
      "parents": [
        "73ecf3a6e3f0206bf56a0fefe3b3eda042fb7034",
        "92ca0dc5ee022e4c0e488177e1d8865a0778c6c2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 20:30:48 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 20:30:48 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (141 commits)\n  USB: mct_u232: fix broken close\n  USB: gadget: amd5536udc.c: fix error path\n  USB: imx21-hcd - fix off by one resource size calculation\n  usb: gadget: fix Kconfig warning\n  usb: r8a66597-udc: Add processing when USB was removed.\n  mxc_udc: add workaround for ENGcm09152 for i.MX35\n  USB: ftdi_sio: add device ids for ScienceScope\n  USB: musb: AM35x: Workaround for fifo read issue\n  USB: musb: add musb support for AM35x\n  USB: AM35x: Add musb support\n  usb: Fix linker errors with CONFIG_PM\u003dn\n  USB: ohci-sh - use resource_size instead of defining its own resource_len macro\n  USB: isp1362-hcd - use resource_size instead of defining its own resource_len macro\n  USB: isp116x-hcd - use resource_size instead of defining its own resource_len macro\n  USB: xhci: Fix compile error when CONFIG_PM\u003dn\n  USB: accept some invalid ep0-maxpacket values\n  USB: xHCI: PCI power management implementation\n  USB: xHCI: bus power management implementation\n  USB: xHCI: port remote wakeup implementation\n  USB: xHCI: port power management implementation\n  ...\n\nManually fix up (non-data) conflict: the SCSI merge gad renamed the\n\u0027hw_sector_size\u0027 member to \u0027physical_block_size\u0027, and the USB tree\nbrought a new use of it.\n"
    },
    {
      "commit": "c70b5296e775cde46cfcb2d860ba160108a5ec7a",
      "tree": "30419cb982acca44499236adcca65f2f87698c74",
      "parents": [
        "80c226fbef56576946c9655fcb2ab62e63404d12",
        "58ff4bd042adf8013c8f70fd03c2c0f8d022e387"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 17:34:15 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 17:34:15 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (84 commits)\n  [SCSI] be2iscsi: SGE Len \u003d\u003d 64K\n  [SCSI] be2iscsi: Remove premature free of cid\n  [SCSI] be2iscsi: More time for FW\n  [SCSI] libsas: fix bug for vacant phy\n  [SCSI] sd: Fix overflow with big physical blocks\n  [SCSI] st: add MTWEOFI to write filemarks without flushing drive buffer\n  [SCSI] libsas: Don\u0027t issue commands to devices that have been hot-removed\n  [SCSI] megaraid_sas: Add Online Controller Reset to MegaRAID SAS drive\n  [SCSI] lpfc 8.3.17: Update lpfc driver version to 8.3.17\n  [SCSI] lpfc 8.3.17: Replace function reset methodology\n  [SCSI] lpfc 8.3.17: SCSI fixes\n  [SCSI] lpfc 8.3.17: BSG fixes\n  [SCSI] lpfc 8.3.17: SLI Additions and Fixes\n  [SCSI] lpfc 8.3.17: Code Cleanup and Locking fixes\n  [SCSI] zfcp: Remove scsi_cmnd-\u003eserial_number from debug traces\n  [SCSI] ipr: fix array error logging\n  [SCSI] aha152x: enable PCMCIA on 64bit\n  [SCSI] scsi_dh_alua: Handle all states correctly\n  [SCSI] cxgb4i: connection and ddp setting update\n  [SCSI] cxgb3i: fixed connection over vlan\n  ...\n"
    },
    {
      "commit": "5ce524bdff367b4abda20bcfd4dafd9d30c773df",
      "tree": "97b48a75d6a475cb71367d3a1ce7cc7f17680122",
      "parents": [
        "ae38c78a03e1b77ad45248fcf097e4568e740209"
      ],
      "author": {
        "name": "Hans de Goede",
        "email": "hdegoede@redhat.com",
        "time": "Fri Oct 01 14:20:10 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 22 10:22:05 2010 -0700"
      },
      "message": "scsi/sd: add a no_read_capacity_16 scsi_device flag\n\nI seem to have a knack for digging up buggy usb devices which don\u0027t work\nwith Linux, and I\u0027m crazy enough to try to make them work.  So this time a\nfriend of mine asked me to get an mp4 player (an mp3 player which can play\nvideos on a small screen) to work with Linux.\n\nIt is based on the well known rockbox chipset for which we already have an\nunusual devs entries to work around some of its bugs.  But this model\ncomes with an additional twist.\n\nThis model chokes on read_capacity_16 calls.  Now normally we don\u0027t make\nthose calls, but this model comes with an sdcard slot and when there is no\ncard in there (and shipped from the factory there is none), it reports a\nsize of 0.  However this time the programmers actually got the\nread_capacity_10 response right!  So they substract one from the size as\nstored internally in the mp3 player before reporting it back, resulting in\nan answer of ...  0xffffffff sectors, causing sd.c to try a\nread_capacity_16, on which the device crashes.\n\nThis patch adds a flag to scsi_device to indicate that a a device cannot\nhandle read_capacity_16, and when this flag is set if a device reports an\nlba of 0xffffffff as answer to a read_capacity_10, assumes it tries to\nreport a size of 0.\n\nSigned-off-by: Hans de Goede \u003chdegoede@redhat.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Matthew Dharm \u003cmdharm-usb@one-eyed-alien.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "fa251f89903d73989e2f63e13d0eaed1e07ce0da",
      "tree": "3f7fe779941e3b6d67754dd7c44a32f48ea47c74",
      "parents": [
        "dd3932eddf428571762596e17b65f5dc92ca361b",
        "cd07202cc8262e1669edff0d97715f3dd9260917"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Oct 19 09:13:04 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Oct 19 09:13:04 2010 +0200"
      },
      "message": "Merge branch \u0027v2.6.36-rc8\u0027 into for-2.6.37/barrier\n\nConflicts:\n\tblock/blk-core.c\n\tdrivers/block/loop.c\n\tmm/swapfile.c\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "526f7c7950bbf1271e59177d70d74438c2ef96de",
      "tree": "5e8550890534e73a307e53707d68ccbedaac62af",
      "parents": [
        "3e51d3c924aea8a1f1372e6c615b0a37b528121d"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Tue Sep 28 14:48:47 2010 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Mon Oct 11 17:33:20 2010 -0500"
      },
      "message": "[SCSI] sd: Fix overflow with big physical blocks\n\nThe hw_sector_size variable could overflow if a device reported huge\nphysical blocks.  Switch to the more accurate physical_block_size\nterminology and make sure we use an unsigned int to match the range\npermitted by READ CAPACITY(16).\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "1a03ae0f556a931aa3747b70e44b78308f5b0590",
      "tree": "b31139e3dcffb4a890f40e1b7b875569dcec80ce",
      "parents": [
        "43ca910a9c90566308f39f51ac03a55f94a5f83c"
      ],
      "author": {
        "name": "Michael Reed",
        "email": "mdr@sgi.com",
        "time": "Mon Sep 20 11:20:22 2010 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Oct 07 17:16:28 2010 -0500"
      },
      "message": "[SCSI] sd name space exhaustion causes system hang\n\nFollowing a site power outage which re-enabled all the ports on my FC\nswitches, my system subsequently booted with far too many luns!  I had\nlet it run hoping it would make multi-user.  It didn\u0027t.  :(  It hung solid\nafter exhausting the last sd device, sdzzz, and attempting to create sdaaaa\nand beyond.  I was unable to get a dump.\n\nDiscovered using a 2.6.32.13 based system.\n\ncorrect this by detecting when the last index is utilized and failing\nthe sd probe of the device.  Patch applies to scsi-misc-2.6.\n\nSigned-off-by: Michael Reed \u003cmdr@sgi.com\u003e\nCc: Stable Tree \u003cstable@kernel.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "045d3fe766b01921e24e2d4178e011b3b09ad4d6",
      "tree": "ae0d69a0181def3bea7e7387d79e61ee943cc940",
      "parents": [
        "a36c61f9025b8924f99f54d518763bee7aa84085"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri Sep 10 01:22:07 2010 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Sep 17 13:07:55 2010 -0400"
      },
      "message": "[SCSI] sd: Update thin provisioning support\n\nAdd support for the Thin Provisioning VPD page and use the TPU and TPWS\nbits to switch between UNMAP and WRITE SAME(16) for discards.  If no TP\nVPD page is present we fall back to old scheme where the max descriptor\ncount combined with the max lba count are used trigger UNMAP.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "4913efe456c987057e5d36a3f0a55422a9072cae",
      "tree": "295f04a7214e1933df3301dd42c12ff3f282a22c",
      "parents": [
        "6958f145459ca7ad9715024de97445addacb8510"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Sep 03 11:56:16 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri Sep 10 12:35:36 2010 +0200"
      },
      "message": "block: deprecate barrier and replace blk_queue_ordered() with blk_queue_flush()\n\nBarrier is deemed too heavy and will soon be replaced by FLUSH/FUA\nrequests.  Deprecate barrier.  All REQ_HARDBARRIERs are failed with\n-EOPNOTSUPP and blk_queue_ordered() is replaced with simpler\nblk_queue_flush().\n\nblk_queue_flush() takes combinations of REQ_FLUSH and FUA.  If a\ndevice has write cache and can flush it, it should set REQ_FLUSH.  If\nthe device can handle FUA writes, it should also set REQ_FUA.\n\nAll blk_queue_ordered() users are converted.\n\n* ORDERED_DRAIN is mapped to 0 which is the default value.\n* ORDERED_DRAIN_FLUSH is mapped to REQ_FLUSH.\n* ORDERED_DRAIN_FLUSH_FUA is mapped to REQ_FLUSH | REQ_FUA.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\nCc: Stefan Weinhuber \u003cwein@de.ibm.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "6958f145459ca7ad9715024de97445addacb8510",
      "tree": "c8c945eb68ceb88bd34647d7bcaedd13a0d753ca",
      "parents": [
        "589d7ed02ade0d06a3510da2e15a7edfdb2ef3d8"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Sep 03 11:56:16 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri Sep 10 12:35:36 2010 +0200"
      },
      "message": "block: kill QUEUE_ORDERED_BY_TAG\n\nNobody is making meaningful use of ORDERED_BY_TAG now and queue\ndraining for barrier requests will be removed soon which will render\nthe advantage of tag ordering moot.  Kill ORDERED_BY_TAG.  The\nfollowing users are affected.\n\n* brd: converted to ORDERED_DRAIN.\n* virtio_blk: ORDERED_TAG path was already marked deprecated.  Removed.\n* xen-blkfront: ORDERED_TAG case dropped.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "7e443312403ad1ff40ef3177590e96d1fe747c79",
      "tree": "50a5428e88d62c5d02e045614fc31c05194d1be4",
      "parents": [
        "0fb576d8251c10f498ed4c6938aeeed8d0c93cfe"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Tue Sep 07 11:27:52 2010 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Tue Sep 07 10:31:54 2010 -0500"
      },
      "message": "[SCSI] sd: fix medium-removal bug\n\nCommit 409f3499a2cfcd1e9c2857c53af7fcce069f027f (scsi/sd: remove big\nkernel lock) introduced a bug in the sd_release routine.  Medium\nremoval should be allowed when the number of open file references\ndrops to 0, not when it becomes non-zero.\n\nThis patch (as1414) adjusts the test to fix the bug.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "e3b3e6246726cd05950677ed843010b8e8c5884c",
      "tree": "587375d4709159d4fe435dabedc6f3fcf0ab71f8",
      "parents": [
        "1c1acab0367d88ad5da2b9db2efdf2699113ec88"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "mchristi@redhat.com",
        "time": "Wed Aug 11 11:06:25 2010 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Sep 05 14:57:04 2010 -0300"
      },
      "message": "[SCSI] scsi/block: increase flush/sync timeout\n\nWe have been seeing the flush request timeout with a wide\nrange of hardware from tgt+iser to FC targets from a major vendor.\n\nAfter discussions about if the value should be configurable and\nwhat the best value should be, this patch just increases the flush/sync\ncache timeout to 1 minute. 2 minutes was determined to be too long, and\nmaking it configurable was troublesome for users.\n\nThis patch was made over Linus\u0027s tree. It is not made over scsi-misc\nor scsi-rc-fixes, because Linus\u0027s had block layer changes that my\npatch was built over.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nAcked-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "2e4c332913b5d39fef686b3964098f0d8fd97ead",
      "tree": "7b343bb79761a91c6d684c7436e5d31c287888fe",
      "parents": [
        "6f131ce1dfa9b283ddc212df42b015d152c670a5"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 31 13:35:31 2010 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 02 17:23:20 2010 -0300"
      },
      "message": "[SCSI] sd, sym53c8xx: Remove warnings after vsprintf %pV introducation.\n\nGCC warns about empty printf format strings, and after\nthe addition of %pV these existing such cases in the\nscsi driver layer were exposed enough for the compiler\nto start seeing them.\n\nBased almost entirely upon a patch by Joe Perches.\n\n[jejb: fix up sym53c8xx msg]\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "439d77f70f18ebe2b28757b141e67a25575fe363",
      "tree": "4702cd2db3252a33e8b985db3ffa75e594687efe",
      "parents": [
        "d6e9fb46cd9e60946dc3e89ad8e32dd251dcc05d"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Tue Aug 10 18:01:20 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:01 2010 -0700"
      },
      "message": "scsi/sd.c: quiet all sparse noise\n\nIn sd_store_cache_type the symbol \u0027len\u0027 is declared twice.  Remove the\nsecond declaration to quiet the following sparse warning.\n\nwarning: symbol \u0027len\u0027 shadows an earlier one\n\nIn sd_probe the variable \u0027index\u0027 is declared as a u32.  This variable is\nused in a call to ida_get_new which is expecting an int *.  Make the\nvariable an int to quiet the following sparse warning.\n\nwarning: incorrect type in argument 2 (different signedness)\n\nThere are 4 symbols in the file that are not exported and produce\nthe following sparse warnings.\n\nwarning: symbol \u0027sd_cdb_cache\u0027 was not declared. Should it be static?\nwarning: symbol \u0027sd_cdb_pool\u0027 was not declared. Should it be static?\nwarning: symbol \u0027sd_read_protection_type\u0027 was not declared. Should it be static?\nwarning: symbol \u0027sd_read_app_tag_own\u0027 was not declared. Should it be static?\n\nMake them static to quiet the warnings.\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nCc: James E.J. Bottomley \u003cJames.Bottomley@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2f9e825d3e0e2b407ae8f082de5c00afcf7378fb",
      "tree": "f8b3ee40674ce4acd5508a0a0bf52a30904caf6c",
      "parents": [
        "7ae0dea900b027cd90e8a3e14deca9a19e17638b",
        "de75d60d5ea235e6e09f4962ab22541ce0fe176a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 15:22:42 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 15:22:42 2010 -0700"
      },
      "message": "Merge branch \u0027for-2.6.36\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.36\u0027 of git://git.kernel.dk/linux-2.6-block: (149 commits)\n  block: make sure that REQ_* types are seen even with CONFIG_BLOCK\u003dn\n  xen-blkfront: fix missing out label\n  blkdev: fix blkdev_issue_zeroout return value\n  block: update request stacking methods to support discards\n  block: fix missing export of blk_types.h\n  writeback: fix bad _bh spinlock nesting\n  drbd: revert \"delay probes\", feature is being re-implemented differently\n  drbd: Initialize all members of sync_conf to their defaults [Bugz 315]\n  drbd: Disable delay probes for the upcomming release\n  writeback: cleanup bdi_register\n  writeback: add new tracepoints\n  writeback: remove unnecessary init_timer call\n  writeback: optimize periodic bdi thread wakeups\n  writeback: prevent unnecessary bdi threads wakeups\n  writeback: move bdi threads exiting logic to the forker thread\n  writeback: restructure bdi forker loop a little\n  writeback: move last_active to bdi\n  writeback: do not remove bdi from bdi_list\n  writeback: simplify bdi code a little\n  writeback: do not lose wake-ups in bdi threads\n  ...\n\nFixed up pretty trivial conflicts in drivers/block/virtio_blk.c and\ndrivers/scsi/scsi_error.c as per Jens.\n"
    },
    {
      "commit": "e96f6abe02fc3320d669985443e8c68ff8e83294",
      "tree": "52129ba43d1e57fb4446facde52071efb3a65ff0",
      "parents": [
        "16f2319fd67b169c0b34391d3fa0870fff129891"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Fri Jul 09 09:38:26 2010 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:52:41 2010 +0200"
      },
      "message": "scsi: use REQ_TYPE_FS for flush request\n\nscsi-ml uses REQ_TYPE_BLOCK_PC for flush requests from file\nsystems. The definition of REQ_TYPE_BLOCK_PC is that we don\u0027t retry\nrequests even when we can (e.g. UNIT ATTENTION) and we send the\nresponse to the callers (then the callers can decide what they want).\nWe need a workaround such as the commit\n77a4229719e511a0d38d9c355317ae1469adeb54 to retry BLOCK_PC flush\nrequests. We will need the similar workaround for discard requests too\nsince SCSI-ml handle them as BLOCK_PC internally.\n\nThis uses REQ_TYPE_FS for flush requests from file systems instead of\nREQ_TYPE_BLOCK_PC.\n\nscsi-ml retries only REQ_TYPE_FS requests that have data to\ntransfer when we can retry them (e.g. UNIT_ATTENTION). However, we\nalso need to retry REQ_TYPE_FS requests without data because the\ncallers don\u0027t.\n\nThis also changes scsi_check_sense() to retry all the REQ_TYPE_FS\nrequests when appropriate. Thanks to scsi_noretry_cmd(),\nREQ_TYPE_BLOCK_PC requests don\u0027t be retried as before.\n\nNote that basically, this reverts the commit\n77a4229719e511a0d38d9c355317ae1469adeb54 since now we use REQ_TYPE_FS\nfor flush requests.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "6a32a8aed509e71137043d464db4a7fcd88c903e",
      "tree": "66689f31e570805a29ef129cc9ebe4c088d47837",
      "parents": [
        "8112586063fe53958d60218631d661533f304504"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Wed Jul 21 10:29:37 2010 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:52:31 2010 +0200"
      },
      "message": "scsi: convert discard to REQ_TYPE_FS from REQ_TYPE_BLOCK_PC\n\nJens, any reason why this isn\u0027t included in your for-2.6.36 yet?\n\n\u003d\nFrom: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSubject: [PATCH resend] scsi: convert discard to REQ_TYPE_FS from REQ_TYPE_BLOCK_PC\n\nThe block layer (file systems) sends discard requests as REQ_TYPE_FS\n(the role of REQ_TYPE_FS is that setting up commands and interpreting\nthe results). But SCSI-ml treats discard requests as\nREQ_TYPE_BLOCK_PC.\n\nscsi-ml can handle discard requests as REQ_TYPE_FS\neasily. scsi_setup_discard_cmnd() sets up struct request and the bio\nnicely. Only remaining issue is that discard requests can\u0027t be\ncompleted partially so we need to modify sd_done.\n\nThis conversion also fixes the problem that discard requests aren\u0027t\nretried when possible (e.g. UNIT ATTENTION).\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "409f3499a2cfcd1e9c2857c53af7fcce069f027f",
      "tree": "7275165954c7f1143d219f4b141888d6c0a5a4ab",
      "parents": [
        "15392efb9d427482754f6d267262452878667499"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Jul 07 16:51:29 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:26:08 2010 +0200"
      },
      "message": "scsi/sd: remove big kernel lock\n\nEvery user of the BKL in the sd driver is the\nresult of the pushdown from the block layer\ninto the open/close/ioctl functions.\n\nThe only place that used to rely on the BKL is\nthe sdkp-\u003eopeners variable, which gets converted\ninto an atomic_t.\n\nNothing else seems to rely on the BKL, since the\nfunctions do not touch global data without holding\nanother lock, and the open/close functions are\nstill protected from concurrent execution using\nthe bdev-\u003ebd_mutex.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: linux-scsi@vger.kernel.org\nCc: \"James E.J. Bottomley\" \u003cJames.Bottomley@suse.de\u003e\nAcked-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "6e9624b8caec290d28b4c6d9ec75749df6372b87",
      "tree": "47225b544e1da82742795553dc4e8aa70c17afdc",
      "parents": [
        "8a6cfeb6deca3a8fefd639d898b0d163c0b5d368"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sat Aug 07 18:25:34 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:25:34 2010 +0200"
      },
      "message": "block: push down BKL into .open and .release\n\nThe open and release block_device_operations are currently\ncalled with the BKL held. In order to change that, we must\nfirst make sure that all drivers that currently rely\non this have no regressions.\n\nThis blindly pushes the BKL into all .open and .release\noperations for all block drivers to prepare for the\nnext step. The drivers can subsequently replace the BKL\nwith their own locks or remove it completely when it can\nbe shown that it is not needed.\n\nThe functions blkdev_get and blkdev_put are the only\nremaining users of the big kernel lock in the block\nlayer, besides a few uses in the ioctl code, none\nof which need to serialize with blkdev_{get,put}.\n\nMost of these two functions is also under the protection\nof bdev-\u003ebd_mutex, including the actual calls to\n-\u003eopen and -\u003erelease, and the common code does not\naccess any global data structures that need the BKL.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "8a6cfeb6deca3a8fefd639d898b0d163c0b5d368",
      "tree": "9a633ad48c3b1ada0519ee7bade0602f940037f6",
      "parents": [
        "34484062445fe905bf02c72f87ddda21881acda3"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Jul 08 10:18:46 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:25:00 2010 +0200"
      },
      "message": "block: push down BKL into .locked_ioctl\n\nAs a preparation for the removal of the big kernel\nlock in the block layer, this removes the BKL\nfrom the common ioctl handling code, moving it\ninto every single driver still using it.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "610a63498f7f366031a6327eaaa9963ffa110b2b",
      "tree": "8ea7f0c9e1e2f41ee09677909a3491adeee31799",
      "parents": [
        "9e094383b60066996fbc3b53891324e5d2ec858d"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Thu Jul 08 10:16:17 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:24:28 2010 +0200"
      },
      "message": "scsi: fix discard page leak\n\nWe leak a page allocated for discard on some error conditions\n(e.g. scsi_prep_state_check returns BLKPREP_DEFER in\nscsi_setup_blk_pc_cmnd).\n\nWe unprep on requests that weren\u0027t prepped in the error path of\nscsi_init_io. It makes the error path to clean up scsi commands messy.\n\nLet\u0027s strictly apply the rule that we can\u0027t unprep on a request that\nwasn\u0027t prepped.\n\nCalling just scsi_put_command() in the error path of scsi_init_io() is\nenough. We don\u0027t set REQ_DONTPREP yet.\n\nscsi_setup_discard_cmnd can safely free a page on the error case with\nthe above rule.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "82b6d57fb11644fe25c8a1346627ad0027673dae",
      "tree": "0270b7eb3e995f88cbe1e8626153af15a5cc05d8",
      "parents": [
        "00fff26539bfe3fad21c164fc4002d9ede056fb0"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Sat Jul 03 08:07:04 2010 -0600"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:24:15 2010 +0200"
      },
      "message": "scsi: need to reset unprep_rq_fn in sd_remove\n\nThis is for block\u0027s for-2.6.36.\n\nWe need to reset q-\u003eunprep_rq_fn in sd_remove. Otherwise we hit kernel\noops if we access to a scsi disk device via sg after removing scsi\ndisk module.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "00fff26539bfe3fad21c164fc4002d9ede056fb0",
      "tree": "4909c8eed03133b1d46f689e465ed1f579b8e282",
      "parents": [
        "afc23068103ccfbf1917eb2a007bc15ab5418cc9"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Sat Jul 03 17:45:40 2010 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:24:15 2010 +0200"
      },
      "message": "block: remove q-\u003eprepare_flush_fn completely\n\nThis removes q-\u003eprepare_flush_fn completely (changes the\nblk_queue_ordered API).\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "90467c294aba7f911bdae72ed86995cf1de4d364",
      "tree": "f1b516586b02a477d78ccc627b0c298c2be982a3",
      "parents": [
        "b6a903151d05e3912ab66b186f74c61851efb88c"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Sat Jul 03 17:45:34 2010 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:23:58 2010 +0200"
      },
      "message": "scsi: stop using q-\u003eprepare_flush_fn\n\nscsi-ml builds flush requests via q-\u003eprepare_flush_fn(), however,\nbuilds discard requests via q-\u003eprep_rq_fn.\n\nUsing two different mechnisms for the similar requests (building\ncommands in SCSI ULD) doesn\u0027t make sense.\n\nHanding both via q-\u003eprep_rq_fn makes the code design simpler.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: James Bottomley \u003cJames.Bottomley@suse.de\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "802447c1c0513a0ea0e29d6bda23b19ac0686654",
      "tree": "9504fcb73862dc97534d0300f8adb87c0c65d002",
      "parents": [
        "f1126e950d28ff875d96ed6a04a9ff96c7bfc357"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Thu Jul 01 19:49:19 2010 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:23:51 2010 +0200"
      },
      "message": "scsi: remove unused free discard page in sd_done\n\n- sd_done isn\u0027t called for pc request so we never call the code.\n- we use sd_unprep to free discard page now.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "f1126e950d28ff875d96ed6a04a9ff96c7bfc357",
      "tree": "4d7217b91a658c1c8fa31325f39b102377765f21",
      "parents": [
        "28018c242a4ec7017bbbf81d2d3952f820a27118"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Thu Jul 01 19:49:18 2010 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:23:49 2010 +0200"
      },
      "message": "scsi: add sd_unprep_fn to free discard page\n\nThis fixes discard page leak by using q-\u003eunprep_rq_fn facility.\n\nq-\u003eunprep_rq_fn is called when all the data buffer (req-\u003ebio and\nscsi_data_buffer) in the request is freed.\n\nsd_unprep() uses rq-\u003ebuffer to free discard page allocated in\nsd_prepare_discard().\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "66ac0280197981f88774e74b60c8e5f9f07c1dba",
      "tree": "d093ce493146779926df88b5831805c6f9ee14e1",
      "parents": [
        "082439004b31adc146e96e5f1c574dd2b57dcd93"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 18 16:59:42 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:23:08 2010 +0200"
      },
      "message": "block: don\u0027t allocate a payload for discard request\n\nAllocating a fixed payload for discard requests always was a horrible hack,\nand it\u0027s not coming to byte us when adding support for discard in DM/MD.\n\nSo change the code to leave the allocation of a payload to the lowlevel\ndriver.  Unfortunately that means we\u0027ll need another hack, which allows\nus to update the various block layer length fields indicating that we\nhave a payload.  Instead of hiding this in sd.c, which we already partially\ndo for UNMAP support add a documented helper in the core block layer for it.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nAcked-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "33659ebbae262228eef4e0fe990f393d1f0ed941",
      "tree": "fcb537f09359c8dad3a6f6e16dc4319562dc42cc",
      "parents": [
        "7e005f79791dcd58436c88ded4a7f5aed1b82147"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sat Aug 07 18:17:56 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:17:56 2010 +0200"
      },
      "message": "block: remove wrappers for request type/flags\n\nRemove all the trivial wrappers for the cmd_type and cmd_flags fields in\nstruct requests.  This allows much easier grepping for different request\ntypes instead of unwinding through macros.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "478a8a0543021172220feeb0b39bb1b3e43c988f",
      "tree": "c80eb31436487294a43d23ad3869576a620fe1d3",
      "parents": [
        "bc4f24014de58f045f169742701a6598884d93db"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Jun 16 14:52:17 2010 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:07:50 2010 -0500"
      },
      "message": "[SCSI] sd: add support for runtime PM\n\nThis patch (as1399) adds runtime-PM support to the sd driver.  The\nsupport is unsophisticated: If a SCSI disk device is mounted, or if\nits device file is held open, then the device will not be\nruntime-suspended; otherwise it will (provided userspace gives\npermission by writing \"auto\" to the sysfs power/control attribute).\n\nIn order to make this work, a dev_set_drvdata() call had to be moved\nfrom sd_probe_async() to sd_probe().  Also, a few lines of code were\nchanged to use a local variable instead of recalculating the address\nof an embedded struct device.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "72ec24bd7725545bc149d80cbd21a7578d9aa206",
      "tree": "a67f8fdda3b0dd69bb45ca19508b68431f1b69d8",
      "parents": [
        "ed4e2f801cf1484a68c4b41878353f26e6554c6a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sat May 15 20:09:32 2010 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Wed Jun 02 13:50:04 2010 -0400"
      },
      "message": "SCSI: implement sd_unlock_native_capacity()\n\nImplement sd_unlock_native_capacity() method which calls into\nhostt-\u003eunlock_native_capacity() if implemented.  This will be invoked\nby block layer if partitions extend beyond the end of the device and\ncan be used to implement, for example, on-demand ATA host protected\narea unlocking.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "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"
    }
  ],
  "next": "870d6656126add8e383645732b03df2b7ccd4f94"
}
