)]}'
{
  "log": [
    {
      "commit": "7663c1e2792a9662b23dec6e19bfcd3d55360b8f",
      "tree": "ff5f91fa9ac3603f242b8ae985d9cca611e3d56b",
      "parents": [
        "6203554207728f43cfb9fd48585cd6500da73d42"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 29 21:31:27 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 12:36:54 2008 -0700"
      },
      "message": "Improve queue_is_locked()\n\nspin_is_locked() doesn\u0027t work on UP without spinlock debugging. Make it\nsafer and just return 1 on UP, so we don\u0027t get false positives. The plan\nis to kill this debug function during the -rc cycle.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8f45c1a58a25c3a1a2f42521445e1e786c4c0b92",
      "tree": "f3557e803eb0b31fba027fe22c0afe1dfa3c6d4f",
      "parents": [
        "25a025863e024f6b86b48137b10b4960c50351b0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 10:16:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 10:16:38 2008 -0700"
      },
      "message": "block: fix queue locking verification\n\nThe new queue_flag_set/clear() functions verify that the queue is\nlocked, but in doing so they will actually instead oops if the queue\nlock hasn\u0027t been initialized at all.\n\nSo fix the lock debug test to consider the \"no lock\" case to be\nunlocked.  This way you get a nice WARN_ON_ONCE() instead of a fatal\noops.\n\nBug introduced by commit 75ad23bc0fcb4f992a5d06982bf0857ab1738e9e\n(\"block: make queue flags non-atomic\").\n\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\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": "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": "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": "2472892a3ce17b177cc0d8099a6391949c75abf2",
      "tree": "3e933dc48fa87c29571f235d9fbe3498ceb74add",
      "parents": [
        "cece933994428974f7a0ee1e8843ba5bd0b18563"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Mon Apr 21 09:51:05 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Apr 21 09:51:05 2008 +0200"
      },
      "message": "block: fix memory hotplug and bouncing in block layer\n\nOnly noticed this while hacking something else, no test case.\n\nblk_max_low_pfn is initialized once at bootup by the block layer from\nmax_low_pfn.  But max_low_pfn is not necessarily constant over the runtime of\nthe system when you consider memory hotplug.  What could happen if that\nsomeone adds memory later the block layer wouldn\u0027t get updated and then start\nbouncing memory unnecessarily.\n\nAlso on 64bit blk_max_low_pfn actually isn\u0027t needed because it just disables\nbouncing essentially and there is no highmem.  And nobody can pass pfns \u003e\nmax_low_pfn to the block layer, because those wouldn\u0027t have a struct page and\nI suspect block layer wouldn\u0027t be very happy without that.\n\nSo set BLK_BOUNCE_HIGH to infinity (-1ULL) on 64bit.  That avoids the problem\nof having to update it on memory hotadd.\n\nOn 32bit I kept the same behaviour because at least on i386\nmemory hotadd only adds HIGHMEM, never lowmem.\n\nBLK_BOUNCE_ANY is always set to infinity on both 32 and 64bit.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nAcked-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\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": "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": "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": "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": "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": "023ccde109b995bb99862bf9c87efd006b1d1885",
      "tree": "c1a889bde7f895441bbec792f94641d4716b2887",
      "parents": [
        "d6d48196961729b79509dcaeeb0f0fb4fbb47d29"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 14:08:06 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 21:55:14 2008 +0100"
      },
      "message": "block: fix warning on compile with CONFIG_BLOCK\n\nstruct io_context was not defined, just add an empty forward decl.\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": "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": "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": "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": "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": "482eb689169948e9f4966fbae6be4d6bc0bfa818",
      "tree": "93f2e9915b34192a92442fbf800d3a9b47819909",
      "parents": [
        "6da127ad0918f93ea93678dad62ce15ffed18797"
      ],
      "author": {
        "name": "Pete Wyckoff",
        "email": "pw@osc.edu",
        "time": "Tue Jan 01 10:23:02 2008 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:04:46 2008 +0100"
      },
      "message": "block: allow queue dma_alignment of zero\n\nLet queue_dma_alignment return 0 if it was specifically set to 0.\nThis permits devices with no particular alignment restrictions to\nuse arbitrary user space buffers without copying.\n\nSigned-off-by: Pete Wyckoff \u003cpw@osc.edu\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7267c3377443322588cddaf457cf106839a60463",
      "tree": "5471cd70b6275999500103f0a6b49bbc5557c692",
      "parents": [
        "5a9e77af970f14a94482a6d4dca5c48efb70deb2"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Jan 26 20:13:13 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Jan 26 20:13:13 2008 +0100"
      },
      "message": "ide: remove REQ_TYPE_ATA_CMD\n\nBased on the earlier work by Tejun Heo.\n\nAll users are gone so we can finally remove it.\n\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.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": "29ed2a5f8c4380959f18e9cbaff13bc61e09889c",
      "tree": "a248e118820c47d8286808643d42fcecd72e978e",
      "parents": [
        "14b89ef9814614f18a1fcae51e601e7e16a82ef7"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:11 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:11 2008 +0100"
      },
      "message": "ide: remove REQ_TYPE_ATA_TASK\n\nBased on the earlier work by Tejun Heo.\n\nAll users are gone so we can finally remove it.\n\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "11c3e689f1c3a73e3af7b0ea767b1b0626da8033",
      "tree": "0f1d109897b13c9d0f86a3ba5af088596f728cdb",
      "parents": [
        "166a72878f76e911f2d1ce4b2310d4403e94be11"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Mon Dec 31 16:37:00 2007 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Jan 11 18:29:20 2008 -0600"
      },
      "message": "[SCSI] block: Introduce new blk_queue_update_dma_alignment interface\n\nThe purpose of this is to allow stacked alignment settings, with the\nultimate queue alignment being set to the largest alignment requirement\nin the stack.\n\nThe reason for this is so that the SCSI mid-layer can relax the default\nalignment requirements (which are basically causing a lot of superfluous\ncopying to go on in the SG_IO interface) while allowing transports,\ndevices or HBAs to add stricter limits if they need them.\n\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "2ad8b1ef11c98c5603580878aebf9f1bc74129e4",
      "tree": "f7bdc2484513f6ffd174b1385bb216dcf97d2c78",
      "parents": [
        "d85532ed284e63b5c56eaf2418f262822af60be4"
      ],
      "author": {
        "name": "Alan D. Brunelle",
        "email": "Alan.Brunelle@hp.com",
        "time": "Wed Nov 07 14:26:56 2007 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Nov 09 13:41:32 2007 +0100"
      },
      "message": "Add UNPLUG traces to all appropriate places\n\nAdded blk_unplug interface, allowing all invocations of unplugs to result\nin a generated blktrace UNPLUG.\n\nSigned-off-by: Alan D. Brunelle \u003cAlan.Brunelle@hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6eca9004dfcb274a502438a591df5b197690afb1",
      "tree": "fd281ef7c016fbae03e2a27e42a53efd37c3ec63",
      "parents": [
        "3a424f2d56613acfb9e583ec9c85a2be3e3af028"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 25 10:14:47 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 29 11:33:06 2007 +0100"
      },
      "message": "[BLOCK] Fix bad sharing of tag busy list on queues with shared tag maps\n\nFor the locking to work, only the tag map and tag bit map may be shared\n(incidentally, I was just explaining this to Nick yesterday, but I\napparently didn\u0027t review the code well enough myself). But we also share\nthe busy list!  The busy_list must be queue private, or we need a\nblock_queue_tag covering lock as well.\n\nSo we have to move the busy_list to the queue. This\u0027ll work fine, and\nit\u0027ll actually also fix a problem with blk_queue_invalidate_tags() which\nwill invalidate tags across all shared queues. This is a bit confusing,\nthe low level driver should call it for each queue seperately since\notherwise you cannot kill tags on just a single queue for eg a hard\ndrive that stops responding. Since the function has no callers\ncurrently, it\u0027s not an issue.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "fd5d806266935179deda1502101624832eacd01f",
      "tree": "b0d01c2ed7d754f2a6daef6c77d108a81d8a470e",
      "parents": [
        "bf2de6f5a4faf0197268f18d08969b003b87b6e8"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 16 11:05:02 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 16 11:05:02 2007 +0200"
      },
      "message": "block: convert blkdev_issue_flush() to use empty barriers\n\nThen we can get rid of -\u003eissue_flush_fn() and all the driver private\nimplementations of that.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "bf2de6f5a4faf0197268f18d08969b003b87b6e8",
      "tree": "16830a15a7effea352445a7aba5dbb433314d3eb",
      "parents": [
        "c07e2b41291853b19fff11ceee3657df252a4e42"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Sep 27 13:01:25 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 16 11:03:56 2007 +0200"
      },
      "message": "block: Initial support for data-less (or empty) barrier support\n\nThis implements functionality to pass down or insert a barrier\nin a queue, without having data attached to it. The -\u003eprepare_flush_fn()\ninfrastructure from data barriers are reused to provide this\nfunctionality.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a0cd128542cd9c67f27458a08e989db486a293ce",
      "tree": "bc4ca6dd3cbfa230de486d79480f7a99bbfb6232",
      "parents": [
        "992c5ddaf1b8b85d2252339c4c89adf7469c09ca"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 21 10:41:07 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 16 11:03:53 2007 +0200"
      },
      "message": "block: add end_queued_request() and end_dequeued_request() helpers\n\nWe can use this helper in the elevator core for BLKPREP_KILL, and it\u0027ll\nalso be useful for the empty barrier patch.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2da96acde0318f121ed3f5993ae9324c856ecfd4",
      "tree": "020f58a39c5ceb9bd3bca1a63ad22e3a2da98e57",
      "parents": [
        "782e3b3b3804c38d5130c7f21d7ec7bf6709023f"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Oct 12 12:40:38 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Oct 12 12:40:38 2007 +0200"
      },
      "message": "[BLOCK] Move sector_div() from blkdev.h to kernel.h\n\nWe need it even if CONFIG_BLOCK is disabled, so move it outside of\nthe block layer include system.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d24517d793f21edab1a411da95f2c45cb88a84aa",
      "tree": "8ceda1f9787e226d43d3673cd6af6fcddffc98aa",
      "parents": [
        "f5ff8422bbdd59f8c1f699df248e1b7a11073027"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Sep 27 12:46:11 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Wed Oct 10 09:25:57 2007 +0200"
      },
      "message": "Remove flush_dry_bio_endio\n\nThe entire function of flush_dry_bio_endio is to undo the effects\nof bio_endio (when called on a barrier request).  So remove the\nfunction and the call to bio_endio.\n\nThis allows us to remove \"bi_size\" from \"struct request_queue\".\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n\n### Diffstat output\n ./block/ll_rw_blk.c      |   39 ++-------------------------------------\n ./include/linux/blkdev.h |    1 -\n 2 files changed, 2 insertions(+), 38 deletions(-)\n\ndiff .prev/block/ll_rw_blk.c ./block/ll_rw_blk.c\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f5ff8422bbdd59f8c1f699df248e1b7a11073027",
      "tree": "cdd0777acc58c0badd2d0ae66f3efc2f7318e776",
      "parents": [
        "3317fedba9446465082bcc6ce1232451ad1d51ce"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 21 09:19:54 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Wed Oct 10 09:25:57 2007 +0200"
      },
      "message": "Fix warnings with !CONFIG_BLOCK\n\nHide everything in blkdev.h with CONFIG_BLOCK isn\u0027t set, and fixup\nthe (few) files that fail to build because they were relying on blkdev.h\npulling in extra includes for them.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "66846572bfb4ec62bcba260028cbbcbdb77bd636",
      "tree": "23a29655a22835a49bd1549524fc3b950a5bf261",
      "parents": [
        "3001ca77128273cc5634d79f5306ce2e5a14ec41"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Aug 16 13:31:28 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Wed Oct 10 09:25:56 2007 +0200"
      },
      "message": "Stop exporting blk_rq_bio_prep\n\nblk_rq_bio_prep is exported for use in exactly\none place.  That place can benefit from using\nthe new blk_rq_append_bio instead.\nSo\n  - change dm-emc to call blk_rq_append_bio\n  - stop exporting blk_rq_bio_prep, and\n  - initialise rq_disk in blk_rq_bio_prep,\n       as dm-emc needs it.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n\ndiff .prev/block/ll_rw_blk.c ./block/ll_rw_blk.c\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3001ca77128273cc5634d79f5306ce2e5a14ec41",
      "tree": "0e5904fc170afb6c01f8f0930e3c4a4ae20b19b2",
      "parents": [
        "eea9befaccb8d43ce89585d612159761c978f056"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Aug 16 13:31:27 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Wed Oct 10 09:25:56 2007 +0200"
      },
      "message": "New function blk_req_append_bio\n\nll_back_merge_fn is currently exported to SCSI where is it used,\ntogether with blk_rq_bio_prep, in exactly the same way these\nfunctions are used in __blk_rq_map_user.\n\nSo move the common code into a new function (blk_rq_append_bio), and\ndon\u0027t export ll_back_merge_fn any longer.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n\ndiff .prev/block/ll_rw_blk.c ./block/ll_rw_blk.c\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5705f7021748a69d84d6567e68e8851dab551464",
      "tree": "5a6dbc8fc6055c0334f4a97540e36a7844b9c482",
      "parents": [
        "9dfa52831e96194b8649613e3131baa2c109f7dc"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Sep 25 12:35:59 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Wed Oct 10 09:25:56 2007 +0200"
      },
      "message": "Introduce rq_for_each_segment replacing rq_for_each_bio\n\nEvery usage of rq_for_each_bio wraps a usage of\nbio_for_each_segment, so these can be combined into\nrq_for_each_segment.\n\nWe define \"struct req_iterator\" to hold the \u0027bio\u0027 and \u0027index\u0027 that\nare needed for the double iteration.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n\nVarious compile fixes by me...\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "4e97182a22ed5ca6a5cbc39275d4752d5a4369da",
      "tree": "1bdd4bdc0c3ef77eca5336e205ab39fc34b357d3",
      "parents": [
        "d941cf5e373c356723fa648b9f0302a11c9b1770"
      ],
      "author": {
        "name": "Qi Yong",
        "email": "qiyong@mail.fc-cn.com",
        "time": "Wed Jul 25 08:45:51 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jul 27 08:08:24 2007 +0200"
      },
      "message": "[patch] QUEUE_FLAG_READFULL QUEUE_FLAG_WRITEFULL comment fix\n\nThe two comments were transposed.\n\nSigned-off-by: Qi Yong \u003cqiyong@mail.fc-cn.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "71f65e6bd7651610d2d6aeb3c12aab63667ace30",
      "tree": "ddc9680ef528af37326f25a16a6e3d7e19c4ac7f",
      "parents": [
        "165125e1e480f9510a5ffcfbfee4e3ee38c05f23"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 24 10:29:42 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 24 10:29:42 2007 +0200"
      },
      "message": "[BLOCK] Add request_queue_t and mark it deprecated\n\nAndrew thinks I should be nice and allow outside code to at least just\ncompile, so add the request_queue_t typedef back and mark it deprecated.\nIt\u0027ll warn people that this type is going away soonish.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "165125e1e480f9510a5ffcfbfee4e3ee38c05f23",
      "tree": "8009c8a5ff09e26dc2418d42f66ecafb055c52a2",
      "parents": [
        "f695baf2df9e0413d3521661070103711545207a"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 24 09:28:11 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 24 09:28:11 2007 +0200"
      },
      "message": "[BLOCK] Get rid of request_queue_t typedef\n\nSome of the code has been gradually transitioned to using the proper\nstruct request_queue, but there\u0027s lots left. So do a full sweet of\nthe kernel and get rid of this typedef and replace its uses with\nthe proper type.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "41e1703b9b88cf9b5e91cdd2f7dcded3ec3917cb",
      "tree": "a5bc5c4b61bfe3705758881d833f154b30695e14",
      "parents": [
        "df468820b6881fc14e50f6b2fcffd3e945417d68"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "tomof@acm.org",
        "time": "Sun Jul 22 10:06:50 2007 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.localdomain",
        "time": "Sun Jul 22 08:48:41 2007 -0500"
      },
      "message": "[SCSI] bsg: unexport sg v3 helper functions\n\nblk_fill_sghdr_rq, blk_unmap_sghdr_rq, and blk_complete_sghdr_rq were\nexported for bsg, however bsg was changed to support only sg v4.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "2a7326b5bbafac4c96bcdb944b2a773593030b96",
      "tree": "25bc49eadea73cf2133198963d1baf3f5def7316",
      "parents": [
        "831441862956fffa17b9801db37e6ea1650b0f69"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Jul 17 04:03:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:02 2007 -0700"
      },
      "message": "CONFIG_BOUNCE to avoid useless inclusion of bounce buffer logic\n\nThe bounce buffer logic is included on systems that do not need it.  If a\nsystem does not have zones like ZONE_DMA and ZONE_HIGHMEM that can lead to\nthe use of bounce buffers then there is no need to reserve memory pools etc\netc.  This is true f.e.  for SGI Altix.\n\nAlso nicifies the Makefile and gets rid of the tricky \"and\" there.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "abae1fde63fcdd2a3abaa0d7930938d8326f83d2",
      "tree": "4b61cd4e13b511229193549162607894badab984",
      "parents": [
        "efba1a31f3f8fe9672eb96cd26e97fb96891f1c0"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon Jul 16 08:52:14 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jul 16 08:52:46 2007 +0200"
      },
      "message": "add a struct request pointer to the request structure\n\nThis adds a struct request pointer to the request structure for the\nsecond data phase (bidi for now). A request queue supporting bidi\nrequests sets QUEUE_FLAG_BIDI. This prevents sending bidi requests to\na non-bidi queue.\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": "d351af01b9307566135cb0f355ca65d0952c10b5",
      "tree": "6d6b964e5d6474f427907ca259e6c6ac76ed9d90",
      "parents": [
        "45e79a3acdcf54113b3d7b23e9e64e6541dbfeb5"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon Jul 09 12:40:35 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jul 16 08:52:46 2007 +0200"
      },
      "message": "bsg: bind bsg to request_queue instead of gendisk\n\nThis patch binds bsg devices to request_queue instead of gendisk. Any\nobjects (like transport entities) can define own request_handler and\ncreate own bsg device.\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": "45e79a3acdcf54113b3d7b23e9e64e6541dbfeb5",
      "tree": "b8e7598b26ce446577e162189e635f6b87b10a5b",
      "parents": [
        "7e75d73080d822d2bbbd5b0f7f293719dd1f9109"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon Jul 09 12:39:20 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jul 16 08:52:45 2007 +0200"
      },
      "message": "bsg: add a request_queue argument to scsi_cmd_ioctl()\n\nbsg uses scsi_cmd_ioctl() for some SCSI/sg ioctl\ncommands. scsi_cmd_ioctl() gets a request queue from a gendisk\narguement. This prevents bsg being bound to SCSI devices that don\u0027t\nhave a gendisk (like OSD). This adds a request_queue argument to\nscsi_cmd_ioctl(). The SCSI/sg ioctl commands doesn\u0027t use a gendisk so\nit\u0027s safe for any SCSI devices to use scsi_cmd_ioctl().\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "337ad41deae1b56e56731246322a93251df86e79",
      "tree": "961e38d42e8e7c99c4b48317e48010fa2446332e",
      "parents": [
        "9e69fbb5373f7c081acdf2b75d7bac7e95023dd1"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "tomof@acm.org",
        "time": "Wed Dec 20 11:18:54 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jul 16 08:52:44 2007 +0200"
      },
      "message": "block: export blk_verify_command for SG v4\n\nblk_fill_sghdr_rq doesn\u0027t work for SG v4 so verify_command needed to\nbe exported.\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": "3d6392cfbd7dc11f23058e3493683afab4ac13a3",
      "tree": "70c2b65c479f5feb7a5214a4a4930d489a069b1f",
      "parents": [
        "8f41958bdd577731f7411c9605cfaa9db6766809"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jul 09 12:38:05 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jul 16 08:52:44 2007 +0200"
      },
      "message": "bsg: support for full generic block layer SG v3\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7deeed13170e634adc4552ff94588d6301a3da83",
      "tree": "418a33e8e4d8a2073e0e56d772d43316c8bded1e",
      "parents": [
        "71780f59e127bb281a9302d430495ca9586c14e7"
      ],
      "author": {
        "name": "Benjamin Gilbert",
        "email": "bgilbert@cs.cmu.edu",
        "time": "Tue Jun 19 09:05:21 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 08:03:32 2007 +0200"
      },
      "message": "[TRIVIAL PATCH] Kill blk_congestion_wait() stub for !CONFIG_BLOCK\n\nblk_congestion_wait() doesn\u0027t exist anymore, but there\u0027s still a stub\nin blkdev.h for the !CONFIG_BLOCK case.  Kill it.\n\nSigned-off-by: Benjamin Gilbert \u003cbgilbert@cs.cmu.edu\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "19a75d83ffeab004cfcfac64024ad3997bac7220",
      "tree": "1a4c3d299527989cde6d87e18dd189cfb35749a8",
      "parents": [
        "a9df62c7585e6caa1e7d2425b2b14460ec3afc20"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed May 09 02:33:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:51 2007 -0700"
      },
      "message": "kblockd: use flush_work\n\nSwitch the kblockd flushing from a global flush to a more specific\nflush_work().\n\n(akpm: bypassed maintainers, sorry.  There are other patches which depend on\nthis)\n\nCc: \"Maciej W. Rozycki\" \u003cmacro@linux-mips.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jens Axboe \u003caxboe@suse.de\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4e521c27eee33cebd618c26649e2c93803004647",
      "tree": "0ad4b1e5df66da0848074cda47a79f7d7dae75f5",
      "parents": [
        "91fac317a34859986a2359a5a5c0e37dc17a9c3d"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 24 21:17:33 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Mon Apr 30 09:01:23 2007 +0200"
      },
      "message": "ll_rw_blk: add io_context private pointer\n\nTo be used by as/cfq as they see fit.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "aaf1228ddfb44f04c87d1e7dfc5ccffdba74363d",
      "tree": "fb57e223b97e52e78f88f87e7aefdb5a557985eb",
      "parents": [
        "783660b2f60418144e168ab75a06786f9695fc70"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jan 19 11:30:16 2007 +1100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Sun Feb 11 23:14:44 2007 +0100"
      },
      "message": "cfq-iosched: remove cfq_io_context last_queue\n\nIt hasn\u0027t been used for a while, kill it off and remove the old\nif 0 code chunk.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "8e5cfc45e7527eb5c8a9a22d56a7b9227e7c0913",
      "tree": "7be7c45168af77518bd6a47601e2f9e31b967dba",
      "parents": [
        "48785bb9fa39415d7553e234946442579dfcf591"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Dec 19 11:12:46 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Dec 19 11:12:46 2006 +0100"
      },
      "message": "[PATCH] Fixup blk_rq_unmap_user() API\n\nThe blk_rq_unmap_user() API is not very nice. It expects the caller to\nknow that rq-\u003ebio has to be reset to the original bio, and it will\nsilently do nothing if that is not done. Instead make it explicit that\nwe need to pass in the first bio, by expecting a bio argument.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1aa4f24fe96938cabe7a1e9da8bc3bfbd1dfe3fa",
      "tree": "922149707b2741abc8dca53a3ae56e681ef0fbf6",
      "parents": [
        "2985259b0e3928d4cd0723ac5aad0d1190ab7717"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Dec 19 08:33:11 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Dec 19 08:33:11 2006 +0100"
      },
      "message": "[PATCH] Remove queue merging hooks\n\nWe have full flexibility of merging parameters now, so we can remove the\nhooks that define back/front/request merge strategies. Nobody is using\nthem anymore.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2b02a1792000900ead4638f4d42fcdd742062cfa",
      "tree": "a996a02cd8d028fd53223bd17ae8793185d94702",
      "parents": [
        "4259cb25d436a79bf6b07d8075423573567c211d"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Tue Dec 05 10:19:14 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Tue Dec 12 10:22:23 2006 +0100"
      },
      "message": "[PATCH] remove blk_queue_activity_fn\n\nWhile working on bidi support at struct request level\nI have found that blk_queue_activity_fn is actually never used.\nThe only user is in ide-probe.c with this code:\n\n\t/* enable led activity for disk drives only */\n\tif (drive-\u003emedia \u003d\u003d ide_disk \u0026\u0026 hwif-\u003eled_act)\n\t\tblk_queue_activity_fn(q, hwif-\u003eled_act, drive);\n\nAnd led_act is never initialized anywhere.\n(Looking back at older kernels it was used in the PPC arch, but was removed around 2.6.18)\nUnless it is all for future use off course.\n(this patch is against linux-2.6-block.git as off 2006/12/4)\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0e75f9063f5c55fb0b0b546a7c356f8ec186825e",
      "tree": "db138f641175403546c2147def4b405f3ff453a8",
      "parents": [
        "ad2d7225709b11da47e092634cbdf0591829ae9c"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Fri Dec 01 10:40:55 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Dec 01 10:40:55 2006 +0100"
      },
      "message": "[PATCH] block: support larger block pc requests\n\nThis patch modifies blk_rq_map/unmap_user() and the cdrom and scsi_ioctl.c\nusers so that it supports requests larger than bio by chaining them together.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3fcfab16c5b86eaa3db3a9a31adba550c5b67141",
      "tree": "bd348fa081b8fbec2c79fbf8f173a306d70b2b2c",
      "parents": [
        "79e2de4bc53d7ca2a8eedee49e4a92479b4b530e"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Thu Oct 19 23:28:16 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:35 2006 -0700"
      },
      "message": "[PATCH] separate bdi congestion functions from queue congestion functions\n\nSeparate out the concept of \"queue congestion\" from \"backing-dev congestion\".\nCongestion is a backing-dev concept, not a queue concept.\n\nThe blk_* congestion functions are retained, as wrappers around the core\nbacking-dev congestion functions.\n\nThis proper layering is needed so that NFS can cleanly use the congestion\nfunctions, and so that CONFIG_BLOCK\u003dn actually links.\n\nCc: \"Thomas Maier\" \u003cbalagi@justmail.de\u003e\nCc: \"Jens Axboe\" \u003cjens.axboe@oracle.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Peter Osterlund \u003cpetero2@telia.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "79e2de4bc53d7ca2a8eedee49e4a92479b4b530e",
      "tree": "f56d41a654eda0995ee35a97881bcdcb3f393528",
      "parents": [
        "26da82058e62ea173559a26881b16d10089645ba"
      ],
      "author": {
        "name": "Thomas Maier",
        "email": "balagi@justmail.de",
        "time": "Thu Oct 19 23:28:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:35 2006 -0700"
      },
      "message": "[PATCH] export clear_queue_congested and set_queue_congested\n\nExport the clear_queue_congested() and set_queue_congested() functions\nlocated in ll_rw_blk.c\n\nThe functions are renamed to blk_clear_queue_congested() and\nblk_set_queue_congested().\n\n(needed in the pktcdvd driver\u0027s bio write congestion control)\n\nSigned-off-by: Thomas Maier \u003cbalagi@justmail.de\u003e\nCc: Peter Osterlund \u003cpetero2@telia.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cea2885a2e989d1dc19af1fc991717b33b7d1456",
      "tree": "180b207aa08b5229620a12baa66e8c579d68a925",
      "parents": [
        "c5841642242e9ae817275e09b36b298456dc17d2"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 12 15:08:45 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Thu Oct 12 15:08:51 2006 +0200"
      },
      "message": "[PATCH] ide-cd: fix breakage with internally queued commands\n\nWe still need to maintain a private PC style command, since it\nisn\u0027t completely unified with REQ_TYPE_BLOCK_PC yet.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f583f4924d669d36de677e0cc2422ee95203d444",
      "tree": "08efeac804151bbaef8cf0ca7effaa4e30e037f9",
      "parents": [
        "4a61f17378c2cdd9bd8f34ef8bd7422861d0c1f1"
      ],
      "author": {
        "name": "David C Somayajulu",
        "email": "david.somayajulu@qlogic.com",
        "time": "Wed Oct 04 08:27:25 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Wed Oct 04 19:32:09 2006 +0200"
      },
      "message": "[PATCH] helper function for retrieving scsi_cmd given host based block layer tag\n\nThis was necessitated by the need for a function to get back\nto a scsi_cmnd, when an hba the posts its (corresponding) completion\ninterrupt with a block layer tag as its reference.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: David Somayajulu \u003cdavid.somayajulu@qlogic.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "bcfd8d36151e531e1c6c731f1fbf792509a1c494",
      "tree": "6c8dec2cffc8310ecc09207aef9c2027a1c89003",
      "parents": [
        "5e6d12b2c8be2cac099df6dcb8b26884f24d2621"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Thu Aug 31 12:56:06 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:52:33 2006 +0200"
      },
      "message": "[PATCH] CONFIG_BLOCK: blk_congestion_wait() fix\n\nDon\u0027t just do nothing: it\u0027ll cause busywaits all over writeback and page\nreclaim.\n\nFor now, take a fixed-length nap.  Will improve when NFS starts waking up\nthrottled processes.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "9361401eb7619c033e2394e4f9f6d410d6719ac7",
      "tree": "04b94a71f2366988c17740d1c16cfbdec41d5d2e",
      "parents": [
        "d366e40a1cabd453be6e2609caa7e12f9ca17b1f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sat Sep 30 20:45:40 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:52:31 2006 +0200"
      },
      "message": "[PATCH] BLOCK: Make it possible to disable the block layer [try #6]\n\nMake it possible to disable the block layer.  Not all embedded devices require\nit, some can make do with just JFFS2, NFS, ramfs, etc - none of which require\nthe block layer to be present.\n\nThis patch does the following:\n\n (*) Introduces CONFIG_BLOCK to disable the block layer, buffering and blockdev\n     support.\n\n (*) Adds dependencies on CONFIG_BLOCK to any configuration item that controls\n     an item that uses the block layer.  This includes:\n\n     (*) Block I/O tracing.\n\n     (*) Disk partition code.\n\n     (*) All filesystems that are block based, eg: Ext3, ReiserFS, ISOFS.\n\n     (*) The SCSI layer.  As far as I can tell, even SCSI chardevs use the\n     \t block layer to do scheduling.  Some drivers that use SCSI facilities -\n     \t such as USB storage - end up disabled indirectly from this.\n\n     (*) Various block-based device drivers, such as IDE and the old CDROM\n     \t drivers.\n\n     (*) MTD blockdev handling and FTL.\n\n     (*) JFFS - which uses set_bdev_super(), something it could avoid doing by\n     \t taking a leaf out of JFFS2\u0027s book.\n\n (*) Makes most of the contents of linux/blkdev.h, linux/buffer_head.h and\n     linux/elevator.h contingent on CONFIG_BLOCK being set.  sector_div() is,\n     however, still used in places, and so is still available.\n\n (*) Also made contingent are the contents of linux/mpage.h, linux/genhd.h and\n     parts of linux/fs.h.\n\n (*) Makes a number of files in fs/ contingent on CONFIG_BLOCK.\n\n (*) Makes mm/bounce.c (bounce buffering) contingent on CONFIG_BLOCK.\n\n (*) set_page_dirty() doesn\u0027t call __set_page_dirty_buffers() if CONFIG_BLOCK\n     is not enabled.\n\n (*) fs/no-block.c is created to hold out-of-line stubs and things that are\n     required when CONFIG_BLOCK is not set:\n\n     (*) Default blockdev file operations (to give error ENODEV on opening).\n\n (*) Makes some /proc changes:\n\n     (*) /proc/devices does not list any blockdevs.\n\n     (*) /proc/diskstats and /proc/partitions are contingent on CONFIG_BLOCK.\n\n (*) Makes some compat ioctl handling contingent on CONFIG_BLOCK.\n\n (*) If CONFIG_BLOCK is not defined, makes sys_quotactl() return -ENODEV if\n     given command other than Q_SYNC or if a special device is specified.\n\n (*) In init/do_mounts.c, no reference is made to the blockdev routines if\n     CONFIG_BLOCK is not defined.  This does not prohibit NFS roots or JFFS2.\n\n (*) The bdflush, ioprio_set and ioprio_get syscalls can now be absent (return\n     error ENOSYS by way of cond_syscall if so).\n\n (*) The seclvl_bd_claim() and seclvl_bd_release() security calls do nothing if\n     CONFIG_BLOCK is not set, since they can\u0027t then happen.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "5404bc7a87b9949cf61e0174b21f80e73239ab25",
      "tree": "230c799aef2dcad8c64da55114508d28d2b30183",
      "parents": [
        "da20a20f3b5c175648fa797c899dd577e4dacb51"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Aug 10 09:01:02 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:29:42 2006 +0200"
      },
      "message": "[PATCH] Allow file systems to differentiate between data and meta reads\n\nWe can use this information for making more intelligent priority\ndecisions, and it will also be useful for blktrace.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "dc72ef4ae35c2016fb594bcc85ce871376682174",
      "tree": "c0c78879addf0d65adcc8f8cce01165fa2502dac",
      "parents": [
        "981a79730d586335ef8f942c83bdf2b1de6d4e3d"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Jul 20 14:54:05 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:29:40 2006 +0200"
      },
      "message": "[PATCH] Add blk_start_queueing() helper\n\nCFQ implements this on its own now, but it\u0027s really block layer\nknowledge. Tells a device queue to start dispatching requests to\nthe driver, taking care to unplug if needed. Also fixes the issue\nwhere as/cfq will invoke a stopped queue, which we really don\u0027t\nwant.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "b5deef901282628d88c784f4c9d2f0583ec3b355",
      "tree": "1d3be92f18c9afd9426b06739c8f76931acbf03f",
      "parents": [
        "a3b05e8f58c95dfccbf2c824d0c68e5990571f24"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Wed Jul 19 23:39:40 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:29:39 2006 +0200"
      },
      "message": "[PATCH] Make sure all block/io scheduler setups are node aware\n\nSome were kmalloc_node(), some were still kmalloc(). Change them all to\nkmalloc_node().\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "a3b05e8f58c95dfccbf2c824d0c68e5990571f24",
      "tree": "768aad0f032790df38b277eff062c47b6ecff533",
      "parents": [
        "1ea25ecb7256978947c258f08a30c878eebe9edb"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Jul 28 09:36:46 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:29:38 2006 +0200"
      },
      "message": "[PATCH] Kill various deprecated/unused block layer defines/functions\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "fc46379daf90dce57bf765c81d3b39f55150aac2",
      "tree": "43aa28f0db6c73f137550b0b2e2ec29b9f9a1fc6",
      "parents": [
        "89850f7ee905410c89f9295e89dc4c33502a34ac"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Aug 29 09:05:44 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:29:36 2006 +0200"
      },
      "message": "[PATCH] cfq-iosched: kill cfq_exit_lock\n\ncfq_exit_lock is protecting two things now:\n\n- The per-ioc rbtree of cfq_io_contexts\n\n- The per-cfqd linked list of cfq_io_contexts\n\nThe per-cfqd linked list can be protected by the queue lock, as it is (by\ndefinition) per cfqd as the queue lock is.\n\nThe per-ioc rbtree is mainly used and updated by the process itself only.\nThe only outside use is the io priority changing. If we move the\npriority changing to not browsing the rbtree, we can remove any locking\nfrom the rbtree updates and lookup completely. Let the sys_ioprio syscall\njust mark processes as having the iopriority changed and lazily update\nthe private cfq io contexts the next time io is queued, and we can\nremove this locking as well.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "e6a1c874a064e7d07f24986aba7cd537b7f4a25d",
      "tree": "35f80d2c96e1d499ecafa0cf435da070ad2ff73c",
      "parents": [
        "51da90fcb6acd580e87280eaf4eb1f788021807d"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Aug 10 09:00:21 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:29:35 2006 +0200"
      },
      "message": "[PATCH] struct request: shrink and optimize some more\n\nMove some members around and unionize completion_data and rb_node since\nthey cannot ever be used at the same time.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "cdd6026217c0e4cda2efce1bdc318661bef1f66f",
      "tree": "e26bb9c40b603b9cc321aa4217fecf34e1bc5f24",
      "parents": [
        "49171e5c6f414d49a061b5c1c84967c2eb569822"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Jul 28 09:32:07 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:29:23 2006 +0200"
      },
      "message": "[PATCH] Remove -\u003erq_status from struct request\n\nAfter Christophs SCSI change, the only usage left is RQ_ACTIVE\nand RQ_INACTIVE. The block layer sets RQ_INACTIVE right before freeing\nthe request, so any check for RQ_INACTIVE in a driver is a bug and\nindicates use-after-free.\n\nSo kill/clean the remaining users, straight forward.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "49171e5c6f414d49a061b5c1c84967c2eb569822",
      "tree": "95da6dad18f9bfe10367db86e740b8842f60a686",
      "parents": [
        "c00895ab2f08df7044e58ee01c38bf0a661ea0eb"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Aug 10 08:59:11 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:29:22 2006 +0200"
      },
      "message": "[PATCH] Remove struct request_list from struct request\n\nIt is always identical to \u0026q-\u003erq, and we only use it for detecting\nwhether this request came out of our mempool or not. So replace it\nwith an additional -\u003eflags bit flag.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "c00895ab2f08df7044e58ee01c38bf0a661ea0eb",
      "tree": "95dee4eb76042087c4b8d43a5841b6bae85b8cf3",
      "parents": [
        "8a8e674cb1dafc818ffea93d97e4c1c1f01fdbb6"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Sat Sep 30 20:29:12 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Sat Sep 30 20:29:12 2006 +0200"
      },
      "message": "[PATCH] Remove -\u003ewaiting member from struct request\n\nAs the comments indicates in blkdev.h, we can fold it into -\u003eend_io_data\nusage as that is really what -\u003ewaiting is. Fixup the users of\nblk_end_sync_rq().\n\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "ff7d145fd911266ae42af7552edc32681c01addb",
      "tree": "03ddb7b02e6cbeeda1c0c68af5d67c907e98ad7e",
      "parents": [
        "5380a101d33d1d3a32c6b6bd2e17e5dd835842b0"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Wed Jul 12 14:04:37 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:27:01 2006 +0200"
      },
      "message": "[PATCH] Add one more pointer to struct request for IO scheduler usage\n\nThen we have enough room in the request to get rid of the dynamic\nallocations in CFQ/AS.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "9e2585a8a23f3a42f815b2a638725d85a921cd65",
      "tree": "6c318a746596ea8523ccf07aaa270cf4295cf50e",
      "parents": [
        "d4f2f4629ea6a003cd021a9ea1a8a23ec0cd70ac"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Jul 28 09:26:13 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:27:00 2006 +0200"
      },
      "message": "[PATCH] as-iosched: remove arq-\u003eis_sync member\n\nWe can track this in struct request.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\n"
    },
    {
      "commit": "2e662b65f05d550b6799ed6bfa9963b82279e6b7",
      "tree": "82911ec73a52d149d74a3d13c3c5eedb269a19cb",
      "parents": [
        "10fd48f2376db52f08bf0420d2c4f580e39269e1"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Jul 13 11:55:04 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:26:57 2006 +0200"
      },
      "message": "[PATCH] elevator: abstract out the rbtree sort handling\n\nThe rbtree sort/lookup/reposition logic is mostly duplicated in\ncfq/deadline/as, so move it to the elevator core. The io schedulers\nstill provide the actual rb root, as we don\u0027t want to impose any sort\nof specific handling on the schedulers.\n\nIntroduce the helpers and rb_node in struct request to help migrate the\nIO schedulers.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "9817064b68fef7e4580c6df1ea597e106b9ff88b",
      "tree": "76c27990626247613e9efa45b792d51ad79635d7",
      "parents": [
        "4aff5e2333c9a1609662f2091f55c3f6fffdad36"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Jul 28 09:23:08 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:26:56 2006 +0200"
      },
      "message": "[PATCH] elevator: move the backmerging logic into the elevator core\n\nRight now, every IO scheduler implements its own backmerging (except for\nnoop, which does no merging). That results in duplicated code for\nessentially the same operation, which is never a good thing. This patch\nmoves the backmerging out of the io schedulers and into the elevator\ncore. We save 1.6kb of text and as a bonus get backmerging for noop as\nwell. Win-win!\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "4aff5e2333c9a1609662f2091f55c3f6fffdad36",
      "tree": "b73d8c2b7c1bdc03d3313c108da7dfc95ee95525",
      "parents": [
        "77ed74da26f50fa28471571ee7a2251b77526d84"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Aug 10 08:44:47 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Sep 30 20:23:37 2006 +0200"
      },
      "message": "[PATCH] Split struct request -\u003eflags into two parts\n\nRight now -\u003eflags is a bit of a mess: some are request types, and\nothers are just modifiers. Clean this up by splitting it into\n-\u003ecmd_type and -\u003ecmd_flags. This allows introduction of generic\nLinux block message types, useful for sending generic Linux commands\nto block devices.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "6c5c934153513dc72e2d6464f39e8ef1f27c0a3e",
      "tree": "be799da4af646a96c2d6ab473e276a7361beb685",
      "parents": [
        "3d5b6fccc4b900cc4267692f015ea500bad4c6bf"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Sep 29 01:59:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:09 2006 -0700"
      },
      "message": "[PATCH] ifdef blktrace debugging fields\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1aedf2ccc60fade26c46fae12e28664d0da3f199",
      "tree": "d91083e3079f1ddb942a382ac2b5a7525570ad59",
      "parents": [
        "dfdc58ba354adb80d67c99f7be84f95a8e02e466",
        "1ab9dd0902df4f4ff56fbf672220549090ab28ba"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "jejb@sparkweed.localdomain",
        "time": "Sat Sep 23 21:03:52 2006 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@sparkweed.localdomain",
        "time": "Sat Sep 23 21:03:52 2006 -0500"
      },
      "message": "Merge mulgrave-w:git/linux-2.6\n\nConflicts:\n\n\tinclude/linux/blkdev.h\n\nTrivial merge to incorporate tag prototypes.\n"
    },
    {
      "commit": "275a082fe9308e710324e26ccb5363c53d8fd45f",
      "tree": "e97df6e45f98ea2827f71dc749f8cd47f3f353cc",
      "parents": [
        "94a6d75320b3681e6e728b70e18bd186cb55e682"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Aug 22 20:06:24 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 22 23:24:54 2006 -0400"
      },
      "message": "Add a real API for dealing with blk_congestion_wait()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "492dfb489658dfe4a755fa29dd0e34e9c8bd8fb8",
      "tree": "1ad52b1ce98743729c7cacce0c602e22d3a5d076",
      "parents": [
        "f19eaa7f53736449a6eac89c3863eca2c64d5913"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@steeleye.com",
        "time": "Wed Aug 30 15:48:45 2006 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Thu Aug 31 11:17:18 2006 -0400"
      },
      "message": "[SCSI] block: add support for shared tag maps\n\nThe current block queue implementation already contains most of the\nmachinery for shared tag maps.  The only remaining pieces are a way to\nallocate and destroy a tag map independently of the queues (so that\nthe maps can be managed on the life cycle of the overseeing entity)\n\nAcked-by: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "8f34ee75decb80007ba77bba5a7384eadff4866d",
      "tree": "63d6d4a613d0c7d2269e2dec01975d58b1e97a31",
      "parents": [
        "ad3caddaa1708e506f20b8e25a4a8ae586fc7d5b"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Jun 13 09:02:34 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri Jun 23 17:10:39 2006 +0200"
      },
      "message": "[PATCH] Rearrange a few struct request members\n\nThis saves 8 bytes of data in 64-bit archs.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "ad3caddaa1708e506f20b8e25a4a8ae586fc7d5b",
      "tree": "60a79c55a71ed3ef7bc9daaea694995b034eb044",
      "parents": [
        "b31dc66a54ad986b6b73bdc49c8efc17cbad1833"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Jun 13 08:46:57 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri Jun 23 17:10:39 2006 +0200"
      },
      "message": "[PATCH] Get rid of struct request request_pm_state member\n\nThe IDE power management can just use the -\u003eend_io_data member to store\nit\u0027s data.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "b31dc66a54ad986b6b73bdc49c8efc17cbad1833",
      "tree": "5591383c1cbffe11512da889c971f899333f1a44",
      "parents": [
        "271f18f102c789f59644bb6c53a69da1df72b2f4"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Jun 13 08:26:10 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri Jun 23 17:10:39 2006 +0200"
      },
      "message": "[PATCH] Kill PF_SYNCWRITE flag\n\nA process flag to indicate whether we are doing sync io is incredibly\nugly. It also causes performance problems when one does a lot of async\nio and then proceeds to sync it. Part of the io will go out as async,\nand the other part as sync. This causes a disconnect between the\npreviously submitted io and the synced io. For io schedulers such as CFQ,\nthis will cause us lost merges and suboptimal behaviour in scheduling.\n\nRemove PF_SYNCWRITE completely from the fsync/msync paths, and let\nthe O_DIRECT path just directly indicate that the writes are sync\nby using WRITE_SYNC instead.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "28e4b224955cbe30275b2a7842e729023a4f4b03",
      "tree": "ab4d28fecc06070fc2a2742f4b4550b29de44912",
      "parents": [
        "22ae813b85df7c0b0fc7c8d6f336d6a9f566ff97",
        "67d59dfdeb21df2c16dcd478b66177e91178ecd0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jun 21 11:18:25 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jun 21 11:18:25 2006 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (85 commits)\n  [SCSI] 53c700: remove reliance on deprecated cmnd fields\n  [SCSI] hptiop: don\u0027t use cmnd-\u003ebufflen\n  [SCSI] hptiop: HighPoint RocketRAID 3xxx controller driver\n  [SCSI] aacraid: small misc. cleanups\n  [SCSI] aacraid: Update supported product information\n  [SCSI] aacraid: Fix return code interpretation\n  [SCSI] scsi_transport_sas: fix panic in sas_free_rphy\n  [SCSI] remove RQ_SCSI_* flags\n  [SCSI] remove scsi_request infrastructure\n  [SCSI] mptfusion: change driver revision to 3.03.10\n  [SCSI] mptfc: abort of board reset leaves port dead requiring reboot\n  [SCSI] mptfc: fix fibre channel infinite request/response loop\n  [SCSI] mptfc: set fibre channel fw target missing timers to one second\n  [SCSI] mptfusion: move fc event/reset handling to mptfc\n  [SCSI] spi transport: don\u0027t allow dt to be set on SE or HVD buses\n  [SCSI] aic7xxx: expose the bus setting to sysfs\n  [SCSI] scsi: remove Documentation/scsi/cpqfc.txt\n  [SCSI] drivers/scsi: Use ARRAY_SIZE macro\n  [SCSI] Remove last page_address from dc395x.c\n  [SCSI] hptiop: HighPoint RocketRAID 3xxx controller driver\n  ...\n\nFixed up conflicts in drivers/message/fusion/mptbase.c manually (due to\nthe sparc interrupt cleanups)\n"
    },
    {
      "commit": "8d7feac3c7504425aaf61dc7d804685a6b89ee43",
      "tree": "0dd98c8cbfea10bdc748951cf9dc10b44f0042eb",
      "parents": [
        "beb40487508290f5d6565598c60a3f44261beef2"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sat Jun 10 18:37:19 2006 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Sat Jun 10 16:25:21 2006 -0500"
      },
      "message": "[SCSI] remove RQ_SCSI_* flags\n\nThe RQ_SCSI_* flags are a vestiage of a long past history.  The EH code\nstill sets them but we never make use of that information.  The other\nusers is pluto.c which never had a chance to work but needs to be kept\ncompiling to keep Davem happy, so copy over the definition there.\n\nWe could probably get rid of RQ_ACTIVE/RQ_INACTIVE aswell with some\nwork, there\u0027s only two more or less bogus looking uses in ubd and scsi.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "62c4f0a2d5a188f73a94f2cb8ea0dba3e7cf0a7f",
      "tree": "e85ca2d0dd43f90dccf758338764c3caa55f333f",
      "parents": [
        "089f26d5e31b7bf42a9a8fefec08b30cd27f4b0e"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "message": "Don\u0027t include linux/config.h from anywhere else in include/\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "21b2f0c803adaf00fce1b606c50b49ae8b106773",
      "tree": "1acc834df309041ed0c5681f4bd222fd3e113900",
      "parents": [
        "765fcab23d0a79ed7aab8da79766f5873d936f1b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Mar 22 17:52:04 2006 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Thu Apr 13 10:13:15 2006 -0500"
      },
      "message": "[SCSI] unify SCSI_IOCTL_SEND_COMMAND implementations\n\nWe currently have two implementations of this obsolete ioctl, one in\nthe block layer and one in the scsi code.  Both of them have drawbacks.\n\nThis patch kills the scsi layer version after updating the block version\nwith the missing bits:\n\n - argument checking\n - use scatterlist I/O\n - set number of retries based on the submitted command\n\nThis is the last user of non-S/G I/O except for the gdth driver, so\ngetting this in ASAP and through the scsi tree would be nie to kill\nthe non-S/G I/O path.  Jens, what do you think about adding a check\nfor non-S/G I/O in the midlayer?\n\nThanks to  Or Gerlitz for testing this patch.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "206dc69b31ca05baac68c75b8ed2ba7dd857d273",
      "tree": "f9ca5d996e19cb072165b1f6474c39b59b0e7451",
      "parents": [
        "7143dd4b0127141a4f773e819d1d1f4ab82bb517"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Mar 28 13:03:44 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Mar 28 13:03:44 2006 +0200"
      },
      "message": "[BLOCK] cfq-iosched: seek and async performance fixes\n\nDetect whether a given process is seeky and if so disable (mostly) the\nidle window if it is. We still allow just a little idle time, just enough\nto allow that process to submit a new request. That is needed to maintain\nfairness across priority groups.\n\nIn some cases, we could setup several async queues. This is not optimal\nfrom a performance POV, since we want all async io in one queue to perform\ngood sorting on it. It also impacted sync queues, as async io got too much\nslice time.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "e2d74ac0664c89757bde8fb18c98cd7bf53da61c",
      "tree": "1e858044a9180766eae4ec694d4200c4ae850406",
      "parents": [
        "329b10bb0feacb7fb9a41389313ff0a51ae56f2a"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Mar 28 08:59:01 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Mar 28 08:59:01 2006 +0200"
      },
      "message": "[PATCH] [BLOCK] cfq-iosched: change cfq io context linking from list to tree\n\nOn setups with many disks, we spend a considerable amount of time\nlooking up the process-disk mapping on each queue of io. Testing with\na NULL based block driver, this costs 40-50% reduction in throughput\nfor 1000 disks.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "2056a782f8e7e65fd4bfd027506b4ce1c5e9ccd4",
      "tree": "d4fe59a7ca0c110690937085548936a4535c39db",
      "parents": [
        "6dac40a7ce2483a47b54af07afebeb84131c7228"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Mar 23 20:00:26 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Mar 23 20:00:26 2006 +0100"
      },
      "message": "[PATCH] Block queue IO tracing support (blktrace) as of 2006-03-23\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "483f4afc421435b7cfe5e88f74eea0b73a476d75",
      "tree": "9a3bbcf8ae83c5edb9ab1f9e98333d6f5673211b",
      "parents": [
        "1312f40e11c57edb5c3250f1b782cef8e3efea82"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 18 18:34:37 2006 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 18 18:34:37 2006 -0500"
      },
      "message": "[PATCH] fix sysfs interaction and lifetime rules handling for queues\n"
    },
    {
      "commit": "d9ff41879364cfca7c15abc20ae398e35de3f883",
      "tree": "58b69841c145a000d06658feff5d846eea624399",
      "parents": [
        "a6a0763a60eef374d4f02f82a6ecb6a74f380fcb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 18 13:51:22 2006 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 18 18:34:07 2006 -0500"
      },
      "message": "[PATCH] make cfq_exit_queue() prune the cfq_io_context for that queue\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "12a057321529df2fb650ac5f34dfd7abcca667df",
      "tree": "b74a85a275cf97cebcd30aa544605081c80d7fb1",
      "parents": [
        "478a82b0edeea1cc82a5f79880b3a15923a678de"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 18 13:38:01 2006 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 18 18:34:02 2006 -0500"
      },
      "message": "[PATCH] keep sync and async cfq_queue separate\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2cb2e147a6d20bffd1d6b7a79be7301560f751c3",
      "tree": "7b39f720574829823c9736f84bd51ae15acc330b",
      "parents": [
        "3ee68c4af3fd7228c1be63254b9f884614f9ebb2"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Jan 17 09:04:32 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Tue Jan 24 10:06:19 2006 +0100"
      },
      "message": "[BLOCK] ll_rw_blk: make max_sectors and max_hw_sectors unsigned ints\n\nIDE lba48 can support full 64k request size, which overflows the\nmax_hw_sectors variable.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "e2688f00dc0ceb9d9867434dffbd080411fc23b0",
      "tree": "433549c6a655ac879654ba82d312911677650380",
      "parents": [
        "356cebea1123804e4aa85b43ab39bbd0ac8e667c",
        "a9925a06ea52a44b4bf4a941342e8240eaf22417"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 09 09:26:40 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 09 09:26:40 2006 -0800"
      },
      "message": "Merge branch \u0027blk-softirq\u0027 of git://brick.kernel.dk/data/git/linux-2.6-block\n\nManual merge for trivial #include changes\n"
    }
  ],
  "next": "ff856bad67cb65cb4dc4ef88b808804fc4265782"
}
