)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "870d6656126add8e383645732b03df2b7ccd4f94",
      "tree": "9c33dd91350ea163b160d9f5cb40d913c5caf268",
      "parents": [
        "f615b48cc7df7cac3865ec76ac1a5bb04d3e07f4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:47:25 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:06 2008 +0200"
      },
      "message": "block: implement CONFIG_DEBUG_BLOCK_EXT_DEVT\n\nExtended devt introduces non-contiguos device numbers.  This patch\nimplements a debug option which forces most devt allocations to be\nfrom the extended area and spreads them out.  This is enabled by\ndefault if DEBUG_KERNEL is set and achieves...\n\n1. Detects code paths in kernel or userland which expect predetermined\n   consecutive device numbers.\n\n2. When something goes wrong, avoid corruption as adding to the minor\n   of earlier partition won\u0027t lead to the wrong but valid device.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f615b48cc7df7cac3865ec76ac1a5bb04d3e07f4",
      "tree": "a61ba32641118296ecc942814e03b4b0ababfa63",
      "parents": [
        "1f0142905d4812966831613847db38a66da29eb8"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:47:24 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:06 2008 +0200"
      },
      "message": "sd/ide-disk: apply extended minors to sd and ide\n\nUpdate sd and ide-disk such that they can take advantage of extended\nminors.\n\nide-disk already has 64 minors per device and currently doesn\u0027t use\nextended minors although after this patch it can be turned on by\nsimply tweaking constants.\n\nsd only had 16 minors per device causing problems on certain peculiar\nconfigurations.  This patch lifts the restriction and enables it to\nuse upto 64 minors.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7404ad3b6d04efbd918e9e2e776bf560fbedf47d",
      "tree": "d2f85a9230d78272329aa522d71068cefbbef7cb",
      "parents": [
        "3c9f3681d0b4af09c1cbf04f92fdfb72bd81ad7b"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Aug 31 10:41:52 2008 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Oct 03 11:46:15 2008 -0500"
      },
      "message": "[SCSI] sd: use generic helper to print capacities in both binary and SI\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "2dc75d3c3b49c64fd26b4832a7efb75546cb3fc5",
      "tree": "908ae81851ca06d46a680d8e6c33afdfb292c131",
      "parents": [
        "adee14b2e1557d0a8559f29681732d05a89dfc35"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Sep 11 14:20:23 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Sep 11 14:20:23 2008 +0200"
      },
      "message": "block: disable sysfs parts of the disk command filter\n\nWe still have life time issues with the sysfs command filter kobject,\nso disable it for 2.6.27 release. We can revisit this and make it work\nproperly for 2.6.28, for 2.6.27 release it\u0027s too risky.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "bb23b431db7405f6d79f989ad0236bf6428ba1cb",
      "tree": "481c179e97bf72b206e51ef594c7bb3fb32af72f",
      "parents": [
        "24342c34a022ee90839873d91396045e12ef1090"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Fri Aug 29 11:47:07 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Aug 29 11:47:07 2008 +0200"
      },
      "message": "remove blk_register_filter and blk_unregister_filter in gendisk\n\nThis patch remove blk_register_filter and blk_unregister_filter in\ngendisk, and adds them to sd.c, sr.c. and ide-cd.c\n\nThe commit abf5439370491dd6fbb4fe1a7939680d2a9bc9d4 moved cmdfilter\nfrom gendisk to request_queue. It turned out that in some subsystems\nmultiple gendisks share a single request_queue. So we get:\n\nUsing physmap partition information\nCreating 3 MTD partitions on \"physmap-flash\":\n0x00000000-0x01c00000 : \"User FS\"\n0x01c00000-0x01c40000 : \"booter\"\nkobject (8511c410): tried to init an initialized object, something is seriously wrong.\nCall Trace:\n[\u003c8036644c\u003e] dump_stack+0x8/0x34\n[\u003c8021f050\u003e] kobject_init+0x50/0xcc\n[\u003c8021fa18\u003e] kobject_init_and_add+0x24/0x58\n[\u003c8021d20c\u003e] blk_register_filter+0x4c/0x64\n[\u003c8021c194\u003e] add_disk+0x78/0xe0\n[\u003c8027d14c\u003e] add_mtd_blktrans_dev+0x254/0x278\n[\u003c8027c8f0\u003e] blktrans_notify_add+0x40/0x78\n[\u003c80279c00\u003e] add_mtd_device+0xd0/0x150\n[\u003c8027b090\u003e] add_mtd_partitions+0x568/0x5d8\n[\u003c80285458\u003e] physmap_flash_probe+0x2ac/0x334\n[\u003c802644f8\u003e] driver_probe_device+0x12c/0x244\n[\u003c8026465c\u003e] __driver_attach+0x4c/0x84\n[\u003c80263c64\u003e] bus_for_each_dev+0x58/0xac\n[\u003c802633ec\u003e] bus_add_driver+0xc4/0x24c\n[\u003c802648e0\u003e] driver_register+0xcc/0x184\n[\u003c80100460\u003e] _stext+0x60/0x1bc\n\nIn the long term, we need to fix such subsystems but we need a quick\nfix now. This patch add the command filter support to only sd and sr\nthough it might be useful for other SG_IO users (such as cciss).\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nReported-by: Manuel Lauss \u003cmano@roarinelk.homelinux.net\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "18351070b86d155713cf790b26af4f21b1fd0b29",
      "tree": "66e98f59de072733af7ae65cebf135c37caab249",
      "parents": [
        "e63e03273b89f7248baa56cf242474f661e776e1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 05 21:42:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 05 21:42:21 2008 -0700"
      },
      "message": "Re-introduce \"[SCSI] extend the last_sector_bug flag to cover more sectors\"\n\nThis re-introduces commit 2b142900784c6e38c8d39fa57d5f95ef08e735d8,\nwhich was reverted due to the regression it caused by commit\nfca082c9f1e11ec07efa8d2f9f13688521253f36.\n\nThat regression was not root-caused by the original commit, it was just\nuncovered by it, and the real fix was done by Alan Stern in commit\n580da34847488b404218d1d7f53b156f245f5555 (\"Fix USB storage hang on\ncommand abort\").\n\nWe can thus re-introduce the change that was confirmed by Alan Jenkins\nto be still required by his odd card reader.\n\nCc: Alan Jenkins \u003calan-jenkins@tuffmail.co.uk\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fca082c9f1e11ec07efa8d2f9f13688521253f36",
      "tree": "94a18d0aed308b44ba606261c603c63860c35c30",
      "parents": [
        "8f616cd5249e03c9e1b371623d85e76d4b86bbc1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 04 16:36:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 04 16:36:20 2008 -0700"
      },
      "message": "Revert \"[SCSI] extend the last_sector_bug flag to cover more sectors\"\n\nThis reverts commit 2b142900784c6e38c8d39fa57d5f95ef08e735d8, since it\nseems to break some other USB storage devices (at least a JMicron USB to\nATA bridge).  As such, while it apparently fixes some cardreaders, it\nwould need to be made conditional on the exact reader it fixes in order\nto avoid causing regressions.\n\nCc: Alan Jenkins \u003calan-jenkins@tuffmail.co.uk\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2b142900784c6e38c8d39fa57d5f95ef08e735d8",
      "tree": "e7d51b58df76e864c91ff7ffca0229027328c588",
      "parents": [
        "4cfc51017db3e3f4eaaa2cb436a905097a4f08e2"
      ],
      "author": {
        "name": "Alan Jenkins",
        "email": "alan-jenkins@tuffmail.co.uk",
        "time": "Sun Jul 27 09:38:42 2008 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Jul 27 10:16:13 2008 -0400"
      },
      "message": "[SCSI] extend the last_sector_bug flag to cover more sectors\n\nThe last_sector_bug flag was added to work around a bug in certain usb\ncardreaders, where they would crash if a multiple sector read included the\nlast sector. The original implementation avoids this by e.g. splitting an 8\nsector read which includes the last sector into a 7 sector read, and a single\nsector read for the last sector.  The flag is enabled for all USB devices.\n\nThis revealed a second bug in other usb cardreaders, which crash when they\nget a multiple sector read which stops 1 sector short of the last sector.\nAffected hardware includes the Kingston \"MobileLite\" external USB cardreader\nand the internal USB cardreader on the Asus EeePC.\n\nExtend the last_sector_bug workaround to ensure that any access which touches\nthe last 8 hardware sectors of the device is a single sector long.  Requests\nare shrunk as necessary to meet this constraint.\n\nThis gives us a safety margin against potential unknown or future bugs\naffecting multi-sector access to the end of the device.  The two known bugs\nonly affect the last 2 sectors.  However, they suggest that these devices\nare prone to fencepost errors and that multi-sector access to the end of the\ndevice is not well tested.  Popular OS\u0027s use multi-sector accesses, but they\nrarely read the last few sectors.  Linux (with udev \u0026 vol_id) automatically\nreads sectors from the end of the device on insertion.  It is assumed that\nsingle sector accesses are more thoroughly tested during development.\n\nSigned-off-by: Alan Jenkins \u003calan-jenkins@tuffmail.co.uk\u003e\nTested-by: Alan Jenkins \u003calan-jenkins@tuffmail.co.uk\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "af55ff675a8461da6a632320710b050af4366e0c",
      "tree": "2d85ec327340f11f79cedb7d962d232c31819a8c",
      "parents": [
        "e0597d70012c82e16ee152270a55d89d8bf66693"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Thu Jul 17 04:28:35 2008 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Jul 26 15:14:56 2008 -0400"
      },
      "message": "[SCSI] sd: Support for SCSI disk (SBC) Data Integrity Field\n\nSupport for controllers and disks that implement DIF protection\ninformation:\n\n - During command preparation the RDPROTECT/WRPROTECT must be set\n   correctly if the target has DIF enabled.\n\n - READ(6) and WRITE(6) are not supported when DIF is on.\n\n - The controller must be told how to handle the I/O via the\n   protection operation field in scsi_cmnd.\n\n - Refactor the I/O completion code that extracts failed LBA from the\n   returned sense data and handle DIF failures correctly.\n\n - sd_dif.c implements the functions required to prepare and complete\n   requests with protection information attached.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "e0597d70012c82e16ee152270a55d89d8bf66693",
      "tree": "1752132ba07975a8db2bf93ddad88e1a6c06f4d2",
      "parents": [
        "511e44f42e3239a4df77b8e0e46d294d98a768ad"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Thu Jul 17 04:28:34 2008 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Jul 26 15:14:55 2008 -0400"
      },
      "message": "[SCSI] sd: Identify DIF protection type and application tag ownership\n\nIf a disk is formatted with protection information (Inquiry bit\nPROTECT\u003d1) it is required to support Read Capacity(16).  Force use of\nthe 16-bit command in this case and extract the P_TYPE field which\nindicates whether the disk is formatted using DIF Type 1, 2 or 3.\n\nThe ATO (App Tag Own) bit in the Control Mode Page indicates whether\nthe storage device or the initiator own the contents of the\nDIF application tag.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "f27bac2761cab5a2e212dea602d22457a9aa6943",
      "tree": "f2ebed0b9d35298697c96ac8896ec34ba2a07a78",
      "parents": [
        "ecefe8a97577d6c1a68d14ab6fb19bce99448af2"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Jul 14 14:59:30 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Jul 26 15:14:50 2008 -0400"
      },
      "message": "[SCSI] sd: update index allocation and use ida instead of idr\n\nUpdate index allocation as follows.\n\n* sd_index_idr is used only for ID allocation and mapping\n  functionality is not used.  Use more memory efficient ida instead.\n\n* idr and ida have their own locks inside them and don\u0027t need them for\n  operation.  Drop it.\n\n* index wasn\u0027t freed if probing failed after index allocation.  fix\n  it.\n\n* ida allocation should be repeated if it fails with -EAGAIN.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "89a93f2f4834f8c126e8d9dd6b368d0b9e21ec3d",
      "tree": "e731456fec0cab1225ad3e806dc8d3efefa0a78b",
      "parents": [
        "260eddf4391f162a69d1d163729249635fa7a78f",
        "fe9233fb6914a0eb20166c967e3020f7f0fba2c9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 15 18:58:04 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 15 18:58:04 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (102 commits)\n  [SCSI] scsi_dh: fix kconfig related build errors\n  [SCSI] sym53c8xx: Fix bogus sym_que_entry re-implementation of container_of\n  [SCSI] scsi_cmnd.h: remove double inclusion of linux/blkdev.h\n  [SCSI] make struct scsi_{host,target}_type static\n  [SCSI] fix locking in host use of blk_plug_device()\n  [SCSI] zfcp: Cleanup external header file\n  [SCSI] zfcp: Cleanup code in zfcp_erp.c\n  [SCSI] zfcp: zfcp_fsf cleanup.\n  [SCSI] zfcp: consolidate sysfs things into one file.\n  [SCSI] zfcp: Cleanup of code in zfcp_aux.c\n  [SCSI] zfcp: Cleanup of code in zfcp_scsi.c\n  [SCSI] zfcp: Move status accessors from zfcp to SCSI include file.\n  [SCSI] zfcp: Small QDIO cleanups\n  [SCSI] zfcp: Adapter reopen for large number of unsolicited status\n  [SCSI] zfcp: Fix error checking for ELS ADISC requests\n  [SCSI] zfcp: wait until adapter is finished with ERP during auto-port\n  [SCSI] ibmvfc: IBM Power Virtual Fibre Channel Adapter Client Driver\n  [SCSI] sg: Add target reset support\n  [SCSI] lib: Add support for the T10 (SCSI) Data Integrity Field CRC\n  [SCSI] sd: Move scsi_disk() accessor function to sd.h\n  ...\n"
    },
    {
      "commit": "d2886ea368a67704ecc13e69075f18a9d74cb12b",
      "tree": "54593ba6b45d1a4cdec66da4aa7d8d813cc49a3a",
      "parents": [
        "bce7f793daec3e65ec5c5705d2457b81fe7b5725"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun May 11 00:34:07 2008 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Jul 14 13:00:17 2008 +0200"
      },
      "message": "scsi: sd: optionally set power condition in START STOP UNIT\n\nAdds a new scsi_device flag, start_stop_pwr_cond:  If enabled, the sd\ndriver will not send plain START STOP UNIT commands but ones with the\npower condition field set to 3 (standby) or 1 (active) respectively.\n\nSome FireWire disk firmwares do not stop the motor if power condition is\nzero.  Or worse, they become unresponsive after a START STOP UNIT with\npower condition \u003d 0 and start \u003d 0.\n\nhttp://lkml.org/lkml/2008/4/29/704\n\nThis patch only adds the necessary code to sd_mod but doesn\u0027t activate\nit.  Follow-up patches to the FireWire drivers will add detection of\naffected devices and enable the code for them.\n\nI did not add power condition values to scsi_error.c::scsi_eh_try_stu()\nfor now.  The three firmwares which suffer from above mentioned problems\ndo not need START STOP UNIT in the error handler, and they are not\nadversely affected by START STOP UNIT with power condition \u003d 0 and start\n\u003d 1 (like scsi_eh_try_stu() sends it if scsi_device.allow_restart is\nenabled).\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nTested-by: Tino Keitel \u003ctino.keitel@gmx.de\u003e\n"
    },
    {
      "commit": "5b635da11e3a6387172abd651d26d8ef54b1fbc7",
      "tree": "0b7018d5008902e96aa4f69db3807a00c0307027",
      "parents": [
        "aa91696e56a0870db5754610e9f9b937e77507e0"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Wed Jun 25 11:22:41 2008 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Jul 12 08:22:31 2008 -0500"
      },
      "message": "[SCSI] sd: Move scsi_disk() accessor function to sd.h\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "aa91696e56a0870db5754610e9f9b937e77507e0",
      "tree": "f0832f576703b04ff9ab170b36531f20cb765c91",
      "parents": [
        "dbfe54a9c9a9e31cdf71704e4e70d10d22a57264"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Tue Jun 17 12:47:32 2008 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Jul 12 08:22:31 2008 -0500"
      },
      "message": "[SCSI] sd: Move sd.h header file\n\nChristoph objected to having sd.h in include/scsi since it is internal\nto the sd driver.  Move it to drivers/scsi/sd.h.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "4917fa292558593d36b2880977ea206f7727dbe5",
      "tree": "5ef03fba3ca3f3b1f615e9d558f7138619787d3a",
      "parents": [
        "6f6a036e6e061563efecb61505fc4cc3ca415f80"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Apr 29 09:54:35 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 29 14:48:54 2008 +0200"
      },
      "message": "block: no need to initialize rq-\u003ecmd in prepare_flush_fn hook\n\nThe block layer initializes rq-\u003ecmd (queue_flush calls rq_init) so\nprepare_flush_fn hooks don\u0027t need to do that.\n\nThe purpose of this patch is to remove sizeof(rq-\u003ecmd), as a\npreparation for large command support, which changes rq-\u003ecmd from the\nstatic array to a pointer. sizeof(rq-\u003ecmd) will not make sense.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ee959b00c335d7780136c5abda37809191fe52c3",
      "tree": "7775f3b274fd8caf5e7e5154fea89e96f2babd94",
      "parents": [
        "56d110e852b0b1c85ad6c9bfe1cb4473ceb16402"
      ],
      "author": {
        "name": "Tony Jones",
        "email": "tonyj@suse.de",
        "time": "Fri Feb 22 00:13:36 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:33 2008 -0700"
      },
      "message": "SCSI: convert struct class_device to struct device\n\nIt\u0027s big, but there doesn\u0027t seem to be a way to split it up smaller...\n\nSigned-off-by: Tony Jones \u003ctonyj@suse.de\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nCc: Sean Hefty \u003csean.hefty@intel.com\u003e\nCc: Hal Rosenstock \u003chal.rosenstock@gmail.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c02e600280c605c761190ef82a6e6fa6aa7fb248",
      "tree": "3275148d08bfaa8374e3462a1bcab7cfc4788f7c",
      "parents": [
        "4d4109d0eb6930e59942d019980b83af679f187b"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Wed Mar 19 13:09:56 2008 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Mar 19 11:28:56 2008 -0500"
      },
      "message": "[SCSI] sd, sr: do not emit change event at device add\n\nInitialize the \"state changed\" flag, so we do not send a change event\nimmediately after registering a new device.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "3a2d5b700132f35401f1d9e22fe3c2cab02c2549",
      "tree": "ad991428c41aee92a5f78b06bf73430af0e6f7ae",
      "parents": [
        "39273b58a409cd6d65c9732bdca00bacd1626672"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Feb 23 19:13:25 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Feb 23 10:40:04 2008 -0800"
      },
      "message": "PM: Introduce PM_EVENT_HIBERNATE callback state\n\nDuring the last step of hibernation in the \"platform\" mode (with the\nhelp of ACPI) we use the suspend code, including the devices\u0027\n-\u003esuspend() methods, to prepare the system for entering the ACPI S4\nsystem sleep state.\n\nBut at least for some devices the operations performed by the\n-\u003esuspend() callback in that case must be different from its operations\nduring regular suspend.\n\nFor this reason, introduce the new PM event type PM_EVENT_HIBERNATE and\npass it to the device drivers\u0027 -\u003esuspend() methods during the last phase\nof hibernation, so that they can distinguish this case and handle it as\nappropriate.  Modify the drivers that handle PM_EVENT_SUSPEND in a\nspecial way and need to handle PM_EVENT_HIBERNATE in the same way.\n\nThese changes are necessary to fix a hibernation regression related\nto the i915 driver (ref. http://lkml.org/lkml/2008/2/22/488).\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nTested-by: Jeff Chua \u003cjeff.chua.linux@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "366c246de9cec909c5eba4f784c92d1e75b4dc38",
      "tree": "f663b49998a338a70ab9601c2b4e64ce12563a3f",
      "parents": [
        "d7402cd91022fc32522397d3930a3e6587de7c55"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Feb 02 16:06:23 2008 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Thu Feb 07 18:02:41 2008 -0600"
      },
      "message": "[SCSI] sd: handle bad lba in sense information\n\nSome devices report medium error locations incorrectly.  Add guards to\nmake sure the reported bad lba is actually in the request that caused\nit.  Additionally remove the large case statment for sector sizes and\nreplace it with the proper u64 divisions.\n\nTested-by: Mike Snitzer \u003csnitzer@gmail.com\u003e\nCc: Stable Tree \u003cstable@kernel.org\u003e\nCc: Tony Battersby \u003ctonyb@cybernetics.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "30b0c37b27485a9cb897bfe3824f6f517b8c80d6",
      "tree": "22643da8e175ff7badf2413dc8c84b2e99613a6f",
      "parents": [
        "bb52d82f45df3a2661d88befba7c79a7db8be496"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu Dec 13 13:47:40 2007 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 30 13:03:40 2008 -0600"
      },
      "message": "[SCSI] implement scsi_data_buffer\n\nIn preparation for bidi we abstract all IO members of scsi_cmnd,\nthat will need to duplicate, into a substructure.\n\n- Group all IO members of scsi_cmnd into a scsi_data_buffer\n  structure.\n- Adjust accessors to new members.\n- scsi_{alloc,free}_sgtable receive a scsi_data_buffer instead of\n  scsi_cmnd. And work on it.\n- Adjust scsi_init_io() and  scsi_release_buffers() for above\n  change.\n- Fix other parts of scsi_lib/scsi.c to members migration. Use\n  accessors where appropriate.\n\n- fix Documentation about scsi_cmnd in scsi_host.h\n\n- scsi_error.c\n  * Changed needed members of struct scsi_eh_save.\n  * Careful considerations in scsi_eh_prep/restore_cmnd.\n\n- sd.c and sr.c\n  * sd and sr would adjust IO size to align on device\u0027s block\n    size so code needs to change once we move to scsi_data_buff\n    implementation.\n  * Convert code to use scsi_for_each_sg\n  * Use data accessors where appropriate.\n\n- tgt: convert libsrp to use scsi_data_buffer\n\n- isd200: This driver still bangs on scsi_cmnd IO members,\n  so need changing\n\n[jejb: rebased on top of sg_table patches fixed up conflicts\nand used the synergy to eliminate use_sg and sg_count]\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "a0899d4df534d2bcf671b0f647b809842309a9ae",
      "tree": "990c3eb7876f6f8a6dee37ec2ecd4684c11b1f74",
      "parents": [
        "b523381e325366cc54a2548df418c2a427b2f2ee"
      ],
      "author": {
        "name": "Hans de Goede",
        "email": "j.w.r.degoede@hhs.nl",
        "time": "Sun Jan 20 11:12:26 2008 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 23 11:29:34 2008 -0600"
      },
      "message": "[SCSI] sd: add fix for devices with last sector access problems\n\nThis patch adds a new scsi_device flag (last_sector_bug) for devices\nwhich contain a bug where the device crashes when the last sector is\nread in a larger then 1 sector read.\n\nThis is for example the case with sdcards in the HP PSC1350 printer\ncardreader and in the HP PSC1610 printer cardreader.\n\nSigned-off-by: Hans de Goede \u003cj.w.r.degoede@hhs.nl\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "001aac257cf8adbe90cdcba6e07f8d12dfc8fa6b",
      "tree": "0eb6294049245e05f47fdb76e3f878c78c015d88",
      "parents": [
        "4a03d90e35bc5273d27301fa669d4b2103196f94"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@SteelEye.com",
        "time": "Sun Dec 02 19:10:40 2007 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Jan 11 18:22:50 2008 -0600"
      },
      "message": "[SCSI] sd,sr: add early detection of medium not present\n\nThe current scsi_test_unit_ready() is updated to return sense code\ninformation (in struct scsi_sense_hdr).  The sd and sr drivers are\nchanged to interpret the sense code return asc 0x3a as no media and\nadjust the device status accordingly.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    }
  ],
  "next": "285e9670d91cdeb6b6693729950339cb45410fdc"
}
