)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "ff856bad67cb65cb4dc4ef88b808804fc4265782",
      "tree": "2db1e0be2be1e814cf8fe9bb8d3d7401fb24dd86",
      "parents": [
        "5367f2d67c7d0bf1faae90e6e7b4e2ac3c9b5e0f"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Mon Jan 09 16:02:34 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Mon Jan 09 16:02:34 2006 +0100"
      },
      "message": "[BLOCK] ll_rw_blk: Enable out-of-order request completions through softirq\n\nRequest completion can be a quite heavy process, since it needs to\niterate through the entire request and complete the bio\u0027s it holds.\nThis patch adds blk_complete_request() which moves this processing\ninto a dedicated block softirq.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "356cebea1123804e4aa85b43ab39bbd0ac8e667c",
      "tree": "aac7a1421808628fcc12340ce3ad4514c681b297",
      "parents": [
        "5a57be8d100c67a033ec78f00d5a0cd387da72e9"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Mon Jan 09 15:30:20 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Mon Jan 09 15:30:20 2006 +0100"
      },
      "message": "[BLOCK] Kill blk_attempt_remerge()\n\nIt\u0027s a broken interface, it\u0027s done way too late. And apparently it triggers\nslab problems in recent kernels as well (most likely after the generic dispatch\ncode was merged). So kill it, ide-cd is the only user of it.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "15fc858a0067c800f410a24551a7b461978abf0b",
      "tree": "e6324460a829926fa891f9204b72434f144fcb5e",
      "parents": [
        "ff5b8cf1491330836d75eede4e5632caa32b776a"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Jan 06 10:00:50 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Jan 06 10:00:50 2006 +0100"
      },
      "message": "[BLOCK] Correct blk_execute_rq_nowait() prototype\n"
    },
    {
      "commit": "797e7dbbee0a91fa1349192f18ad5c454997d876",
      "tree": "c0d5974f469dd2d3d4f9b15d87d201b61e248f54",
      "parents": [
        "52d9e675361261a1eb1716b02222ec6177ec342b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri Jan 06 09:51:03 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Jan 06 09:51:03 2006 +0100"
      },
      "message": "[BLOCK] reimplement handling of barrier request\n\nReimplement handling of barrier requests.\n\n* Flexible handling to deal with various capabilities of\n  target devices.\n* Retry support for falling back.\n* Tagged queues which don\u0027t support ordered tag can do ordered.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "8ffdc6550c47f75ca4e6c9f30a2a89063e035cf2",
      "tree": "a478b9acef5c66242a964154f7ad3a0ea750ef0f",
      "parents": [
        "64100099ed22f71cce656c5c2caecf5c9cf255dc"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri Jan 06 09:49:03 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Jan 06 09:49:03 2006 +0100"
      },
      "message": "[BLOCK] add @uptodate to end_that_request_last() and @error to rq_end_io_fn()\n\nadd @uptodate argument to end_that_request_last() and @error\nto rq_end_io_fn().  there\u0027s no generic way to pass error code\nto request completion function, making generic error handling\nof non-fs request difficult (rq-\u003eerrors is driver-specific and\neach driver uses it differently).  this patch adds @uptodate\nto end_that_request_last() and @error to rq_end_io_fn().\n\nfor fs requests, this doesn\u0027t really matter, so just using the\nsame uptodate argument used in the last call to\nend_that_request_first() should suffice.  imho, this can also\nhelp the generic command-carrying request jens is working on.\n\nSigned-off-by: tejun heo \u003chtejun@gmail.com\u003e\nSigned-Off-By: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "defd94b75409b983f94548ea2f52ff5787ddb848",
      "tree": "0138b2dae748de88edaee4da23431f1a9dd347a1",
      "parents": [
        "8b05b773b6030de5b1bab1cbb0bf1ff8c34cdbe0"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Mon Dec 05 02:37:06 2005 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.(none)",
        "time": "Thu Dec 15 15:11:40 2005 -0800"
      },
      "message": "[SCSI] seperate max_sectors from max_hw_sectors\n\n- export __blk_put_request and blk_execute_rq_nowait\nneeded for async REQ_BLOCK_PC requests\n- seperate max_hw_sectors and max_sectors for block/scsi_ioctl.c and\nSG_IO bio.c helpers per Jens\u0027s last comments. Since block/scsi_ioctl.c SG_IO was\nalready testing against max_sectors and SCSI-ml was setting max_sectors and\nmax_hw_sectors to the same value this does not change any scsi SG_IO behavior. It only\nprepares ll_rw_blk.c, scsi_ioctl.c and bio.c for when SCSI-ml begins to set\na valid max_hw_sectors for all LLDs. Today if a LLD does not set it\nSCSI-ml sets it to a safe default and some LLDs set it to a artificial low\nvalue to overcome memory and feedback issues.\n\nNote: Since we now cap max_sectors to BLK_DEF_MAX_SECTORS, which is 1024,\ndrivers that used to call blk_queue_max_sectors with a large value of\nmax_sectors will now see the fs requests capped to BLK_DEF_MAX_SECTORS.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "17e01f216b611fc46956dcd9063aec4de75991e3",
      "tree": "e8864490fddd1d67c7911101a1446709ec21720e",
      "parents": [
        "6e68af666f5336254b5715dca591026b7324499a"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Fri Nov 11 05:31:37 2005 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.(none)",
        "time": "Wed Dec 14 19:04:11 2005 -0800"
      },
      "message": "[SCSI] add retries field to request for REQ_BLOCK_PC use\n\nFor tape we need to control the retries. This patch adds a retries\ncounter on the request for REQ_BLOCK_PC commands originating from\nscsi_execute* to use. REQ_BLOCK_PC commands comming from the block\nlayer SG_IO path continue to use the retires set in the ULD init_command.\n(scsi_execute* does not set the gendisk so we do not execute\nthe init_command in that path).\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "6e39b69e7ea9205c5f80aeac3ef999ab8fb1a4cc",
      "tree": "abf6bf248970a249cc15e0c3df75ae42833be084",
      "parents": [
        "9e1fe9314cb5649b2dc73690f2cd8d0068e633d9"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Fri Nov 11 05:30:24 2005 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.(none)",
        "time": "Wed Dec 14 19:00:50 2005 -0800"
      },
      "message": "[SCSI] export blk layer functions needed for blk_execute_rq_nowait\n\nTo send async requests we need these two functions exported.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "15853af9f07673680439b224519c692f1352b959",
      "tree": "e6a8fc1cd34dec568883cd62102e1e626d9241d9",
      "parents": [
        "1b5ed5e1f1315e37380e55102f58bcae3344d2a7"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Nov 10 08:52:05 2005 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Nov 12 10:56:06 2005 +0100"
      },
      "message": "[BLOCK] Implement elv_drain_elevator for improved switch error detection\n\nThis patch adds request_queue-\u003enr_sorted which keeps the number of\nrequests in the iosched and implement elv_drain_elevator which\nperforms forced dispatching.  elv_drain_elevator checks whether\niosched actually dispatches all requests it has and prints error\nmessage if it doesn\u0027t.  As buggy forced dispatching can result in\nwrong barrier operations, I think this extra check is worthwhile.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "5dd962494f76fb3ef1196cd420b5d6260d7a3766",
      "tree": "f6eda4fcea880e420420a2886b84ad35a6b00f28",
      "parents": [
        "28d721e24c88496ff8e9c4a0959bdc1415c0658e",
        "772eca7825358f52cf208afd7ab8ce22722ce41a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 28 08:56:34 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 28 08:56:34 2005 -0700"
      },
      "message": "Merge branch \u0027elevator-switch\u0027 of git://brick.kernel.dk/data/git/linux-2.6-block\n\nManual fixup for trivial \"gfp_t\" changes.\n"
    },
    {
      "commit": "28d721e24c88496ff8e9c4a0959bdc1415c0658e",
      "tree": "0652161bbbcbfddf47c7ddb25d2db8ecd4cbec89",
      "parents": [
        "0ee40c6628434f0535da31deeacc28b61e80d810",
        "cb19833dccb32f97cacbfff834b53523915f13f6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 28 08:53:49 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 28 08:53:49 2005 -0700"
      },
      "message": "Merge branch \u0027generic-dispatch\u0027 of git://brick.kernel.dk/data/git/linux-2.6-block\n"
    },
    {
      "commit": "8267e268e0914ac9371d07f711fcf20cc572993c",
      "tree": "6f83cbcb95187544ed9075470c14cc12128272c8",
      "parents": [
        "27496a8c67bef4d789d8e3c8317ca35813a507ae"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 21 03:20:53 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 28 08:16:47 2005 -0700"
      },
      "message": "[PATCH] gfp_t: block layer core\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "64521d1a3ba7cc7fe4ab5640da83d88144f05340",
      "tree": "566f61ed9bbdc1c6ad245cb186fdd8c810a58f25",
      "parents": [
        "cb98fc8bb9c141009e2bda99c0db39d387e142cf"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Oct 28 08:30:39 2005 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri Oct 28 08:48:23 2005 +0200"
      },
      "message": "[BLOCK] elevator switch fixes/cleanup\n\n- 100msec sleep is a little excessive, lots of requests can complete\n  in that timeframe. Use 10msec instead.\n- Rename QUEUE_FLAG_BYPASS to QUEUE_FLAG_ELVSWITCH to indicate what\n  is going on.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "cb98fc8bb9c141009e2bda99c0db39d387e142cf",
      "tree": "8957f8a79f39c3e6633a0dbb165ced8b530aca0c",
      "parents": [
        "cb19833dccb32f97cacbfff834b53523915f13f6"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri Oct 28 08:29:39 2005 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri Oct 28 08:48:12 2005 +0200"
      },
      "message": "[BLOCK] Reimplement elevator switch\n\n This patch reimplements elevator switch.  This patch assumes generic\ndispatch queue patchset is applied.\n\n * Each request is tagged with REQ_ELVPRIV flag if it has its elevator\n   private data set.\n * Requests which doesn\u0027t have REQ_ELVPRIV flag set never enter\n   iosched.  They are always directly back inserted to dispatch queue.\n   Of course, elevator_put_req_fn is called only for requests which\n   have its REQ_ELVPRIV set.\n * Request queue maintains the current number of requests which have\n   its elevator data set (elevator_set_req_fn called) in\n   q-\u003erq-\u003eelvpriv.\n * If a request queue has QUEUE_FLAG_BYPASS set, elevator private data\n   is not allocated for new requests.\n\n To switch to another iosched, we set QUEUE_FLAG_BYPASS and wait until\nelvpriv goes to zero; then, we attach the new iosched and clears\nQUEUE_FLAG_BYPASS.  New implementation is much simpler and main code\npaths are less cluttered, IMHO.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "cb19833dccb32f97cacbfff834b53523915f13f6",
      "tree": "24fb8d125bcfdf5209ac6f502b78160d0193428c",
      "parents": [
        "4c9f7836406f41ef9da6ee68d7a0448fdb97b5ef"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Oct 24 08:35:58 2005 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri Oct 28 08:46:01 2005 +0200"
      },
      "message": "[BLOCK] kill generic max_back_kb handling\n\nThis patch kills max_back_kb handling from elv_dispatch_sort() and\nkills max_back_kb field from struct request_queue.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "06b86245c052963029bfd9020ca1f08ceb66f85a",
      "tree": "1bd2675aceca74398f5fcf148f6cf2f551d63b52",
      "parents": [
        "b4878f245ec8e168cdd1f170f823a750b7dd4af5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Oct 20 16:46:23 2005 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri Oct 28 08:45:20 2005 +0200"
      },
      "message": "[PATCH] 03/05 move last_merge handlin into generic elevator code\n\nCurrently, both generic elevator code and specific ioscheds\nparticipate in the management and usage of last_merge.  This\nand the following patches move last_merge handling into\ngeneric elevator code.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "1b47f531e244e339b648dfff071c086f936e49e1",
      "tree": "4ecbec3d9ade19e01a47c562772db550daadcef2",
      "parents": [
        "8922e16cf6269e668123acb1ae1fdc62b7a3a4fc"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Oct 20 16:37:00 2005 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri Oct 28 08:44:37 2005 +0200"
      },
      "message": "[PATCH] generic dispatch fixes\n\n- Split elv_dispatch_insert() into two functions\n- Rename rq_last_sector() to rq_end_sector()\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "8922e16cf6269e668123acb1ae1fdc62b7a3a4fc",
      "tree": "272bff0b53bf6fe4a7787728a45a26a282ba2976",
      "parents": [
        "2824bc9328467127083c1325f54b67d298c333b2"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Oct 20 16:23:44 2005 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri Oct 28 08:44:24 2005 +0200"
      },
      "message": "[PATCH] 01/05 Implement generic dispatch queue\n\nImplements generic dispatch queue which can replace all\ndispatch queues implemented by each iosched.  This reduces\ncode duplication, eases enforcing semantics over dispatch\nqueue, and simplifies specific ioscheds.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "2befb9e36dc52d715c3a67a9dbad36ac1edc376f",
      "tree": "c303f101aef8b91598f62e268039eb733b193d8f",
      "parents": [
        "e2afe67453e5b1499459ee3596b1e7924a5208f5"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Sep 10 00:27:17 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 10 10:06:34 2005 -0700"
      },
      "message": "[PATCH] include/linux/blkdev.h: \"extern inline\" -\u003e \"static inline\"\n\n\"extern inline\" doesn\u0027t make much sense.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "31151ba2cef171344beac254e65bd7e00138bb0d",
      "tree": "a8f9cd3c0395656d974125c0ca7ed635aacddeee",
      "parents": [
        "3d52acb34247816c453f94596e6c7fc4499b76dc",
        "73747aed04d3b3fb694961d025f81863b99c6898"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "jejb@titanic.(none)",
        "time": "Sun Aug 28 10:43:07 2005 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@titanic.(none)",
        "time": "Sun Aug 28 10:43:07 2005 -0500"
      },
      "message": "fix mismerge in ll_rw_blk.c\n"
    },
    {
      "commit": "ba02508248e90a9d696aebd18b48a3290235b53c",
      "tree": "4167aecae57a5ceab6392e54189a271f3dfdebf8",
      "parents": [
        "c7546f8f03f5a4fa612605b6be930234d6026860"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri Aug 05 13:28:11 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Aug 05 13:43:16 2005 -0700"
      },
      "message": "[PATCH] blk: fix tag shrinking (revive real_max_size)\n\nMy patch in commit fa72b903f75e4f0f0b2c2feed093005167da4023 incorrectly\nremoved blk_queue_tag-\u003ereal_max_depth.\n\nThe original resize implementation was incorrect in the following\npoints.\n\n * actual allocation size of tag_index was shorter than real_max_size,\n   but assumed to be of the same size, possibly causing memory access\n   beyond the allocated area.\n * bits in tag_map between max_deptn and real_max_depth were\n   initialized to 1\u0027s, making the tags permanently reserved.\n\nIn an attempt to fix above two bugs, I had removed allocation optimization\nin init_tag_map and real_max_size.  Tag map/index were allocated and freed\nimmediately during resize.\n\nUnfortunately, I wasn\u0027t considering that tag map/index can be resized\ndynamically with tags beyond new_depth active.  This led to accessing\nfreed area after shrinking tags and led to the following bug reporting\nthread on linux-scsi.\n\n   http://marc.theaimsgroup.com/?l\u003dlinux-scsi\u0026m\u003d112319898111885\u0026w\u003d2\n\nTo fix the problem, I\u0027ve revived real_max_depth without allocation\noptimization in init_tag_map, and Andrew Vasquez confirmed that the\nproblem was fixed.  As Jens is not going to be available for a week, he\nasked me to make sure that this patch reaches you.\n\n   http://marc.theaimsgroup.com/?l\u003dlinux-scsi\u0026m\u003d112325778530886\u0026w\u003d2\n\nAlso, a comment was added to make sure that real_max_size is needed for\ndynamic shrinking.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fb3cc4320e1fd87143683b540e459a2e20fdc9bb",
      "tree": "bc684070d75cd741820410d743cffb4bd0721504",
      "parents": [
        "d6344532a26a318c128102507f6328aaafe02d4d"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Tue Jun 28 20:45:15 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 28 21:20:35 2005 -0700"
      },
      "message": "[PATCH] blk: light iocontext ops\n\nget_io_context needlessly turned off interrupts and checked for racing io\ncontext creations.  Both of which aren\u0027t needed, because the io context can\nonly be created while in process context of the current process.\n\nAlso, split the function in 2.  A light version, current_io_context does not\nelevate the reference count specifically, but can be used when in process\ncontext, because the process holds a reference itself.\n\nSigned-off-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: 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": "22e2c507c301c3dbbcf91b4948b88f78842ee6c9",
      "tree": "9a97c91d1362e69703aa286021daffb8a5456f4c",
      "parents": [
        "020f46a39eb7b99a575b9f4d105fce2b142acdf1"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Mon Jun 27 10:55:12 2005 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 27 14:33:29 2005 -0700"
      },
      "message": "[PATCH] Update cfq io scheduler to time sliced design\n\nThis updates the CFQ io scheduler to the new time sliced design (cfq\nv3).  It provides full process fairness, while giving excellent\naggregate system throughput even for many competing processes.  It\nsupports io priorities, either inherited from the cpu nice value or set\ndirectly with the ioprio_get/set syscalls.  The latter closely mimic\nset/getpriority.\n\nThis import is based on my latest from -mm.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "93d17d3d84b7147e8f07aeeb15ec01aa92c6b564",
      "tree": "5a6448e7d30d4d6443f5ab298f2e8faae788df30",
      "parents": [
        "e8e1c7292ee9b64c35b3f6d7f905ca5e854aea95"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Jun 25 14:59:10 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:25:05 2005 -0700"
      },
      "message": "[PATCH] drivers/block/ll_rw_blk.c: cleanups\n\nThis patch contains the following cleanups:\n- make needlessly global code static\n- remove the following unused global functions:\n  - blkdev_scsi_issue_flush_fn\n  - __blk_attempt_remerge\n- remove the following unused EXPORT_SYMBOL\u0027s:\n  - blk_phys_contig_segment\n  - blk_hw_contig_segment\n  - blkdev_scsi_issue_flush_fn\n  - __blk_attempt_remerge\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\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": "f7d37d028dfba90b1b747f8ac685bf0959aeda8b",
      "tree": "38627ec042c05f42feddff2ada95290ebe73679e",
      "parents": [
        "fa72b903f75e4f0f0b2c2feed093005167da4023"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 23 00:08:50 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:15 2005 -0700"
      },
      "message": "[PATCH] blk: remove BLK_TAGS_{PER_LONG|MASK}\n\nReplace BLK_TAGS_PER_LONG with BITS_PER_LONG and remove unused BLK_TAGS_MASK.\n\nSigned-off-by: Tejun Heo \u003chtejun@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": "fa72b903f75e4f0f0b2c2feed093005167da4023",
      "tree": "12087e87fb8d41d10013946e5b2c91e57265c29e",
      "parents": [
        "2bf0fdad51c6710bf15d0bf4b9b30b8498fe4ddd"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 23 00:08:49 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:15 2005 -0700"
      },
      "message": "[PATCH] blk: remove blk_queue_tag-\u003ereal_max_depth optimization\n\nblk_queue_tag-\u003ereal_max_depth was used to optimize out unnecessary\nallocations/frees on tag resize.  However, the whole thing was very broken -\ntag_map was never allocated to real_max_depth resulting in access beyond the\nend of the map, bits in [max_depth..real_max_depth] were set when initializing\na map and copied when resizing resulting in pre-occupied tags.\n\nAs the gain of the optimization is very small, well, almost nill, remove the\nwhole thing.\n\nSigned-off-by: Tejun Heo \u003chtejun@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": "1946089a109251655c5438d92c539bd2930e71ea",
      "tree": "819a492d5a7c4e6e695b150a86abeb99d5ac46eb",
      "parents": [
        "8c5a09082f4e61a176382e96a831a0636b918602"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "christoph@lameter.com",
        "time": "Thu Jun 23 00:08:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:09 2005 -0700"
      },
      "message": "[PATCH] NUMA aware block device control structure allocation\n\nPatch to allocate the control structures for for ide devices on the node of\nthe device itself (for NUMA systems).  The patch depends on the Slab API\nchange patch by Manfred and me (in mm) and the pcidev_to_node patch that I\nposted today.\n\nDoes some realignment too.\n\nSigned-off-by: Justin M. Forbes \u003cjmforbes@linuxtx.org\u003e\nSigned-off-by: Christoph Lameter \u003cchristoph@lameter.com\u003e\nSigned-off-by: Pravin Shelar \u003cpravin@calsoftinc.com\u003e\nSigned-off-by: Shobhit Dayal \u003cshobhit@calsoftinc.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "994ca9a19616f0d4161a9e825f0835925d522426",
      "tree": "0998252ed375929dca468440b7486d4c1104757f",
      "parents": [
        "f63eb21b4f32028755b6b9d47e5eb13c18ba0cae"
      ],
      "author": {
        "name": "James Bottomley ",
        "email": "James.Bottomley@SteelEye.com",
        "time": "Mon Jun 20 14:11:09 2005 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Mon Jun 20 14:11:09 2005 +0200"
      },
      "message": "[PATCH] update blk_execute_rq to take an at_head parameter\n\nOriginal From: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\n\nModified to split out block changes (this patch) and SCSI pieces.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "f1970baf6d74e03bd32072ab453f2fc01bc1b8d3",
      "tree": "559898cdf83bd0f93b8a72248c6423a6548fb604",
      "parents": [
        "dd1cab95f356f1395278633565f198463cf6bd24"
      ],
      "author": {
        "name": "James Bottomley ",
        "email": "James.Bottomley@SteelEye.com",
        "time": "Mon Jun 20 14:06:52 2005 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Mon Jun 20 14:06:52 2005 +0200"
      },
      "message": "[PATCH] Add scatter-gather support for the block layer SG_IO\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "dd1cab95f356f1395278633565f198463cf6bd24",
      "tree": "ddf12e2fad7c0df0656a10ee6aac3f12a04dbed8",
      "parents": [
        "b823825e8e09aac6dc1ca362cd5639a87329d636"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Mon Jun 20 14:06:01 2005 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Mon Jun 20 14:06:01 2005 +0200"
      },
      "message": "[PATCH] Cleanup blk_rq_map_* interfaces\n\nChange the blk_rq_map_user() and blk_rq_map_kern() interface to require\na previously allocated request to be passed in. This is both more efficient\nfor multiple iterations of mapping data to the same request, and it is also\na much nicer API.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "df46b9a44ceb5af2ea2351ce8e28ae7bd840b00f",
      "tree": "30ab71759486f94d60af2283fc55bfffcc22155a",
      "parents": [
        "8b22c249e7de453961e4d253b19fc2a0bdd65d53"
      ],
      "author": {
        "name": "Mike Christie ",
        "email": "michaelc@cs.wisc.edu",
        "time": "Mon Jun 20 14:04:44 2005 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Mon Jun 20 14:04:44 2005 +0200"
      },
      "message": "[PATCH] Add blk_rq_map_kern()\n\nAdd blk_rq_map_kern which takes a kernel buffer and maps it into\na request and bio. This can be used by the dm hw_handlers, old\nsg_scsi_ioctl, and one day scsi special requests so all requests\ncomming into scsi will have bios. All requests having bios\nshould allow scsi to use scatter lists for all IO and allow it\nto use block layer functions.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "867d1191fca388a79e4bb500dd85a9e871c96b99",
      "tree": "303533d15c553ff5dbd6053a98fb0561bdda2995",
      "parents": [
        "beb6617d994161a6b12c5f69afc6fb154f085447"
      ],
      "author": {
        "name": "Tejun Heo ",
        "email": "htejun@gmail.com",
        "time": "Sun Apr 24 02:06:05 2005 -0500"
      },
      "committer": {
        "name": "James Bottomley ",
        "email": "jejb@mulgrave.(none)",
        "time": "Fri May 20 12:53:28 2005 -0500"
      },
      "message": "[SCSI] remove requeue feature from blk_insert_request()\n\nblk_insert_request() has a unobivous feature of requeuing a\nrequest setting REQ_SPECIAL|REQ_SOFTBARRIER.  SCSI midlayer\nwas the only user and as previous patches removed the usage,\nremove the feature from blk_insert_request().  Only special\nrequests should be queued with blk_insert_request().  All\nrequeueing should go through blk_requeue_request().\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "152587deb8903c0edf483a5b889f975bc6bea7e0",
      "tree": "62fc13bff0a28134adbb523ed1a2c0efdd9a85cb",
      "parents": [
        "56fece20086ebe32bce2c0d74ceadd516b56baae"
      ],
      "author": {
        "name": "",
        "email": "axboe@suse.de",
        "time": "Tue Apr 12 16:22:06 2005 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@titanic",
        "time": "Sat Apr 16 20:10:09 2005 -0500"
      },
      "message": "[PATCH] fix NMI lockup with CFQ scheduler\n\nThe current problem seen is that the queue lock is actually in the\nSCSI device structure, so when that structure is freed on device\nrelease, we go boom if the queue tries to access the lock again.\n\nThe fix here is to move the lock from the scsi_device to the queue.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
