)]}'
{
  "log": [
    {
      "commit": "cf0ca9fe5dd9e3693d935757a7b2fc50fc576554",
      "tree": "c795c5271eda9fc67579fa3176c646b892dfdb41",
      "parents": [
        "caafa4324335aeb11bc233d5f87aca8cce30beba"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Apr 30 00:54:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:49 2008 -0700"
      },
      "message": "mm: bdi: export BDI attributes in sysfs\n\nProvide a place in sysfs (/sys/class/bdi) for the backing_dev_info object.\nThis allows us to see and set the various BDI specific variables.\n\nIn particular this properly exposes the read-ahead window for all relevant\nusers and /sys/block/\u003cblock\u003e/queue/read_ahead_kb should be deprecated.\n\nWith patient help from Kay Sievers and Greg KH\n\n[mszeredi@suse.cz]\n\n - split off NFS and FUSE changes into separate patches\n - document new sysfs attributes under Documentation/ABI\n - do bdi_class_init as a core_initcall, otherwise the \"default\" BDI\n   won\u0027t be initialized\n - remove bdi_init_fmt macro, it\u0027s not used very much\n\n[akpm@linux-foundation.org: fix ia64 warning]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nAcked-by: Greg KH \u003cgreg@kroah.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ac9fafa1243640349aa481adf473db283a695766",
      "tree": "155c2371cca8971638d781269f39fa015bc6509c",
      "parents": [
        "d7e3c3249ef23b4617393c69fe464765b4ff1645"
      ],
      "author": {
        "name": "Alan D. Brunelle",
        "email": "Alan.Brunelle@hp.com",
        "time": "Tue Apr 29 14:44:19 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 29 14:48:55 2008 +0200"
      },
      "message": "block: Skip I/O merges when disabled\n\nThe block I/O + elevator + I/O scheduler code spend a lot of time trying\nto merge I/Os -- rightfully so under \"normal\" circumstances. However,\nif one were to know that the incoming I/O stream was /very/ random in\nnature, the cycles are wasted.\n\nThis patch adds a per-request_queue tunable that (when set) disables\nmerge attempts (beyond the simple one-hit cache check), thus freeing up\na non-trivial amount of CPU cycles.\n\nSigned-off-by: Alan D. Brunelle \u003calan.brunelle@hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d7e3c3249ef23b4617393c69fe464765b4ff1645",
      "tree": "3471ea20b7fb4c4a9bbd7cfb3cc952344b5501d6",
      "parents": [
        "d34c87e4ba3d1857f80a65179e81a18705a31656"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Apr 29 09:54:39 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 29 14:48:55 2008 +0200"
      },
      "message": "block: add large command support\n\nThis patch changes rq-\u003ecmd from the static array to a pointer to\nsupport large commands.\n\nWe rarely handle large commands. So for optimization, a struct request\nstill has a static array for a command. rq_init sets rq-\u003ecmd pointer\nto the static array.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d34c87e4ba3d1857f80a65179e81a18705a31656",
      "tree": "6460d4a1de0c2e26ab9eed6babc916092eed4559",
      "parents": [
        "e7b241a7715d2a0885f779f5baa63711d71b1d75"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Apr 29 14:37:52 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 29 14:48:55 2008 +0200"
      },
      "message": "block: replace sizeof(rq-\u003ecmd) with BLK_MAX_CDB\n\nThis is a preparation for changing rq-\u003ecmd from the static array to a\npointer.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2a4aa30c5f967eb6ae874c67fa6fceeee84815f9",
      "tree": "fddd67e3b3697874e2a19c0e8e194190957b0e1e",
      "parents": [
        "992b5bceee447a32ef2d617730ae0d03c063eedd"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Apr 29 09:54:36 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 29 14:48:55 2008 +0200"
      },
      "message": "block: rename and export rq_init()\n\nThis rename rq_init() blk_rq_init() and export it. Any path that hands\nthe request to the block layer needs to call it to initialize the\nrequest.\n\nThis is a preparation for large command support, which needs to\ninitialize the request in a proper way (that is, just doing a memset()\nwill not work).\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "992b5bceee447a32ef2d617730ae0d03c063eedd",
      "tree": "cf8a457afc939b9d6040b809382e8a45adc9eee1",
      "parents": [
        "4917fa292558593d36b2880977ea206f7727dbe5"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Apr 29 09:54:36 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 29 14:48:55 2008 +0200"
      },
      "message": "block: no need to initialize rq-\u003ecmd with blk_get_request\n\nblk_get_request initializes rq-\u003ecmd (rq_init does) so the users don\u0027t\nneed to do that.\n\nThe purpose of this patch is to remove sizeof(rq-\u003ecmd) and \u0026rq-\u003ecmd,\nas a preparation for large command support, which changes rq-\u003ecmd from\nthe static array to a pointer. sizeof(rq-\u003ecmd) will not make sense and\n\u0026rq-\u003ecmd won\u0027t work.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6f6a036e6e061563efecb61505fc4cc3ca415f80",
      "tree": "6bbb13cb230ef0a5fd465f47970641febb7125ea",
      "parents": [
        "72ed0bf60ade8d2cc1f58276cb16add0af2c3e25"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Apr 29 09:49:06 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 29 14:48:54 2008 +0200"
      },
      "message": "block/blk-barrier.c:blk_ordered_cur_seq() mustn\u0027t be inline\n\nThis patch fixes the following build error with UML and gcc 4.3:\n\n\u003c--  snip  --\u003e\n\n...\n  CC      block/blk-barrier.o\n/home/bunk/linux/kernel-2.6/git/linux-2.6/block/blk-barrier.c: In function ‘blk_do_ordered’:\n/home/bunk/linux/kernel-2.6/git/linux-2.6/block/blk-barrier.c:57: sorry, unimplemented: inlining failed in call to ‘blk_ordered_cur_seq’: function body not available\n/home/bunk/linux/kernel-2.6/git/linux-2.6/block/blk-barrier.c:252: sorry, unimplemented: called from here\n/home/bunk/linux/kernel-2.6/git/linux-2.6/block/blk-barrier.c:57: sorry, unimplemented: inlining failed in call to ‘blk_ordered_cur_seq’: function body not available\n/home/bunk/linux/kernel-2.6/git/linux-2.6/block/blk-barrier.c:253: sorry, unimplemented: called from here\nmake[2]: *** [block/blk-barrier.o] Error 1\n\n\u003c--  snip  --\u003e\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "72ed0bf60ade8d2cc1f58276cb16add0af2c3e25",
      "tree": "749000baa1616394ec34678faf38cf6e1708d77f",
      "parents": [
        "75ad23bc0fcb4f992a5d06982bf0857ab1738e9e"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Apr 29 09:49:05 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 29 14:48:54 2008 +0200"
      },
      "message": "block/elevator.c:elv_rq_merge_ok() mustn\u0027t be inline\n\nThis patch fixes the following build error with UML and gcc 4.3:\n\n\u003c--  snip  --\u003e\n\n...\n  CC      block/elevator.o\n/home/bunk/linux/kernel-2.6/git/linux-2.6/block/elevator.c: In function ‘elv_merge’:\n/home/bunk/linux/kernel-2.6/git/linux-2.6/block/elevator.c:73: sorry, unimplemented: inlining failed in call to ‘elv_rq_merge_ok’: function body not available\n/home/bunk/linux/kernel-2.6/git/linux-2.6/block/elevator.c:103: sorry, unimplemented: called from here\n/home/bunk/linux/kernel-2.6/git/linux-2.6/block/elevator.c:73: sorry, unimplemented: inlining failed in call to ‘elv_rq_merge_ok’: function body not available\n/home/bunk/linux/kernel-2.6/git/linux-2.6/block/elevator.c:495: sorry, unimplemented: called from here\nmake[2]: *** [block/elevator.o] Error 1\nmake[1]: *** [block] Error 2\n\n\u003c--  snip  --\u003e\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "75ad23bc0fcb4f992a5d06982bf0857ab1738e9e",
      "tree": "8668ef63b1f420252ae41aed9e13737d49fd8054",
      "parents": [
        "68154e90c9d1492d570671ae181d9a8f8530da55"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Apr 29 14:48:33 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 29 14:48:33 2008 +0200"
      },
      "message": "block: make queue flags non-atomic\n\nWe can save some atomic ops in the IO path, if we clearly define\nthe rules of how to modify the queue flags.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "68154e90c9d1492d570671ae181d9a8f8530da55",
      "tree": "4b4e9cfbaa587a576e7e52284c53ef99cf69ac4d",
      "parents": [
        "657e93be356f51888f56a58d2b374caefbf2fe86"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Fri Apr 25 12:47:50 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 29 09:50:34 2008 +0200"
      },
      "message": "block: add dma alignment and padding support to blk_rq_map_kern\n\nThis patch adds bio_copy_kern similar to\nbio_copy_user. blk_rq_map_kern uses bio_copy_kern instead of\nbio_map_kern if necessary.\n\nbio_copy_kern uses temporary pages and the bi_end_io callback frees\nthese pages. bio_copy_kern saves the original kernel buffer at\nbio-\u003ebi_private it doesn\u0027t use something like struct bio_map_data to\nstore the information about the caller.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "657e93be356f51888f56a58d2b374caefbf2fe86",
      "tree": "3a7f5ffae7e12616c090d528a97ecb21e0064d19",
      "parents": [
        "31e103c595c0fa0d23eea5a4168362fba4c5ba62"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Apr 25 12:46:58 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 29 09:50:34 2008 +0200"
      },
      "message": "unexport blk_max_pfn\n\nblk_max_pfn can now be unexported.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1afb20f30151dd4160877c827f5b7203f98627fb",
      "tree": "066e99694fbf0396ccd6b2a15e59747a81869f04",
      "parents": [
        "c3270e577c18b3d0e984c3371493205a4807db9d"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Fri Apr 25 12:26:28 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 29 09:50:34 2008 +0200"
      },
      "message": "block: make rq_init() do a full memset()\n\nThis requires moving rq_init() from get_request() to blk_alloc_request().\nThe upside is that we can now require an rq_init() from any path that\nwishes to hand the request to the block layer.\n\nrq_init() will be exported for the code that uses struct request\nwithout blk_get_request.\n\nThis is a preparation for large command support, which needs to\ninitialize struct request in a proper way (that is, just doing a\nmemset() will not work).\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "97f46ae45c70857e459b7f8df1fc2807e7bd90a9",
      "tree": "7e7245349c433f67be23c6a75c3936c0466b59d6",
      "parents": [
        "643eb2d932c97a0583381629d632d486934cf7ee"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Sat Apr 19 00:43:14 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Tue Apr 22 15:16:32 2008 -0500"
      },
      "message": "[SCSI] bsg: add release callback support\n\nThis patch adds release callback support, which is called when a bsg\ndevice goes away. bsg_register_queue() takes a pointer to a callback\nfunction. This feature is useful for stuff like sas_host that can\u0027t\nuse the release callback in struct device.\n\nIf a caller doesn\u0027t need bsg\u0027s release callback, it can call\nbsg_register_queue() with NULL pointer (e.g. scsi devices can use\nrelease callback in struct device so they don\u0027t need bsg\u0027s callback).\n\nWith this patch, bsg uses kref for refcounts on bsg devices instead of\nget/put_device in fops-\u003eopen/release. bsg calls put_device and the\ncaller\u0027s release callback (if it was registered) in kref_put\u0027s\nrelease.\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": "548453fd107f789f5f1bc2dc13cc432ceb3b5efd",
      "tree": "dc5a62d49260d66b7390ef110113134e3bef9152",
      "parents": [
        "9fd91217b15751997cab35ad309b37b44eaa6774",
        "fb199746303a6bfd6121834ec9e810471185c530"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 16:03:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 16:03:40 2008 -0700"
      },
      "message": "Merge branch \u0027for-2.6.26\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.26\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: fix blk_register_queue() return value\n  block: fix memory hotplug and bouncing in block layer\n  block: replace remaining __FUNCTION__ occurrences\n  Kconfig: clean up block/Kconfig help descriptions\n  cciss: fix warning oops on rmmod of driver\n  cciss: Fix race between disk-adding code and interrupt handler\n  block: move the padding adjustment to blk_rq_map_sg\n  block: add bio_copy_user_iov support to blk_rq_map_user_iov\n  block: convert bio_copy_user to bio_copy_user_iov\n  loop: manage partitions in disk image\n  cdrom: use kmalloced buffers instead of buffers on stack\n  cdrom: make unregister_cdrom() return void\n  cdrom: use list_head for cdrom_device_info list\n  cdrom: protect cdrom_device_info list by mutex\n  cdrom: cleanup hardcoded error-code\n  cdrom: remove ifdef CONFIG_SYSCTL\n"
    },
    {
      "commit": "fb199746303a6bfd6121834ec9e810471185c530",
      "tree": "c50ed0dd313e7fcffddd021639473f001fcf8b05",
      "parents": [
        "2472892a3ce17b177cc0d8099a6391949c75abf2"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Mon Apr 21 09:51:06 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Apr 21 09:51:06 2008 +0200"
      },
      "message": "block: fix blk_register_queue() return value\n\nblk_register_queue() returns -ENXIO when queue-\u003erequest_fn is NULL.  But there\nare some block drivers that call blk_register_queue() via add_disk() with\nqueue-\u003erequest_fn \u003d\u003d NULL.  (For example, brd, loop)\n\nAlthough no one checks return value of blk_register_queue(), this patch makes\nit return 0 instead of -ENXIO when queue-\u003erequest_fn is NULL,\n\nAlso this patch adds warning when blk_register_queue() and\nblk_unregister_queue() are called with queue \u003d\u003d NULL rather than ignore\ninvalid usage silently.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ee86418d39f28dd10d27c9d7906d8c26c1293e69",
      "tree": "e9314f3ad14b350fabdccc9905096e6e22c2d55b",
      "parents": [
        "6195057f5809e93cdb1ec733f7b9c87fe2212f98"
      ],
      "author": {
        "name": "Nick Andrew",
        "email": "nick@nick-andrew.net",
        "time": "Mon Apr 21 09:51:04 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Apr 21 09:51:04 2008 +0200"
      },
      "message": "Kconfig: clean up block/Kconfig help descriptions\n\nModify the help descriptions of block/Kconfig for clarity, accuracy and\nconsistency.\n\nRefactor the BLOCK description a bit.  The wording \"This permits ...  to be\nremoved\" isn\u0027t quite right; the block layer is removed when the option is\ndisabled, whereas most descriptions talk about what happens when the option is\nenabled.  Reformat the list of what is affected by disabling the block layer.\n\nAdd more examples of large block devices to LBD and strive for technical\naccuracy; block devices of size _exactly_ 2TB require CONFIG_LBD, not only\n\"bigger than 2TB\".  Also try to say (perhaps not very clearly) that the config\noption is only needed when you want to have individual block devices of size\n\u003e\u003d 2TB, for example if you had 3 x 1TB disks in your computer you\u0027d have a\ntotal storage size of 3TB but you wouldn\u0027t need the option unless you want to\naggregate those disks into a RAID or LVM.\n\nImprove terminology and grammar on BLK_DEV_IO_TRACE.\n\nI also added the boilerplate \"If unsure, say N\" to most options.\n\nPrecisely say \"2TB and larger\" for LSF.\n\nIndent the help text for BLK_DEV_BSG by 2 spaces in accordance with the\nstandard.\n\nSigned-off-by: Nick Andrew \u003cnick@nick-andrew.net\u003e\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f18573abcc57844a7c3c12699d40eead8728cd8a",
      "tree": "99d5dcfdfe29578bb23900e63f226022f5e87281",
      "parents": [
        "afdc1a780ef84a54b613dae6f971407748aab61c"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Fri Apr 11 12:56:52 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Apr 21 09:50:08 2008 +0200"
      },
      "message": "block: move the padding adjustment to blk_rq_map_sg\n\nblk_rq_map_user adjusts bi_size of the last bio. It breaks the rule\nthat req-\u003edata_len (the true data length) is equal to sum(bio). It\nbroke the scsi command completion code.\n\ncommit e97a294ef6938512b655b1abf17656cf2b26f709 was introduced to fix\nthe above issue. However, the partial completion code doesn\u0027t work\nwith it. The commit is also a layer violation (scsi mid-layer should\nnot know about the block layer\u0027s padding).\n\nThis patch moves the padding adjustment to blk_rq_map_sg (suggested by\nJames). The padding works like the drain buffer. This patch breaks the\nrule that req-\u003edata_len is equal to sum(sg), however, the drain buffer\nalready broke it. So this patch just restores the rule that\nreq-\u003edata_len is equal to sub(bio) without breaking anything new.\n\nNow when a low level driver needs padding, blk_rq_map_user and\nblk_rq_map_user_iov guarantee there\u0027s enough room for padding.\nblk_rq_map_sg can safely extend the last entry of a scatter list.\n\nblk_rq_map_sg must extend the last entry of a scatter list only for a\nrequest that got through bio_copy_user_iov. This patches introduces\nnew REQ_COPY_USER flag.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "afdc1a780ef84a54b613dae6f971407748aab61c",
      "tree": "67f120001c9a0a3f95fbb3ee2dc545f0886440c0",
      "parents": [
        "c5dec1c3034f1ae3503efbf641ff3b0273b64797"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Fri Apr 11 12:56:51 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Apr 21 09:50:08 2008 +0200"
      },
      "message": "block: add bio_copy_user_iov support to blk_rq_map_user_iov\n\nWith this patch, blk_rq_map_user_iov uses bio_copy_user_iov when a low\nlevel driver needs padding or a buffer in sg_iovec isn\u0027t aligned. That\nis, it uses temporary kernel buffers instead of mapping user pages\ndirectly.\n\nWhen a LLD needs padding, later blk_rq_map_sg needs to extend the last\nentry of a scatter list. bio_copy_user_iov guarantees that there is\nenough space for padding by using temporary kernel buffers instead of\nuser pages.\n\nblk_rq_map_user_iov needs buffers in sg_iovec to be aligned. The\ncomment in blk_rq_map_user_iov indicates that drivers/scsi/sg.c also\nneeds buffers in sg_iovec to be aligned. Actually, drivers/scsi/sg.c\nworks with unaligned buffers in sg_iovec (it always uses temporary\nkernel buffers).\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.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": "2cca775baecbfede2fec20c99add709232311fe7",
      "tree": "b0eefe80881d263ba7976174144ae4e9cf238425",
      "parents": [
        "eddeb0e2d863e3941d8768e70cb50c6120e61fa0",
        "94795b61e84994a3b058f92d041d1fb3d869c7d5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 11:25:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 11:25:31 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (137 commits)\n  [SCSI] iscsi: bidi support for iscsi_tcp\n  [SCSI] iscsi: bidi support at the generic libiscsi level\n  [SCSI] iscsi: extended cdb support\n  [SCSI] zfcp: Fix error handling for blocked unit for send FCP command\n  [SCSI] zfcp: Remove zfcp_erp_wait from slave destory handler to fix deadlock\n  [SCSI] zfcp: fix 31 bit compile warnings\n  [SCSI] bsg: no need to set BSG_F_BLOCK bit in bsg_complete_all_commands\n  [SCSI] bsg: remove minor in struct bsg_device\n  [SCSI] bsg: use better helper list functions\n  [SCSI] bsg: replace kobject_get with blk_get_queue\n  [SCSI] bsg: takes a ref to struct device in fops-\u003eopen\n  [SCSI] qla1280: remove version check\n  [SCSI] libsas: fix endianness bug in sas_ata\n  [SCSI] zfcp: fix compiler warning caused by poking inside new semaphore (linux-next)\n  [SCSI] aacraid: Do not describe check_reset parameter with its value\n  [SCSI] aacraid: Fix down_interruptible() to check the return value\n  [SCSI] sun3_scsi_vme: add MODULE_LICENSE\n  [SCSI] st: rename flush_write_buffer()\n  [SCSI] tgt: use KMEM_CACHE macro\n  [SCSI] initio: fix big endian problems for auto request sense\n  ...\n"
    },
    {
      "commit": "99773aab0377ee5bcaf37b7cd2577c3465422dab",
      "tree": "17f6246e20ed3d33d66fe105b20322cccb6c19a9",
      "parents": [
        "842ea771c38a3f0f78bdb1b4d47881e6a210fc15"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon Mar 31 10:03:42 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 18 11:48:43 2008 -0500"
      },
      "message": "[SCSI] bsg: no need to set BSG_F_BLOCK bit in bsg_complete_all_commands\n\nBefore bsg_complete_all_commands is called, BSG_F_BLOCK bit is always\nset.\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": "842ea771c38a3f0f78bdb1b4d47881e6a210fc15",
      "tree": "9cf19d7f833922ddada7cf3ccbeec617ac77eda1",
      "parents": [
        "43ac9e62c4a0a47fe3de1f1eb9ca7b8c91dce234"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon Mar 31 10:03:41 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 18 11:48:26 2008 -0500"
      },
      "message": "[SCSI] bsg: remove minor in struct bsg_device\n\nminor in struct bsg_device is used as identifier to find the\ncorresponding struct bsg_device_class. However, request_queuse can be\nused as identifier for that and the minor in struct bsg_device is\nunnecessary.\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": "43ac9e62c4a0a47fe3de1f1eb9ca7b8c91dce234",
      "tree": "9c7f042739e3d16c6704be508adff6a7fe1f9c52",
      "parents": [
        "c3ff1b90d8924dd1c55c3b56a79bfc563ace4a42"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon Mar 31 10:03:40 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 18 11:48:08 2008 -0500"
      },
      "message": "[SCSI] bsg: use better helper list functions\n\nThis replace hlist_for_each and list_entry with hlist_for_each_entry\nand list_first_entry respectively.\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": "c3ff1b90d8924dd1c55c3b56a79bfc563ace4a42",
      "tree": "c012845d2203b81afd4b2dade9dc9f0d453da906",
      "parents": [
        "d45ac4fa8f277e1ec5acfb67ce5d6406555760cf"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon Mar 31 10:03:39 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 18 11:47:49 2008 -0500"
      },
      "message": "[SCSI] bsg: replace kobject_get with blk_get_queue\n\nBoth takes a ref to a queue. But blk_get_queue checks QUEUE_FLAG_DEAD\nand is more appropriate interface here.\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": "d45ac4fa8f277e1ec5acfb67ce5d6406555760cf",
      "tree": "f620055da979b1af58bfdac16f35f90cd67e6f13",
      "parents": [
        "0e4ff797d7f2f2bb860b8f31dc5d1f2273b2f05a"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon Mar 31 10:03:38 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 18 11:47:19 2008 -0500"
      },
      "message": "[SCSI] bsg: takes a ref to struct device in fops-\u003eopen\n\nbsg_register_queue() takes a ref to struct device that a caller\npasses. For example, bsg takes a ref to the sdev_gendev for scsi\ndevices. However, bsg doesn\u0027t inrease the refcount in fops-\u003eopen. So\nwhile an application opens a bsg device, the scsi device that the bsg\ndevice holds can go away (bsg also takes a ref to a queue, but it\ndoesn\u0027t prevent the device from going away).\n\nWith this patch, bsg increases the refcount of struct device in\nfops-\u003eopen and decreases it in fops-\u003erelease.\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": "93de00fd1c70e1a23a73a865e0f9abfe74a7a719",
      "tree": "44a0112d29bc82bb619fe4b0437a64fd92620968",
      "parents": [
        "9a0e77f28b50128df0c9e26ae489e44e29a7270a"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Apr 18 00:46:24 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Apr 18 00:46:24 2008 +0200"
      },
      "message": "ide: remove broken/dangerous HDIO_[UNREGISTER,SCAN]_HWIF ioctls (take 3)\n\nhdparm explicitely marks HDIO_[UNREGISTER,SCAN]_HWIF ioctls as DANGEROUS\nand given the number of bugs we can assume that there are no real users:\n\n* DMA has no chance of working because DMA resources are released by\n  ide_unregister() and they are never allocated again.\n\n* Since ide_init_hwif_ports() is used for -\u003eio_ports[] setup the ioctls\n  don\u0027t work for almost all hosts with \"non-standard\" (\u003d\u003d non ISA-like)\n  layout of IDE taskfile registers (there is a lot of such host drivers).\n\n* ide_port_init_devices() is not called when probing IDE devices so:\n  - drive-\u003eautotune is never set and IDE host/devices are not programmed\n    for the correct PIO/DMA transfer modes (\u003d\u003e possible data corruption)\n  - host specific I/O 32-bit and IRQ unmasking settings are not applied\n    (\u003d\u003e possible data corruption)\n  - host specific -\u003eport_init_devs method is not called (\u003d\u003e no luck with\n    ht6560b, qd65xx and opti621 host drivers)\n\n* -\u003erw_disk method is not preserved (\u003d\u003e no HPT3xxN chipsets support).\n\n* -\u003eserialized flag is not preserved (\u003d\u003e possible data corruption when\n   using icside, aec62xx (ATP850UF chipset), cmd640, cs5530, hpt366\n   (HPT3xxN chipsets), rz1000, sc1200, dtc2278 and ht6560b host drivers).\n\n* -\u003eack_intr method is not preserved (\u003d\u003e needed by ide-cris, buddha,\n  gayle and macide host drivers).\n\n* -\u003esata_scr[] and sata_misc[] is cleared by ide_unregister() and it\n  isn\u0027t initialized again (SiI3112 support needs them).\n\n* To issue an ioctl() there need to be at least one IDE device present\n  in the system.\n\n* -\u003ecable_detect method is not preserved + it is not called when probing\n  IDE devices so cable detection is broken (however since DMA support is\n  also broken it doesn\u0027t really matter ;-).\n\n* Some objects which may have already been freed in ide_unregister()\n  are restored by ide_hwif_restore() (i.e. -\u003ehwgroup).\n\n* ide_register_hw() may unregister unrelated IDE ports if free ide_hwifs[]\n  slot cannot be found.\n\n* When IDE host drivers are modular unregistered port may be re-used by\n  different host driver that owned it first causing subtle bugs.\n\nSince we now have a proper warm-plug support remove these ioctls,\nthen remove no longer needed:\n- ide_register_hw() and ide_hwif_restore() functions\n- \u0027init_default\u0027 and \u0027restore\u0027 arguments of ide_unregister()\n- zeroeing of hwif-\u003e{dma,extra}_* fields in ide_unregister()\n\nAs an added bonus IDE core code size shrinks by ~3kB (x86-32).\n\nv2:\n* fix ide_unregister() arguments in cleanup_module() (Andrew Morton).\n\nv3:\n* fix ide_unregister() arguments in palm_bk3710.c.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "75ce6faccdbbea4465876a759917d4994660c025",
      "tree": "f9aa756077d27dcc33bb5420dd1c67b11bf7e635",
      "parents": [
        "d237e5c7ce82b6c7e1aa50348520a0c5a47274fa"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 15 10:23:35 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 15 10:23:35 2008 +0200"
      },
      "message": "block: update git url for blktrace\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "4faa3c8150c1d4f7b38d962eda7851083e218e3f",
      "tree": "a9110e7d49bc5f76d51d437a684844b47c31be3a",
      "parents": [
        "8191ecd1d14c6914c660dfa007154860a7908857"
      ],
      "author": {
        "name": "Fabio Checconi",
        "email": "fabio@gandalf.sssup.i",
        "time": "Thu Apr 10 08:28:01 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 10 08:28:01 2008 +0200"
      },
      "message": "cfq-iosched: do not leak ioc_data across iosched switches\n\nWhen switching scheduler from cfq, cfq_exit_queue() does not clear\nioc-\u003eioc_data, leaving a dangling pointer that can deceive the following\nlookups when the iosched is switched back to cfq.  The pattern that can\ntrigger that is the following:\n\n    - elevator switch from cfq to something else;\n    - module unloading, with elv_unregister() that calls cfq_free_io_context()\n      on ioc freeing the cic (via the .trim op);\n    - module gets reloaded and the elevator switches back to cfq;\n    - reallocation of a cic at the same address as before (with a valid key).\n\nTo fix it just assign NULL to ioc_data in __cfq_exit_single_io_context(),\nthat is called from the regular exit path and from the elevator switching\ncode.  The only path that frees a cic and is not covered is the error handling\none, but cic\u0027s freed in this way are never cached in ioc_data.\n\nSigned-off-by: Fabio Checconi \u003cfabio@gandalf.sssup.it\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "34e6bbf23c8f43e8713d9bd092680f1660494b4a",
      "tree": "908e97ac3d43882cb42bf57c41926852d3bc2f6e",
      "parents": [
        "00d61e3e8c12d5f395b167856d2b3c430816afb0"
      ],
      "author": {
        "name": "Fabio Checconi",
        "email": "fabio@gandalf.sssup.i",
        "time": "Wed Apr 02 14:31:02 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 02 15:42:20 2008 +0200"
      },
      "message": "cfq-iosched: fix rcu freeing of cfq io contexts\n\nSLAB_DESTROY_BY_RCU is not a direct substitute for normal call_rcu()\nfreeing, since it\u0027ll page freeing but NOT object freeing. So change\ncfq to do the freeing on its own.\n\nSigned-off-by: Fabio Checconi \u003cfabio@gandalf.sssup.it\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "00d61e3e8c12d5f395b167856d2b3c430816afb0",
      "tree": "757df09b076810b40ee3431a394882a2be860a68",
      "parents": [
        "0e81a8ae37687845f7cdfa2adce14ea6a5f1dd34"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "andrea@qumranet.com",
        "time": "Wed Apr 02 09:06:44 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 02 09:06:44 2008 +0200"
      },
      "message": "Fix bounce setting for 64-bit\n\nLooking a bit closer into this regression the reason this can\u0027t be\nright is that dma_addr common default is BLK_BOUNCE_HIGH and most\nmachines have less than 4G. So if you do:\n\n    if (b_pfn \u003c\u003d (min_t(u64, 0xffffffff, BLK_BOUNCE_HIGH) \u003e\u003e PAGE_SHIFT))\n\tdma \u003d 1\n\nthat will translate to:\n\n     if (BLK_BOUNCE_HIGH \u003c\u003d BLK_BOUNCE_HIGH)\n     \tdma \u003d 1\n\nSo for 99% of hardware this will trigger unnecessary GFP_DMA\nallocations and isa pooling operations.\n\nAlso note how the 32bit code still does b_pfn \u003c blk_max_low_pfn.\n\nI guess this is what you were looking after. I didn\u0027t verify but as\nfar as I can tell, this will stop the regression with isa dma\noperations at boot for 99% of blkdev/memory combinations out there and\nI guess this fixes the setups with \u003e4G of ram and 32bit pci cards as\nwell (this also retains symmetry with the 32bit code).\n\nSigned-off-by: Andrea Arcangeli \u003candrea@qumranet.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ee27a558ae0ff5063ccd6c47ca102c0bb0e3ba27",
      "tree": "dcf8c19fa113bf8bd1e8d5c97a4d527cc845e38d",
      "parents": [
        "a8ae50ba9336ff77d0df0943ac27b79ba0a5a521"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Tue Mar 11 17:13:15 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 12 12:34:37 2008 -0700"
      },
      "message": "genhd must_check warning fix\n\nFixes:\n\n\tblock/genhd.c:361: warning: ignoring return value of ‘class_register’, declared with attribute warn_unused_result\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nAcked-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cc66b4512cae8df4ed1635483210aabf7690ec27",
      "tree": "8f96be9db22c086efa3751c5c3a80f0ac6007c9f",
      "parents": [
        "56d94a37f63ad1c9da3bc8e903f79d0ee1e80170"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Mar 04 11:47:46 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Mar 04 11:47:46 2008 +0100"
      },
      "message": "block: fix blkdev_issue_flush() not detecting and passing EOPNOTSUPP back\n\nThis is important to eg dm, that tries to decide whether to stop using\nbarriers or not.\n\nTested as working by Anders Henke \u003canders.henke@1und1.de\u003e\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "56d94a37f63ad1c9da3bc8e903f79d0ee1e80170",
      "tree": "f5a89d4d6df7b959ca7e1ae3cd8f54a935496cc4",
      "parents": [
        "448da4d262b5db90817ce853726ff4d9b0c2bf48"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Mar 04 11:31:22 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Mar 04 11:31:22 2008 +0100"
      },
      "message": "block: fix shadowed variable warning in blk-map.c\n\nIntroduced between 2.6.25-rc2 and -rc3\nblock/blk-map.c:154:14: warning: symbol \u0027bio\u0027 shadows an earlier one\nblock/blk-map.c:110:13: originally declared here\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "448da4d262b5db90817ce853726ff4d9b0c2bf48",
      "tree": "01fecb0f9a1d89eb6c418320d3124d2ff92fae83",
      "parents": [
        "68d95b585f1b67b3c89ce0eb934e221ebeeb5c61"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Mar 04 11:30:18 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Mar 04 11:30:18 2008 +0100"
      },
      "message": "block: remove extern on function definition\n\nIntoduced between 2.6.25-rc2 and -rc3\nblock/blk-settings.c:319:12: warning: function \u0027blk_queue_dma_drain\u0027 with external linkage has definition\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "bec419404afe8b0d60000118ca90ada4c69a3a6d",
      "tree": "4febf3a554ef432a9de40a2653131f8a60137f45",
      "parents": [
        "9d7f1e6b9b2c2e4fe029ff35f4ca1e2879864208"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Mar 04 11:23:48 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Mar 04 11:28:34 2008 +0100"
      },
      "message": "unexport blk_rq_map_user_iov\n\nThis patch removes the unused export of blk_rq_map_user_iov.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "9d7f1e6b9b2c2e4fe029ff35f4ca1e2879864208",
      "tree": "06ac8af66970f1fd25bb97303c8d824062ee5d4b",
      "parents": [
        "1826eadfc42839af7c1c5a1859510aff635d3fa1"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Mar 04 11:23:47 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Mar 04 11:28:32 2008 +0100"
      },
      "message": "unexport blk_{get,put}_queue\n\nThis patch removes the unused exports of blk_{get,put}_queue.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1826eadfc42839af7c1c5a1859510aff635d3fa1",
      "tree": "387895990fb3db91cbf9d82d33f5df27d62a0219",
      "parents": [
        "ff88972c850ced92b9c4c7f538d85829c741eeb0"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Mar 04 11:23:46 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Mar 04 11:28:31 2008 +0100"
      },
      "message": "block/genhd.c: cleanups\n\nThis patch contains the following cleanups:\n- make the needlessly global struct disk_type static\n- #if 0 the unused genhd_media_change_notify()\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ff88972c850ced92b9c4c7f538d85829c741eeb0",
      "tree": "e7cfb7e15db26f35da6e982b934417f3909017a6",
      "parents": [
        "278caf0120a77e4398762357a8cc522d094fe2f2"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Mar 04 11:23:45 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Mar 04 11:28:29 2008 +0100"
      },
      "message": "proper prototype for blk_dev_init()\n\nThis patch adds a proper prototye for blk_dev_init() in block/blk.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "278caf0120a77e4398762357a8cc522d094fe2f2",
      "tree": "e81bc300bf4f73654256067e9b466a5722e6a714",
      "parents": [
        "419c434c35614609fd0c79d335c134bf4b88b30b"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Mar 04 11:23:44 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Mar 04 11:28:24 2008 +0100"
      },
      "message": "block/blk-tag.c should #include \"blk.h\"\n\nEvery file should include the headers containing the externs for its\nglobal functions (in this case for __blk_queue_free_tags()).\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "419c434c35614609fd0c79d335c134bf4b88b30b",
      "tree": "c2e076f6d0c61051dac3184f9f1255db1c680902",
      "parents": [
        "e3790c7d42a545e8fe8b38b513613ca96687b670"
      ],
      "author": {
        "name": "Yang Shi",
        "email": "yang.shi@windriver.com",
        "time": "Tue Mar 04 11:20:51 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Mar 04 11:20:51 2008 +0100"
      },
      "message": "Fix DMA access of block device in 64-bit kernel on some non-x86 systems with 4GB or upper 4GB memory\n\nFor some non-x86 systems with 4GB or upper 4GB memory,\nwe need increase the range of addresses that can be\nused for direct DMA in 64-bit kernel.\n\nSigned-off-by: Yang Shi \u003cyang.shi@windriver.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e3790c7d42a545e8fe8b38b513613ca96687b670",
      "tree": "0b849ba46007c4d7f7a34271a76d58e7406cbad7",
      "parents": [
        "7a85f8896f4b4a4a0249563b92af9e3161a6b467"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Mar 04 11:18:17 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Mar 04 11:18:17 2008 +0100"
      },
      "message": "block: separate out padding from alignment\n\nBlock layer alignment was used for two different purposes - memory\nalignment and padding.  This causes problems in lower layers because\ndrivers which only require memory alignment ends up with adjusted\nrq-\u003edata_len.  Separate out padding such that padding occurs iff\ndriver explicitly requests it.\n\nTomo: restorethe code to update bio in blk_rq_map_user\n      introduced by the commit 40b01b9bbdf51ae543a04744283bf2d56c4a6afa\n      according to padding alignment.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7a85f8896f4b4a4a0249563b92af9e3161a6b467",
      "tree": "616c62e3c96237e874fc0f47133fbca2160913b5",
      "parents": [
        "89b6e743788516491846724d7ef89bcac7ac9c99"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Mar 04 11:17:11 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Tue Mar 04 11:17:11 2008 +0100"
      },
      "message": "block: restore the meaning of rq-\u003edata_len to the true data length\n\nThe meaning of rq-\u003edata_len was changed to the length of an allocated\nbuffer from the true data length. It breaks SG_IO friends and\nbsg. This patch restores the meaning of rq-\u003edata_len to the true data\nlength and adds rq-\u003eextra_len to store an extended length (due to\ndrain buffer and padding).\n\nThis patch also removes the code to update bio in blk_rq_map_user\nintroduced by the commit 40b01b9bbdf51ae543a04744283bf2d56c4a6afa.\nThe commit adjusts bio according to memory alignment\n(queue_dma_alignment). However, memory alignment is NOT padding\nalignment. This adjustment also breaks SG_IO friends and bsg. Padding\nalignment needs to be fixed in a proper way (by a separate patch).\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003caxboe@carl.home.kernel.dk\u003e\n"
    },
    {
      "commit": "5d87a052c7e5f245bbb3018721b4b0afe0afc252",
      "tree": "3d24eaf1409518e1a0b36d8cd9e7131d5f5a8044",
      "parents": [
        "976dde010e513a9c7c3117a32b7b015f84b37430"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Feb 20 09:01:22 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Tue Mar 04 11:14:39 2008 +0100"
      },
      "message": "block: fix kernel-docbook parameters and files\n\nkernel-doc for block/:\n- add missing parameters\n- fix one function\u0027s parameter list (remove blank line)\n- add 2 source files to docbook for non-exported kernel-doc functions\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "db0a2e0099be3a1cff55879225881465f16c67d3",
      "tree": "297f788296f1722b4a6b2e5947fa9a3aa63dc36b",
      "parents": [
        "2fb98e8414c42cb14698833aac640b143b9ade4f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Feb 19 11:36:55 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Feb 19 11:36:55 2008 +0100"
      },
      "message": "block: clear drain buffer if draining for write command\n\nClear drain buffer before chaining if the command in question is a\nwrite.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2fb98e8414c42cb14698833aac640b143b9ade4f",
      "tree": "ab241305b5ce3ea5ef3e76df7abe04b831cd9e34",
      "parents": [
        "6b00769fe1502b4ad97bb327ef7ac971b208bfb5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Feb 19 11:36:53 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Feb 19 11:36:53 2008 +0100"
      },
      "message": "block: implement request_queue-\u003edma_drain_needed\n\nDraining shouldn\u0027t be done for commands where overflow may indicate\ndata integrity issues.  Add dma_drain_needed callback to\nrequest_queue.  Drain buffer is appened iff this function returns\nnon-zero.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6b00769fe1502b4ad97bb327ef7ac971b208bfb5",
      "tree": "2ffc51176437ebf4f8a4ab13de59a32431043f15",
      "parents": [
        "40b01b9bbdf51ae543a04744283bf2d56c4a6afa"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Feb 19 11:36:35 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Feb 19 11:36:35 2008 +0100"
      },
      "message": "block: add request-\u003eraw_data_len\n\nWith padding and draining moved into it, block layer now may extend\nrequests as directed by queue parameters, so now a request has two\nsizes - the original request size and the extended size which matches\nthe size of area pointed to by bios and later by sgs.  The latter size\nis what lower layers are primarily interested in when allocating,\nfilling up DMA tables and setting up the controller.\n\nBoth padding and draining extend the data area to accomodate\ncontroller characteristics.  As any controller which speaks SCSI can\nhandle underflows, feeding larger data area is safe.\n\nSo, this patch makes the primary data length field, request-\u003edata_len,\nindicate the size of full data area and add a separate length field,\nrequest-\u003eraw_data_len, for the unmodified request size.  The latter is\nused to report to higher layer (userland) and where the original\nrequest size should be fed to the controller or device.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "40b01b9bbdf51ae543a04744283bf2d56c4a6afa",
      "tree": "0f81015c01834b97fdb5646a63c3fe1a24936d81",
      "parents": [
        "56c819df77f96c3fc0c2a979e12b478403728790"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Feb 19 11:35:38 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Feb 19 11:35:38 2008 +0100"
      },
      "message": "block: update bio according to DMA alignment padding\n\nDMA start address and transfer size alignment for PC requests are\nachieved using bio_copy_user() instead of bio_map_user().  This works\nbecause bio_copy_user() always uses full pages and block DMA alignment\nisn\u0027t allowed to go over PAGE_SIZE.\n\nHowever, the implementation didn\u0027t update the last bio of the request\nto make this padding visible to lower layers.  This patch makes\nblk_rq_map_user() extend the last bio such that it includes the\npadding area and the size of area pointed to by the request is\nproperly aligned.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e164094964e6e20fe7fce418e06a9dce952bb7a4",
      "tree": "99ff5c6dbf5bccad8a1172bc0fb5a5f4a079bae3",
      "parents": [
        "ffc4e7595734cf768fa60cea8a4d545dfef8231a"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Feb 19 10:20:37 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Feb 19 10:20:37 2008 +0100"
      },
      "message": "elevator: make elevator_get() attempt to load the appropriate module\n\nCurrently we fail if someone requests a valid io scheduler, but it\u0027s\nmodular and not currently loaded. That can happen from a driver init\nasking for a different scheduler, or online switching through sysfs\nas requested by a user.\n\nThis patch makes elevator_get() request_module() to attempt to load\nthe appropriate module, instead of requiring that done manually.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ffc4e7595734cf768fa60cea8a4d545dfef8231a",
      "tree": "9b95aca67ea7c9e87254da501f73cca64504051d",
      "parents": [
        "84e9e03c55c2456799ab19f1d577e72f721fdd39"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Feb 19 10:02:29 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Feb 19 10:04:00 2008 +0100"
      },
      "message": "cfq-iosched: add hlist for browsing parallel to the radix tree\n\nIt\u0027s cumbersome to browse a radix tree from start to finish, especially\nsince we modify keys when a process exits. So add a hlist for the single\npurpose of browsing over all known cfq_io_contexts, used for exit,\nio prio change, etc.\n\nThis fixes http://bugzilla.kernel.org/show_bug.cgi?id\u003d9948\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "84e9e03c55c2456799ab19f1d577e72f721fdd39",
      "tree": "e268a42aa43b6dae3c4f4c8d5c4b2e24d6e2d65a",
      "parents": [
        "86b6c7a7f78feca58d2d8615e53aee4d59ab9dc6"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Feb 18 13:51:56 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Feb 19 10:04:00 2008 +0100"
      },
      "message": "block: make blk_rq_map_user() clear -\u003ebio if it unmaps it\n\nThat way the interface is symmetric, and calling blk_rq_unmap_user()\non the request wont oops.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "52ff4cae65b45dcdfa23de09619754d6f380f31e",
      "tree": "090e67d7b0219d1f3a5c943a6d4e23df6920f18b",
      "parents": [
        "13341598263011e079386b22ea35e482f97714c0"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Feb 18 13:45:55 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Feb 19 10:04:00 2008 +0100"
      },
      "message": "make blk_settings_init() static\n\nblk_settings_init() can become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003caxboe@carl.home.kernel.dk\u003e\n"
    },
    {
      "commit": "13341598263011e079386b22ea35e482f97714c0",
      "tree": "8a4caf93f9fed9e3b318304759028201a477f733",
      "parents": [
        "5ece6c52ea52f9e94298e950a837ccff415c7687"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Feb 18 13:45:53 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Feb 19 10:04:00 2008 +0100"
      },
      "message": "make blk_ioc_init() static\n\nblk_ioc_init() can become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003caxboe@carl.home.kernel.dk\u003e\n"
    },
    {
      "commit": "5ece6c52ea52f9e94298e950a837ccff415c7687",
      "tree": "70f5f64d3b9b2e0c1f90a0f6a3029b058597241a",
      "parents": [
        "9a4c8546f3e7c893888bccc2b3416d6214f2664a"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Feb 18 13:45:51 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Feb 19 10:04:00 2008 +0100"
      },
      "message": "make blk-core.c:request_cachep static again\n\nrequest_cachep needlessly became global.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003caxboe@carl.home.kernel.dk\u003e\n"
    },
    {
      "commit": "c3c930d93365c495fbc1df28649da7cd4b97f4af",
      "tree": "ca5c9efbe9b676423ace098c749425dedabd7bef",
      "parents": [
        "28f39d553ee242000e62f6c589ee3dc6de3f9aaa"
      ],
      "author": {
        "name": "Jerome Marchand",
        "email": "jmarchan@redhat.com",
        "time": "Fri Feb 08 12:06:21 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 08 12:42:01 2008 +0100"
      },
      "message": "Enhanced partition statistics: remove old partition statistics\n\nRemoves the now unused old partition statistic code.\n\nSigned-off-by: Jerome Marchand \u003cjmarchan@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "28f39d553ee242000e62f6c589ee3dc6de3f9aaa",
      "tree": "c677fc2ec4a97c59e2e8eb3ba3080fce5a963784",
      "parents": [
        "34e8beac92c27d292938065f8375842d2840767c"
      ],
      "author": {
        "name": "Jerome Marchand",
        "email": "jmarchan@redhat.com",
        "time": "Fri Feb 08 11:04:56 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 08 12:42:00 2008 +0100"
      },
      "message": "Enhanced partition statistics: procfs\n\nReports enhanced partition statistics in /proc/diskstats.\n\nSigned-off-by: Jerome Marchand \u003cjmarchan@redhat.com\u003e\n"
    },
    {
      "commit": "6f2576af5ba5913538fda7dfb7c6a17771025477",
      "tree": "ff55bc30686ccec8b0ce22eb3844e78a52aea875",
      "parents": [
        "ea5c48ab2a76559d4af39e1f7de137c0851ac0a5"
      ],
      "author": {
        "name": "Jerome Marchand",
        "email": "jmarchan@redhat.com",
        "time": "Fri Feb 08 11:04:35 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 08 12:41:56 2008 +0100"
      },
      "message": "Enhanced partition statistics: update partition statitics\n\nUpdates the enhanced partition statistics in generic block layer\nbesides the disk statistics.\n\nSigned-off-by: Jerome Marchand \u003cjmarchan@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "63a7138671c50a6f2c27bbd1a308dc75967062a3",
      "tree": "6d8b0d9cbc05bce2848299b61528cabc6d04d267",
      "parents": [
        "a4ffc0a0b240a29cbe489f6db9dae112a49ef1c1"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 08 12:41:03 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 08 12:41:03 2008 +0100"
      },
      "message": "block: fixup rq_init() a bit\n\nRearrange fields in cache order and initialize some fields that\nwe didn\u0027t previously init. Remove init of -\u003ecompletion_data, it\u0027s\npart of a union with -\u003ehash. Luckily clearing the rb node is the same\nas setting it to null!\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3bc217ffe6774e7971d6a7ce6350ce806ebab044",
      "tree": "b1ccad14a0c23f12248092feb867d2e311db59f0",
      "parents": [
        "8bdd3f8a6993fef2f364aca6e1a59559405773a2"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 01 11:34:49 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 01 11:34:49 2008 +0100"
      },
      "message": "block: kill swap_io_context()\n\nIt blindly copies everything in the io_context, including the lock.\nThat doesn\u0027t work so well for either lock ordering or lockdep.\n\nThere seems zero point in swapping io contexts on a request to request\nmerge, so the best point of action is to just remove it.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "8bdd3f8a6993fef2f364aca6e1a59559405773a2",
      "tree": "cbf07985c3396417932002be5cd5e4f2c47433e9",
      "parents": [
        "4f4f6c2502474f51654a699d7127d86c2f87075a"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 01 09:44:28 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 01 09:44:28 2008 +0100"
      },
      "message": "as-iosched: fix inconsistent ioc-\u003elock context\n\nSince it\u0027s acquired from irq context, all locking must be of the\nirq safe variant. Most are already inside the queue lock (which\nalready disables interrupts), but the io scheduler rmmod path\nalways has irqs enabled and the put_io_context() path may legally\nbe called with irqs enabled (even if it isn\u0027t usually). So fixup\nthose two.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "4eb166d9874b4917d79ccd14577a60d795a0cb4a",
      "tree": "b29e657c7f07ad4a0f852bc4803404a7b15bd4ef",
      "parents": [
        "fe094d98e79351344c9e0e2c1446794240d247a4"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 01 00:37:27 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 01 09:26:33 2008 +0100"
      },
      "message": "block: make elevator lib checkpatch compliant\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "fe094d98e79351344c9e0e2c1446794240d247a4",
      "tree": "6ca11d4d0c2b0c338159b02a412c8bb9fd08f2a6",
      "parents": [
        "6728cb0e6343d4068ccec13f07212e6382d3ff33"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jan 31 13:08:54 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 01 09:26:33 2008 +0100"
      },
      "message": "cfq-iosched: make checkpatch compliant\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6728cb0e6343d4068ccec13f07212e6382d3ff33",
      "tree": "5a7826dc91cf2d9cf54e8c24b40aa3c4d892c797",
      "parents": [
        "22b132102f1540dd40f3e41df88796829b685f1a"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jan 31 13:03:55 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 01 09:26:33 2008 +0100"
      },
      "message": "block: make core bits checkpatch compliant\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "22b132102f1540dd40f3e41df88796829b685f1a",
      "tree": "20edc8316009b946ebd197b7aef7ccc041d02798",
      "parents": [
        "640e248e44e2c550473550ca83668ceccad21dce"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jan 31 12:36:19 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 01 09:26:33 2008 +0100"
      },
      "message": "block: new end request handling interface should take unsigned byte counts\n\nNo point in passing signed integers as the byte count, they can never\nbe negative.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "40f620286dd08e29c995ca631f45e8d03f4fe1be",
      "tree": "9bdfd55ad3a149bdcb1ede9bf452f32118214aea",
      "parents": [
        "3d9dd6eef888658d26ebea0cc24d15d2a93ab015"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Jan 25 20:05:55 2008 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 30 13:14:26 2008 -0600"
      },
      "message": "[SCSI] bsg: copy the cmd_type field to the subordinate request for bidi\n\nThis fixes a problem in SCSI where we use the (previously\nuninitialised) cmd_type via blk_pc_request() to set up the transfer in\nscsi_init_sgtable().\n\nAcked-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "149a051f82d2b3860fe32fa182dbc83a66274894",
      "tree": "4ca660bb2ee8ac25661a38587d785cd9f78b2125",
      "parents": [
        "5b10ca19ea4859d3884d10a3eb8495de92089792"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 22:25:18 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Jan 30 09:11:10 2008 +0100"
      },
      "message": "as-iosched: fix double locking bug in as_merged_requests()\n\nIf the two requests belong to the same io context, we will attempt\nto lock the same lock twice. But swapping contexts is pointless in\nthat case, so just check for rioc \u003d\u003d nioc before doing the double\nlock and copy.\n\nTested-by: Olof Johansson \u003colof@lixom.net\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "12f32bb31772e72d8cf52a29f961561bccc54c37",
      "tree": "461dc5d9008e4799fe78eed4d2c0d29096a60345",
      "parents": [
        "e7d9dc9cfd9bcc9ca688fe7f94c0da7d0700bfe6"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Tue Jan 29 20:57:51 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 21:55:19 2008 +0100"
      },
      "message": "block: constify function pointer tables\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e68b903c6b2b88c60050675b056648468f33ab54",
      "tree": "6622d232adae87af15a9e42e024b513012e59d2b",
      "parents": [
        "7da975a231ae8c11593fd79d1083215321be213a"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Tue Jan 29 19:14:08 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 21:55:17 2008 +0100"
      },
      "message": "Expose hardware sector size\n\nExpose hardware sector size in sysfs queue directory.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d6d48196961729b79509dcaeeb0f0fb4fbb47d29",
      "tree": "e80f5cdc7f0d682a46b816f5a489357f7d622d62",
      "parents": [
        "db1d08c646e47f3c7835ecdabb51a906ec311f69"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 14:04:06 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 21:55:12 2008 +0100"
      },
      "message": "block: ll_rw_blk.c split, add blk-merge.c\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "db1d08c646e47f3c7835ecdabb51a906ec311f69",
      "tree": "3760cfe0f210d072d8750dfa7c29a43f1673604e",
      "parents": [
        "26b8256e2bb930a8e4d4d10aa74950d8921376b8"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 13:55:40 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 21:55:11 2008 +0100"
      },
      "message": "block: remove dated (and wrong) comment in blk-core.c\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "26b8256e2bb930a8e4d4d10aa74950d8921376b8",
      "tree": "36fc1011aa68526dc1fb5b237e330ca2c27c9939",
      "parents": [
        "86db1e29772372155db08ff48a9ceb76e11a2ad1"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 13:54:41 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 21:55:09 2008 +0100"
      },
      "message": "block: get rid of unnecessary forward declarations in blk-core.c\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "86db1e29772372155db08ff48a9ceb76e11a2ad1",
      "tree": "312f38eb3245873c476c50f816b85610fef9615a",
      "parents": [
        "8324aa91d1e11a1fc25f209687a0b2e6c2ed47d0"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 14:53:40 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 21:55:08 2008 +0100"
      },
      "message": "block: continue ll_rw_blk.c splitup\n\nAdds files for barrier handling, rq execution, io context handling,\nmapping data to requests, and queue settings.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "8324aa91d1e11a1fc25f209687a0b2e6c2ed47d0",
      "tree": "c63753df94b741d328840edabde74462591ca0b3",
      "parents": [
        "a168ee84c90b39ece357da127ab388f2f64db19c"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 14:51:59 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 21:55:07 2008 +0100"
      },
      "message": "block: split tag and sysfs handling from blk-core.c\n\nSeperates the tag and sysfs handling from ll_rw_blk.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a168ee84c90b39ece357da127ab388f2f64db19c",
      "tree": "acb5527d9835c06e4eb2c308850e74db857f7d64",
      "parents": [
        "9bf722598fcd51073974850ae026b44389430ecc"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 14:49:21 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 21:55:05 2008 +0100"
      },
      "message": "block: first step of splitting ll_rw_blk, rename it\n\nThen we retain history in blk-core.c\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "8d01eddf292dcd78b640418c80fb300532799cd4",
      "tree": "dd7f816423463e5ad10f15af22fdbd5b75cc6184",
      "parents": [
        "f0f0052069989b80d2a3e50c9cd2f2a650bc1aea",
        "fa0ccd837e3dddb44c7db2f128a8bb7e4eabc21a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 29 08:51:56 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 29 08:51:56 2008 +1100"
      },
      "message": "Merge branch \u0027for-2.6.25\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.25\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: implement drain buffers\n  __bio_clone: don\u0027t calculate hw/phys segment counts\n  block: allow queue dma_alignment of zero\n  blktrace: Add blktrace ioctls to SCSI generic devices\n"
    },
    {
      "commit": "f0f0052069989b80d2a3e50c9cd2f2a650bc1aea",
      "tree": "40ff39bc341aed8318a54d1bd61a381f41844f71",
      "parents": [
        "68fbda7de07e56eb90dd6e58a162527411b388b1",
        "a65b58663d983e588aed8d1bfc75edaac2527fa7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 29 08:51:32 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 29 08:51:32 2008 +1100"
      },
      "message": "Merge branch \u0027blk-end-request\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027blk-end-request\u0027 of git://git.kernel.dk/linux-2.6-block: (30 commits)\n  blk_end_request: changing xsysace (take 4)\n  blk_end_request: changing ub (take 4)\n  blk_end_request: cleanup of request completion (take 4)\n  blk_end_request: cleanup \u0027uptodate\u0027 related code (take 4)\n  blk_end_request: remove/unexport end_that_request_* (take 4)\n  blk_end_request: changing scsi (take 4)\n  blk_end_request: add bidi completion interface (take 4)\n  blk_end_request: changing ide-cd (take 4)\n  blk_end_request: add callback feature (take 4)\n  blk_end_request: changing ide normal caller (take 4)\n  blk_end_request: changing cpqarray (take 4)\n  blk_end_request: changing cciss (take 4)\n  blk_end_request: changing ide-scsi (take 4)\n  blk_end_request: changing s390 (take 4)\n  blk_end_request: changing mmc (take 4)\n  blk_end_request: changing i2o_block (take 4)\n  blk_end_request: changing viocd (take 4)\n  blk_end_request: changing xen-blkfront (take 4)\n  blk_end_request: changing viodasd (take 4)\n  blk_end_request: changing sx8 (take 4)\n  ...\n"
    },
    {
      "commit": "febffd61816ef6d4f84189468c1d47f1df55921e",
      "tree": "96654c4e1d41bd3f4d5f685eee7dd0a3505e7092",
      "parents": [
        "0871714e08fed7ba66cadad11b2e4f85a9dc9b96"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 13:19:43 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 13:19:43 2008 +0100"
      },
      "message": "cfq-iosched: kill some big inlines\n\nUse of inlines were a bit over the top, trim them down a bit.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0871714e08fed7ba66cadad11b2e4f85a9dc9b96",
      "tree": "3b0bcb433294bb144b778ae97296ad4d8626ad47",
      "parents": [
        "fadad878cc0640cc9cd5569998bf54b693f7b38b"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 11:38:15 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 11:38:15 2008 +0100"
      },
      "message": "cfq-iosched: relax IOPRIO_CLASS_IDLE restrictions\n\nCurrently you must be root to set idle io prio class on a process. This\nis due to the fact that the idle class is implemented as a true idle\nclass, meaning that it will not make progress if someone else is\nrequesting disk access. Unfortunately this means that it opens DOS\nopportunities by locking down file system resources, hence it is root\nonly at the moment.\n\nThis patch relaxes the idle class a little, by removing the truly idle\npart (which entals a grace period with associated timer). The\nmodifications make the idle class as close to zero impact as can be done\nwhile still guarenteeing progress. This means we can relax the root only\ncriteria as well.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "fa0ccd837e3dddb44c7db2f128a8bb7e4eabc21a",
      "tree": "ade071502f3e7cba423295890d828f0f301ad731",
      "parents": [
        "5d84070ee0a433620c57e85dac7f82faaec5fbb3"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Thu Jan 10 11:30:36 2008 -0600"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:54:11 2008 +0100"
      },
      "message": "block: implement drain buffers\n\nThese DMA drain buffer implementations in drivers are pretty horrible\nto do in terms of manipulating the scatterlist.  Plus they\u0027re being\ndone at least in drivers/ide and drivers/ata, so we now have code\nduplication.\n\nThe one use case for this, as I understand it is AHCI controllers doing\nPIO mode to mmc devices but translating this to DMA at the controller\nlevel.\n\nSo, what about adding a callback to the block layer that permits the\nadding of the drain buffer for the problem devices.  The idea is that\nyou\u0027d do this in slave_configure after you find one of these devices.\n\nThe beauty of doing it in the block layer is that it quietly adds the\ndrain buffer to the end of the sg list, so it automatically gets mapped\n(and unmapped) without anything unusual having to be done to the\nscatterlist in driver/scsi or drivers/ata and without any alteration to\nthe transfer length.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "521f3bbdba6b92582ef8047df01b156668343542",
      "tree": "5984f76e395b10cc2463eae35c575d1b4aad13ce",
      "parents": [
        "4ac845a2e9a816ed5a7b301f56dcc0a3d0b1ba4d"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 21 20:03:12 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:50:35 2008 +0100"
      },
      "message": "io_context sharing - anticipatory changes\n\nchanges to anticipatory io scheduler for io_context sharing\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "4ac845a2e9a816ed5a7b301f56dcc0a3d0b1ba4d",
      "tree": "602f15808d0f3dcdfcd7cc4491b2cc2ccd266fd2",
      "parents": [
        "66dac98ed0de7a1125fb0dd7907f238f6b9d2f60"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jan 24 08:44:49 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:50:33 2008 +0100"
      },
      "message": "block: cfq: make the io contect sharing lockless\n\nThe io context sharing introduced a per-ioc spinlock, that would protect\nthe cfq io context lookup. That is a regression from the original, since\nwe never needed any locking there because the ioc/cic were process private.\n\nThe cic lookup is changed from an rbtree construct to a radix tree, which\nwe can then use RCU to make the reader side lockless. That is the performance\ncritical path, modifying the radix tree is only done on process creation\n(when that process first does IO, actually) and on process exit (if that\nprocess has done IO).\n\nAs it so happens, radix trees are also much faster for this type of\nlookup where the key is a pointer. It\u0027s a very sparse tree.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "66dac98ed0de7a1125fb0dd7907f238f6b9d2f60",
      "tree": "321184ce78e41f2cf25c3154fe320dd5504f57bc",
      "parents": [
        "d38ecf935fcb10264a6bc190855d9595165e6eeb"
      ],
      "author": {
        "name": "Nikanth Karthikesan",
        "email": "KNikanth@novell.com",
        "time": "Tue Nov 27 12:47:04 2007 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:50:32 2008 +0100"
      },
      "message": "io_context sharing - cfq changes\n\nchanges in the cfq for io_context sharing\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d38ecf935fcb10264a6bc190855d9595165e6eeb",
      "tree": "64e3146ef76678ad3ae8f75c32df9f25ea470953",
      "parents": [
        "fd0928df98b9578be8a786ac0cb78a47a5e17a20"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jan 24 08:53:35 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:50:31 2008 +0100"
      },
      "message": "io context sharing: preliminary support\n\nDetach task state from ioc, instead keep track of how many processes\nare accessing the ioc.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "fd0928df98b9578be8a786ac0cb78a47a5e17a20",
      "tree": "70a34cf207bea1bec28e59cf0dba7d20e7f8b0f1",
      "parents": [
        "91525300baf162e83e923b09ca286f9205e21522"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jan 24 08:52:45 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:50:29 2008 +0100"
      },
      "message": "ioprio: move io priority from task_struct to io_context\n\nThis is where it belongs and then it doesn\u0027t take up space for a\nprocess that doesn\u0027t do IO.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b8286239ddaf2632cec65c01e68a403ac4c3d079",
      "tree": "fe8b8ac09d103612525566d5851907a09f99594f",
      "parents": [
        "5450d3e1d68f10be087f0855d8bad5458b50ecbe"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Tue Dec 11 17:53:24 2007 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:37:15 2008 +0100"
      },
      "message": "blk_end_request: cleanup of request completion (take 4)\n\nThis patch merges complete_request() into end_that_request_last()\nfor cleanup.\n\ncomplete_request() was introduced by earlier part of this patch-set,\nnot to break the existing users of end_that_request_last().\n\nSince all users are converted to blk_end_request interfaces and\nend_that_request_last() is no longer exported, the code can be\nmerged to end_that_request_last().\n\nCc: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5450d3e1d68f10be087f0855d8bad5458b50ecbe",
      "tree": "400126ac131621229c49c549f27838fcf3a263e7",
      "parents": [
        "3bcddeac1c4c7e6fb90531b80f236b1a05dfe514"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Tue Dec 11 17:53:03 2007 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:37:13 2008 +0100"
      },
      "message": "blk_end_request: cleanup \u0027uptodate\u0027 related code (take 4)\n\nThis patch converts \u0027uptodate\u0027 arguments of no longer exported\ninterfaces, end_that_request_first/last, to \u0027error\u0027, and removes\ninternal conversions for it in blk_end_request interfaces.\n\nAlso, this patch removes no longer needed end_io_error().\n\nCc: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3bcddeac1c4c7e6fb90531b80f236b1a05dfe514",
      "tree": "68e1f33b8176ff00552b1df92d16c23c28b0ecf2",
      "parents": [
        "610d8b0c972e3b75493efef8e96175518fd736d3"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Tue Dec 11 17:52:28 2007 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:37:12 2008 +0100"
      },
      "message": "blk_end_request: remove/unexport end_that_request_* (take 4)\n\nThis patch removes the following functions:\n  o end_that_request_first()\n  o end_that_request_chunk()\nand stops exporting the functions below:\n  o end_that_request_last()\n\nCc: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e3a04fe34a3ec81ddeddb6c73fb7299716cffbb0",
      "tree": "080d1ec1cc3d78b3aef4e95f5334f5b4c3da3498",
      "parents": [
        "aaa04c28cb9a1efd42541fdb7ab648231c2a2263"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Tue Dec 11 17:51:46 2007 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:37:08 2008 +0100"
      },
      "message": "blk_end_request: add bidi completion interface (take 4)\n\nThis patch adds a variant of the interface, blk_end_bidi_request(),\nwhich completes a bidi request.\n\nBidi request must be completed as a whole, both rq and rq-\u003enext_rq\nat once.  So the interface has 2 arguments for completion size.\n\nAs for -\u003eend_io, only rq-\u003eend_io is called (rq-\u003enext_rq-\u003eend_io is not\ncalled).  So if special completion handling is needed, the handler\nmust be set to rq-\u003eend_io.\nAnd the handler must take care of freeing next_rq too, since\nthe interface doesn\u0027t care of it if rq-\u003eend_io is not NULL.\n\nCc: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e19a3ab058fe91c8c54d43dc56dccf7eb386478e",
      "tree": "f62d5af2338484e8a3eec1dc453dec4f949024a7",
      "parents": [
        "5e36bb6ee8d5ff6c6114b60d2aaa1c70d4275f4e"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Tue Dec 11 17:51:02 2007 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:37:04 2008 +0100"
      },
      "message": "blk_end_request: add callback feature (take 4)\n\nThis patch adds a variant of the interface, blk_end_request_callback(),\nwhich has driver callback feature.\n\nDrivers may need to do special works between end_that_request_first()\nand end_that_request_last().\nFor such drivers, blk_end_request_callback() allows it to pass\na callback function which is called between end_that_request_first()\nand end_that_request_last().\n\nThis interface is only for fallback of other blk_end_request interfaces.\nDrivers should avoid their tricky behaviors and use other interfaces\nas much as possible.\n\nCurrently, only one driver, ide-cd, needs this interface.\nSo this interface should/will be removed, after the driver removes\nsuch tricky behaviors.\n\no ide-cd (cdrom_newpc_intr())\n  In PIO mode, cdrom_newpc_intr() needs to defer end_that_request_last()\n  until the device clears DRQ_STAT and raises an interrupt after\n  end_that_request_first().\n  So end_that_request_first() and end_that_request_last() are called\n  separately in cdrom_newpc_intr().\n\n  This means blk_end_request_callback() has to return without\n  completing request even if no leftover in the request.\n  To satisfy the requirement, callback function has return value\n  so that drivers can tell blk_end_request_callback() to return\n  without completing request.\n\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "9e6e39f2c478fff2e9d3430cdfe6730877942ed6",
      "tree": "b01b289b331ff899393afcd4651fa75aaec19e1c",
      "parents": [
        "3b11313a6c2a42425bf06e92528bda6affd58dec"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Tue Dec 11 17:41:54 2007 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:35:57 2008 +0100"
      },
      "message": "blk_end_request: changing block layer core (take 4)\n\nThis patch converts core parts of block layer to use blk_end_request\ninterfaces.  Related \u0027uptodate\u0027 arguments are converted to \u0027error\u0027.\n\n\u0027dequeue\u0027 argument was originally introduced for end_dequeued_request(),\nwhere no attempt should be made to dequeue the request as it\u0027s already\ndequeued.\nHowever, it\u0027s not necessary as it can be checked with\nlist_empty(\u0026rq-\u003equeuelist).\n(Dequeued request has empty list and queued request doesn\u0027t.)\nAnd it has been done in blk_end_request interfaces.\n\nAs a result of this patch, end_queued_request() and\nend_dequeued_request() become identical.  A future patch will merge\nand rename them and change users of those functions.\n\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3b11313a6c2a42425bf06e92528bda6affd58dec",
      "tree": "c2d550b2954c106387f1ebe6badb387603002202",
      "parents": [
        "336cdb4003200a90f4fc52a4e9ccc2baa570fffb"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Tue Dec 11 17:41:17 2007 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:35:56 2008 +0100"
      },
      "message": "blk_end_request: add/export functions to get request size (take 4)\n\nThis patch adds/exports functions to get the size of request in bytes.\nThey are useful because blk_end_request interfaces take bytes\nas a completed I/O size instead of sectors.\n\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "336cdb4003200a90f4fc52a4e9ccc2baa570fffb",
      "tree": "dcb7f736738232c0e853a1ba796ca35d5b18c503",
      "parents": [
        "91525300baf162e83e923b09ca286f9205e21522"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Tue Dec 11 17:40:30 2007 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:35:53 2008 +0100"
      },
      "message": "blk_end_request: add new request completion interface (take 4)\n\nThis patch adds 2 new interfaces for request completion:\n  o blk_end_request()   : called without queue lock\n  o __blk_end_request() : called with queue lock held\n\nblk_end_request takes \u0027error\u0027 as an argument instead of \u0027uptodate\u0027,\nwhich current end_that_request_* take.\nThe meanings of values are below and the value is used when bio is\ncompleted.\n    0 : success\n  \u003c 0 : error\n\nSome device drivers call some generic functions below between\nend_that_request_{first/chunk} and end_that_request_last().\n  o add_disk_randomness()\n  o blk_queue_end_tag()\n  o blkdev_dequeue_request()\nThese are called in the blk_end_request interfaces as a part of\ngeneric request completion.\nSo all device drivers become to call above functions.\nTo decide whether to call blkdev_dequeue_request(), blk_end_request\nuses list_empty(\u0026rq-\u003equeuelist) (blk_queued_rq() macro is added for it).\nSo drivers must re-initialize it using list_init() or so before calling\nblk_end_request if drivers use it for its specific purpose.\n(Currently, there is no driver which completes request without\n re-initializing the queuelist after used it.  So rq-\u003equeuelist\n can be used for the purpose above.)\n\n\"Normal\" drivers can be converted to use blk_end_request()\nin a standard way shown below.\n\n a) end_that_request_{chunk/first}\n    spin_lock_irqsave()\n    (add_disk_randomness(), blk_queue_end_tag(), blkdev_dequeue_request())\n    end_that_request_last()\n    spin_unlock_irqrestore()\n    \u003d\u003e blk_end_request()\n\n b) spin_lock_irqsave()\n    end_that_request_{chunk/first}\n    (add_disk_randomness(), blk_queue_end_tag(), blkdev_dequeue_request())\n    end_that_request_last()\n    spin_unlock_irqrestore()\n    \u003d\u003e spin_lock_irqsave()\n       __blk_end_request()\n       spin_unlock_irqsave()\n\n c) spin_lock_irqsave()\n    (add_disk_randomness(), blk_queue_end_tag(), blkdev_dequeue_request())\n    end_that_request_last()\n    spin_unlock_irqrestore()\n    \u003d\u003e blk_end_request()   or   spin_lock_irqsave()\n                                __blk_end_request()\n                                spin_unlock_irqrestore()\n\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6da127ad0918f93ea93678dad62ce15ffed18797",
      "tree": "b2bf9ad228f18c643342ad376136d2f6b4be4137",
      "parents": [
        "91525300baf162e83e923b09ca286f9205e21522"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Fri Jan 11 10:09:43 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:04:46 2008 +0100"
      },
      "message": "blktrace: Add blktrace ioctls to SCSI generic devices\n\nSince the SCSI layer uses the request queues from the block layer, blktrace can\nalso be used to trace the requests to all SCSI devices (like SCSI tape drives),\nnot only disks. The only missing part is the ioctl interface to start and stop\ntracing.\n\nThis patch adds the SETUP, START, STOP and TEARDOWN ioctls from blktrace to the\nsg device files. With this change, blktrace can be used for SCSI devices like\nfor disks, e.g.: blktrace -d /dev/sg1 -o - | blkparse -i -\n\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "9b73e76f3cf63379dcf45fcd4f112f5812418d0a",
      "tree": "4e6bef87cd0cd6d848fc39a5ae25b981dbbe035b",
      "parents": [
        "50d9a126240f9961cfdd063336bbeb91f77a7dce",
        "23c3e290fb9ce38cabc2822b47583fc8702411bf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 17:19:08 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 17:19:08 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (200 commits)\n  [SCSI] usbstorage: use last_sector_bug flag universally\n  [SCSI] libsas: abstract STP task status into a function\n  [SCSI] ultrastor: clean up inline asm warnings\n  [SCSI] aic7xxx: fix firmware build\n  [SCSI] aacraid: fib context lock for management ioctls\n  [SCSI] ch: remove forward declarations\n  [SCSI] ch: fix device minor number management bug\n  [SCSI] ch: handle class_device_create failure properly\n  [SCSI] NCR5380: fix section mismatch\n  [SCSI] sg: fix /proc/scsi/sg/devices when no SCSI devices\n  [SCSI] IB/iSER: add logical unit reset support\n  [SCSI] don\u0027t use __GFP_DMA for sense buffers if not required\n  [SCSI] use dynamically allocated sense buffer\n  [SCSI] scsi.h: add macro for enclosure bit of inquiry data\n  [SCSI] sd: add fix for devices with last sector access problems\n  [SCSI] fix pcmcia compile problem\n  [SCSI] aacraid: add Voodoo Lite class of cards.\n  [SCSI] aacraid: add new driver features flags\n  [SCSI] qla2xxx: Update version number to 8.02.00-k7.\n  [SCSI] qla2xxx: Issue correct MBC_INITIALIZE_FIRMWARE command.\n  ...\n"
    },
    {
      "commit": "f9cb074bff8e762ef24c44678a5a7d907f82fbeb",
      "tree": "50438fc90b8f6170dd8eb5d43712c61719a16304",
      "parents": [
        "e1543ddf739b22a8c4218716ad50c26b3e147403"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Dec 17 23:05:35 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:38 2008 -0800"
      },
      "message": "Kobject: rename kobject_init_ng() to kobject_init()\n\nNow that the old kobject_init() function is gone, rename\nkobject_init_ng() to kobject_init() to clean up the namespace.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b2d6db5878a0832659ed58476357eea2db915550",
      "tree": "c7c9e98431078ca7b0405e8003bd905ab62df7c4",
      "parents": [
        "9e7bbccd0290e720e0874443932869c55f63d5a8"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Dec 17 23:05:35 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:38 2008 -0800"
      },
      "message": "Kobject: rename kobject_add_ng() to kobject_add()\n\nNow that the old kobject_add() function is gone, rename kobject_add_ng()\nto kobject_add() to clean up the namespace.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d5a379f77bc79c0a78b26f8c0159f55c8b11d68b",
      "tree": "36814a65e6bae96787137e06e8c56679fe66a725",
      "parents": [
        "29e3dd0df1b9556170ce90484a9d1a2ff9104ea7"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Dec 17 23:05:35 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:36 2008 -0800"
      },
      "message": "Kobject: convert block/ll_rw_blk.c to use kobject_init/add_ng()\n\nThis converts the code to use the new kobject functions, cleaning up the\nlogic in doing so.\n\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "29e3dd0df1b9556170ce90484a9d1a2ff9104ea7",
      "tree": "63552639fe2c05e96fdc5a02f234b10ec78866f5",
      "parents": [
        "edfaa7c36574f1bf09c65ad602412db9da5f96bf"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Dec 17 23:05:35 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:36 2008 -0800"
      },
      "message": "Kobject: convert block/elevator.c to use kobject_init/add_ng()\n\nThis converts the code to use the new kobject functions, cleaning up the\nlogic in doing so.\n\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "edfaa7c36574f1bf09c65ad602412db9da5f96bf",
      "tree": "d591b80ff9229e4845e41d68e2f4c5aadb017027",
      "parents": [
        "09f82ea92822a7bbb7e816508abbda47ed54a77f"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Mon May 21 22:08:01 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:36 2008 -0800"
      },
      "message": "Driver core: convert block from raw kobjects to core devices\n\nThis moves the block devices to /sys/class/block. It will create a\nflat list of all block devices, with the disks and partitions in one\ndirectory. For compatibility /sys/block is created and contains symlinks\nto the disks.\n\n  /sys/class/block\n  |-- sda -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda\n  |-- sda1 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda1\n  |-- sda10 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda10\n  |-- sda5 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda5\n  |-- sda6 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda6\n  |-- sda7 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda7\n  |-- sda8 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda8\n  |-- sda9 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda9\n  `-- sr0 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sr0\n\n  /sys/block/\n  |-- sda -\u003e ../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda\n  `-- sr0 -\u003e ../devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sr0\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "830d3cfb16728e2496edc2985ad8f68025135e37",
      "tree": "11541c0ac058745a2ab4269b84669a8341ece7ce",
      "parents": [
        "c60b71787982cefcf9fa09aa281fa8c4c685d557"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Nov 06 10:36:58 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:23 2008 -0800"
      },
      "message": "kset: convert block_subsys to use kset_create\n\nDynamically create the kset instead of declaring it statically.  We also\nrename block_subsys to block_kset to catch all users of this symbol\nwith a build error instead of an easy-to-ignore build warning.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3514faca19a6fdc209734431c509631ea92b094e",
      "tree": "f6d102e6dec276f8e8d1044b47c74a02b901554f",
      "parents": [
        "c11c4154e7ff4cebfadad849b1e22689d759c3f4"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Oct 16 10:11:44 2007 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:10 2008 -0800"
      },
      "message": "kobject: remove struct kobj_type from struct kset\n\nWe don\u0027t need a \"default\" ktype for a kset.  We should set this\nexplicitly every time for each kset.  This change is needed so that we\ncan make ksets dynamic, and cleans up one of the odd, undocumented\nassumption that the kset/kobject/ktype model has.\n\nThis patch is based on a lot of help from Kay Sievers.\n\nNasty bug in the block code was found by Dave Young\n\u003chidave.darkstar@gmail.com\u003e\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    }
  ],
  "next": "11c3e689f1c3a73e3af7b0ea767b1b0626da8033"
}
