)]}'
{
  "log": [
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "acf421755593f7d7bd9352d57eda796c6eb4fa43",
      "tree": "08fe234e5a28556ef32d29de1d3045cfe94a931c",
      "parents": [
        "fda151d9feafc0e8418f23c716587c44394fcdbf"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon Jun 12 14:20:58 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri Jun 23 17:10:38 2006 +0200"
      },
      "message": "[PATCH] remove dead code from elevator switching\n\nWe already drop the refcount in elevator_exit(), and as\nwe\u0027re setting \u0027e\u0027 to NULL, we\u0027ll never take that branch anyway.\nFinally, as \u0027e\u0027 is a local var that isn\u0027t referenced afterwards,\nsetting it to NULL is pointless.\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "bc1c116974a5c3f498112a6f175d3e4a8cd5bdbc",
      "tree": "69ea68db91fb871cd24a0a5c5045abbe9c77bd3a",
      "parents": [
        "26e780e8ef1cc3ef581a07aafe2346bb5a07b4f9"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Jun 08 08:49:06 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 08 15:14:23 2006 -0700"
      },
      "message": "[PATCH] elevator switching race\n\nThere\u0027s a race between shutting down one io scheduler and firing up the\nnext, in which a new io could enter and cause the io scheduler to be\ninvoked with bad or NULL data.\n\nTo fix this, we need to maintain the queue lock for a bit longer.\nUnfortunately we cannot do that, since the elevator init requires to be\nrun without the lock held.  This isn\u0027t easily fixable, without also\nchanging the mempool API.  So split the initialization into two parts,\nand alloc-init operation and an attach operation.  Then we can\npreallocate the io scheduler and related structures, and run the attach\ninside the lock after we detach the old one.\n\nThis patch has survived 30 minutes of 1 second io scheduler switching\nwith a very busy io load.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dac07ec121de66b6be988b14ae2cd9ce45357b21",
      "tree": "95359f17d0857fd52f399cef072097523227d032",
      "parents": [
        "f358166a9405e4f1d8e50d8f415c26d95505b6de"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu May 11 08:20:16 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu May 11 12:38:59 2006 -0700"
      },
      "message": "[BLOCK] limit request_fn recursion\n\nDon\u0027t recurse back into the driver even if the unplug threshold is met,\nwhen the driver asks for a requeue. This is both silly from a logical\npoint of view (requeues typically happen due to driver/hardware\nshortage), and also dangerous since we could hit an endless request_fn\n-\u003e requeue -\u003e unplug -\u003e request_fn loop and crash on stack overrun.\n\nAlso limit blk_run_queue() to one level of recursion, similar to how\nblk_start_queue() works.\n\nThis patch fixed a real problem with SLES10 and lpfc, and it could hit\nany SCSI lld that returns non-zero from it\u0027s -\u003equeuecommand() handler.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4f73247f0e53be1bd4aa519476e6261a8e4a64ab",
      "tree": "31122fbaffb3761e1c47124de2bbb9b652562c44",
      "parents": [
        "82aa5d6183667aa2a5f3c61e390934b0273d2ad7"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Thu Apr 20 15:45:22 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Apr 20 15:45:22 2006 +0200"
      },
      "message": "[PATCH] block/elevator.c: remove unused exports\n\nThis patch removes the following unused EXPORT_SYMBOL\u0027s:\n- elv_requeue_request\n- elv_completed_request\n\nThey are only used by the block core, hence they need not be exported.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "9b41046cd0ee0a57f849d6e1363f7933e363cca9",
      "tree": "246820e9493770e071cb92a48e7f72d8b9c90a98",
      "parents": [
        "68eef3b4791572ecb70249c7fb145bb3742dd899"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Fri Mar 31 02:30:33 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:53 2006 -0800"
      },
      "message": "[PATCH] Don\u0027t pass boot parameters to argv_init[]\n\nThe boot cmdline is parsed in parse_early_param() and\nparse_args(,unknown_bootoption).\n\nAnd __setup() is used in obsolete_checksetup().\n\n\tstart_kernel()\n\t\t-\u003e parse_args()\n\t\t\t-\u003e unknown_bootoption()\n\t\t\t\t-\u003e obsolete_checksetup()\n\nIf __setup()\u0027s callback (-\u003esetup_func()) returns 1 in\nobsolete_checksetup(), obsolete_checksetup() thinks a parameter was\nhandled.\n\nIf -\u003esetup_func() returns 0, obsolete_checksetup() tries other\n-\u003esetup_func().  If all -\u003esetup_func() that matched a parameter returns 0,\na parameter is seted to argv_init[].\n\nThen, when runing /sbin/init or init\u003dapp, argv_init[] is passed to the app.\nIf the app doesn\u0027t ignore those arguments, it will warning and exit.\n\nThis patch fixes a wrong usage of it, however fixes obvious one only.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ce52449742697f6f51be2a7c275a4ab2a73885b8",
      "tree": "1cd5441d8fa9dea43b4d6de0adba910abaca814b",
      "parents": [
        "c5d3237c2424c4a3cf69d33abc1f229943468367"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Fri Mar 24 18:43:26 2006 +0100"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Mar 24 18:43:26 2006 +0100"
      },
      "message": "BUG_ON() Conversion in block/elevator.c\n\nthis changes if() BUG(); constructs to BUG_ON() which is\ncleaner, contains unlikely() and can better optimized away.\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.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": "e572ec7e4e432de7ecf7bd2e62117646fa64e518",
      "tree": "56b4b738fb566128d2db6d62aed28cfd41b5398a",
      "parents": [
        "3d1ab40f4c20767afbd361b258a531d73e3e6fc2"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 18 22:27:18 2006 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 18 22:27:18 2006 -0500"
      },
      "message": "[PATCH] fix rmmod problems with elevator attributes, clean them up\n"
    },
    {
      "commit": "3d1ab40f4c20767afbd361b258a531d73e3e6fc2",
      "tree": "2da79cc8b47a98b0496b6e762fa790a8d547977b",
      "parents": [
        "1cc9be68ebcc1de9904bf225441613878da9c0d8"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 18 18:35:43 2006 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 18 18:35:43 2006 -0500"
      },
      "message": "[PATCH] elevator_t lifetime rules and sysfs fixes\n"
    },
    {
      "commit": "e17a9489b4a686bb5e9615e1d375c67619cb99c5",
      "tree": "e6574d24ad8f16fefe7663c91cf19109e48f8c6c",
      "parents": [
        "25975f863b0fd42c58109e253e7a4c65d9fdaf48"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 18 13:21:20 2006 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 18 18:34:12 2006 -0500"
      },
      "message": "[PATCH] stop elv_unregister() from rogering other iosched\u0027s data, fix locking\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "30e9656cc340035e102fea46e1908689494b042d",
      "tree": "5fc623ccad5a1f5b09ebc4b7e8d7c6bec8e485ac",
      "parents": [
        "e5ea0a9fca5612808839dd4bcc41c46fc02451f9"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Feb 08 01:01:31 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Feb 08 07:52:58 2006 -0800"
      },
      "message": "[PATCH] block: implement elv_insert and use it (fix ordcolor flipping bug)\n\nq-\u003eordcolor must only be flipped on initial queueing of a hardbarrier\nrequest.\n\nConstructing ordered sequence and requeueing used to pass through\n__elv_add_request() which flips q-\u003eordcolor when it sees a barrier\nrequest.\n\nThis patch separates out elv_insert() from __elv_add_request() and uses\nelv_insert() when constructing ordered sequence and requeueing.\nelv_insert() inserts the given request at the specified position and\ndoes nothing else.\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": "238e7db9357bfe1ce3d6f7ac1e60e595e9d46b7b",
      "tree": "3688c8145e4bfa61a387137dafc966470569d2b8",
      "parents": [
        "9a7a67af8bb02106f0fb01dd9d237332f874be9a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat Feb 04 23:27:38 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Feb 05 11:06:51 2006 -0800"
      },
      "message": "[PATCH] block: request_queue-\u003eordcolor must not be flipped on SOFTBARRIER\n\nq-\u003eordcolor must not be flipped on SOFTBARRIER.\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": "248d5ca5ed5feb7f1a68d213c0ff89c604a97179",
      "tree": "bf05775c34c326d11ec7789ba71071755032783d",
      "parents": [
        "5f00397644e01adfbebafb5d0ebc01eba522709d"
      ],
      "author": {
        "name": "Nate Diller",
        "email": "nate.diller@gmail.com",
        "time": "Tue Jan 24 10:09:14 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Jan 24 10:09:14 2006 +0100"
      },
      "message": "[BLOCK] elevator: allow default scheduler to potentially be modular\n\nJens has decided that allowing the default scheduler to be a module is\na bug, and should not be allowed under kconfig.  However, I find that\nscenario useful for debugging, and wish for the kernel to be able to\nhandle this situation without OOPSing, if I enable such an option in\nthe .config directly.  This patch dynamically checks for the presence\nof the compiled-in default, and falls back to no-op, emitting a\nsuitable error message, when the default is not available\n\nTested for a range of boot options on 2.6.16-rc1-mm2.\n\nSigned-off-by: Nate Diller \u003cnate.diller@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "5f00397644e01adfbebafb5d0ebc01eba522709d",
      "tree": "30fa87541eb60d74a0c6476a624d827c1da4dbce",
      "parents": [
        "53e86061b5bd4aece9bbb6b00b30720200596ecb"
      ],
      "author": {
        "name": "Nate Diller",
        "email": "nate.diller@gmail.com",
        "time": "Tue Jan 24 10:07:58 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Jan 24 10:07:58 2006 +0100"
      },
      "message": "[BLOCK] elevator: default choice selection\n\nMy previous default iosched patch did a poor job dealing with the\n\u0027elevator\u003d\u0027 boot-time option.  The old behavior falls back to the\ncompiled-in default if the requested one is not registered at boot\ntime.  This patch dynamically evaluates which default\nto use, and emits a suitable error message when the requested scheduler\nis not available.  It also does the \u0027as\u0027 -\u003e \u0027anticipatory\u0027 conversion\nbefore elevator registration, which along with a modified registration\nfunction, allows it to correctly indicate which default scheduler is\nin use.\n\nTested for a range of boot options on 2.6.16-rc1-mm2.\n\nSigned-off-by: Nate Diller \u003cnate.diller@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "b7bfcf7cbd58d2a64aa46f3b4bec921e346e604f",
      "tree": "e81e63cf1d7af208dc3ea996a417b528a6a8c0e1",
      "parents": [
        "752a3b79630a290cbbe4731e7c61b75d4fbebc5c"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Mon Jan 16 09:48:58 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Mon Jan 16 09:48:58 2006 +0100"
      },
      "message": "[BLOCK] elevator: if specified scheduler is not found, fall back to default\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "752a3b79630a290cbbe4731e7c61b75d4fbebc5c",
      "tree": "21d1a7494890dce0903bf9e45ca6ec5059b6d739",
      "parents": [
        "5a225791374dca35bba871a007c78a3d0b14b559"
      ],
      "author": {
        "name": "Chuck Ebbert",
        "email": "76306.1226@compuserve.com",
        "time": "Mon Jan 16 09:47:37 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Mon Jan 16 09:47:37 2006 +0100"
      },
      "message": "[BLOCK] elevator: Make elevator\u003das work again for anticipatory\n\nSigned-off-by: Chuck Ebbert \u003c76306.1226@compuserve.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "1bc691d357c646700b9523d2aeca02847d3fb3f4",
      "tree": "430e13982f894c44e4a33dee188b3c718ec989ed",
      "parents": [
        "593195f9b2309693f27b402f34573f7920b82c3e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jan 12 15:39:26 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jan 12 09:05:39 2006 -0800"
      },
      "message": "[PATCH] fix queue stalling while barrier sequencing\n\nIf ordered tag isn\u0027t supported, request ordering for barrier\nsequencing is performed by queue draining, which basically hangs the\nrequest queue until elv_completed_request() reports completion of all\nprevious fs requests.\n\nThe condition check in elv_completed_request() was only performed for\nfs requests.  If a special request is queued between the last\nto-be-drained request and the barrier sequence, draining is never\ncompleted and the queue is stalled forever.\n\nThis patch moves the end-of-draining condition check such that it\u0027s\nperformed for all requests.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "769db45b73896a88d6b40e3e648dfc50a155ec93",
      "tree": "773ffec86ddf1ab3ddaf1de5959ec3b94807e395",
      "parents": [
        "1abee6d2d1b6366df96fce1d43eefd1819e1b055"
      ],
      "author": {
        "name": "Coywolf Qi Hunt",
        "email": "qiyong@fc-cn.com",
        "time": "Wed Dec 28 10:55:49 2005 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Mon Jan 09 14:44:15 2006 +0100"
      },
      "message": "make elv_try_merge() static, kill the dead declaration of\n\nelv_try_last_merge().\n\nSigned-off-by: Coywolf Qi Hunt \u003cqiyong@fc-cn.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\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": "eb97b73d75d5c9af7c78c05106de9e3fdc4455ab",
      "tree": "b5e87f732a72cb3cdff96f7116906ed6a2f9643e",
      "parents": [
        "811803c5572b296e0031e0099203de90d77c7bcf"
      ],
      "author": {
        "name": "Coywolf Qi Hunt",
        "email": "qiyong@fc-cn.com",
        "time": "Wed Nov 16 15:27:24 2005 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri Nov 18 21:59:31 2005 +0100"
      },
      "message": "[BLOCK] new block/ directory comment tidy\n\nSome leftover comments referring to drivers/block that are now block/.\nThey don\u0027t add any information we don\u0027t already have, so kill them.\n\nSigned-off-by: Coywolf Qi Hunt \u003cqiyong@fc-cn.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "3beb2077125d8457118140653e75efc998ac6630",
      "tree": "130dd33c810471790554d21eab32f5f859715fd7",
      "parents": [
        "5a7c47eefb31f6b4982add7473ef3e551b058ea4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Nov 10 18:22:36 2005 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Nov 12 10:57:05 2005 +0100"
      },
      "message": "[BLOCK] elevator: elv_latter/former_request update\n\nWith generic dispatch queue update, implicit former/latter request\nhandling using rq-\u003equeuelist.prev/next doesn\u0027t work as expected\nanymore.  Also, the only iosched dependent on this feature was\nnoop-iosched and it has been reimplemented to have its own\nlatter/former methods.  This patch removes implicit former/latter\nhandling.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "be56123568072d223263a6a70a087d1e7faabb83",
      "tree": "e6044bff3c9dba3392dfe1a4b172d87081d55334",
      "parents": [
        "15853af9f07673680439b224519c692f1352b959"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Nov 10 08:55:01 2005 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Nov 12 10:56:21 2005 +0100"
      },
      "message": "[BLOCK] fix string handling in elv_iosched_store\n\nelv_iosched_store doesn\u0027t terminate string passed from userspace if\nit\u0027s too long.  Also, if the written length is zero (probably not\npossible), it accesses elevator_name[-1].  This patch fixes both bugs.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\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": "407df2aa29a33fe16f6ee4bac8cdfa414783b9f1",
      "tree": "137e536d79e9fc777adc8c5bde842fea8b53d88a",
      "parents": [
        "47a004103d663bbba8c7c433a710a86f44351cf3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Nov 10 08:48:21 2005 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Nov 12 10:55:37 2005 +0100"
      },
      "message": "[BLOCK] elevator: run queue in elevator_switch\n\nelevator_dispatch needs to run queue after forced dispatching;\notherwise, the queue might stall.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "cff3ba2204a0797b05150a4b2b7f40a55023d952",
      "tree": "56d3527958ec1aee1f2c0b185134883095175012",
      "parents": [
        "b8ea2cb5120a92fe63053a2896be42abbb919a76"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Wed Nov 09 13:24:20 2005 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Nov 12 10:55:05 2005 +0100"
      },
      "message": "[BLOCK] elevator init fixes #2\n\nIn addition to the first patch, which is probably goodness, I found the\ncause of my panic - applying this patch fixes it and now I am booting.\nIf the chosen_elevator[] is not found, fall back to noop.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "b8ea2cb5120a92fe63053a2896be42abbb919a76",
      "tree": "edbe103c6c5c2fe971ee270d8b0e3ae7dab8af83",
      "parents": [
        "cd52d1ee9a92587b242d946a2300a3245d3b885a"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Wed Nov 09 13:23:01 2005 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Nov 12 10:54:48 2005 +0100"
      },
      "message": "[BLOCK] elevator init fixes\n\nI got a panic in the elevator code, backtrace :\n\nUnable to handle kernel NULL pointer dereference at virtual address 00000060\n..\nEIP is at elevator_put+0x0/0x30 (null elevator_type passed)\n..\nelevator_init+0x38\nblk_init_queu_node+0xc9\nfloppy_init+0xdb\ndo_initcalls+0x23\ninit+0x10a\ninit+0x0\n\nClearly if the kmalloc here fails, e-\u003eelevator_type is not yet set; this\nappears to be the correct fix, but I think I probably hit the second case\ndue to a race condition.  Someone more familiar with the elevator code\nshould look at this more closely until I can determine if I can reproduce.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "3a65dfe8c088143c7155cfd36a72f4b0ad2fc4b2",
      "tree": "db930c9f71f94d3ee674f65e38c38e95ca97227e",
      "parents": [
        "0f3278d14f0255e4cd9e07ccefc33ff12d8bb59c"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Nov 04 08:43:35 2005 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Nov 04 08:43:35 2005 +0100"
      },
      "message": "[BLOCK] Move all core block layer code to new block/ directory\n\ndrivers/block/ is right now a mix of core and driver parts. Lets move\nthe core parts to a new top level directory. Al will move the fs/\nrelated block parts to block/ next.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "ca23509fbaac0ea662ab0e287bebb72f743f9e1f",
      "tree": "b87f06d928e0ea06ae6244c1aeecf3e745f39bb9",
      "parents": [
        "6c2af71f7f6ac10ab45e9461e1dd7aa09079643a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Nov 01 17:23:49 2005 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Nov 01 21:58:06 2005 -0800"
      },
      "message": "[PATCH] blk: fix dangling pointer access in __elv_add_request\n\ncfq\u0027s add_req_fn callback may invoke q-\u003erequest_fn directly and\ndepending on low-level driver used and timing, a queued request may be\nfinished \u0026 deallocated before add_req_fn callback returns.  So,\n__elv_add_request must not access rq after it\u0027s passed to add_req_fn\ncallback.\n\nThis patch moves rq_mergeable test above add_req_fn().  This may\nresult in q-\u003elast_merge pointing to REQ_NOMERGE request if add_req_fn\ncallback sets it but as RQ_NOMERGE is checked again when blk layer\nactually tries to merge requests, this does not cause any problem.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2ca7d93bb27876e5fd4ebfcb3b00627107bdad4d",
      "tree": "db3dbc868db28f9983ce99911ee7795042fba502",
      "parents": [
        "3fa63c7d82ab9a12a5d0a299069f8df9f35aa011"
      ],
      "author": {
        "name": "Nate Diller",
        "email": "nate@namesys.com",
        "time": "Sun Oct 30 15:02:24 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:20 2005 -0800"
      },
      "message": "[PATCH] block cleanups: Fix iosched module refcount leak\n\nIf the requested I/O scheduler is already in place, elevator_switch simply\nleaves the queue alone, and returns.  However, it forgets to call\nelevator_put, so\n\n\u0027echo [current_sched] \u003e /sys/block/[dev]/queue/scheduler\u0027\n\nwill leak a reference, causing the current_sched module to be permanently\npinned in memory.\n\nSigned-off-by: Nate Diller \u003cnate@namesys.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": "131dda7f8965a6b794dcde1d84f3ba5951a4d641",
      "tree": "604154c55cf0077b128ddb15d7bb99c0bccad4ce",
      "parents": [
        "6dd69f1061bfdeca230509b173438e0731bff767"
      ],
      "author": {
        "name": "Nate Diller",
        "email": "nate@namesys.com",
        "time": "Sun Oct 30 15:02:19 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:20 2005 -0800"
      },
      "message": "[PATCH] block cleanups: Add kconfig default iosched submenu\n\nAdd a kconfig submenu to select the default I/O scheduler, in case\nanticipatory is not compiled in or another default is preferred.  Also,\nsince no-op is always available, we should use it whenever the selected\ndefault is not.\n\nSigned-off-by: Nate Diller \u003cnate@namesys.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": "83521d3eb8dd2dfb04dd78b4733e9766f61bb47e",
      "tree": "e372f6bef5205c12024512f3b1df5a76df7f0fba",
      "parents": [
        "a8db2db1e6a8d323d87a67c5391d48fe2b97faf5"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sun Oct 30 15:01:39 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:17 2005 -0800"
      },
      "message": "[PATCH] cfq-iosched: move tasklist walk to elevator.c\n\nWe\u0027re trying to get rid of as much as possible tasklist walks, or at\nleast moving them to core code.  This patch falls into the second\ncategory.\n\nInstead of walking the tasklist in cfq-iosched move that into\nelv_unregister.  The added benefit is that with this change the as\nioscheduler might be might unloadable more easily aswell.\n\nThe new code uses read_lock instead of read_lock_irq because the\ntasklist_lock only needs irq disabling for writers.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.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": "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": "0ee40c6628434f0535da31deeacc28b61e80d810",
      "tree": "2873b9c932a63943fad22617b8385866e45347f5",
      "parents": [
        "236fa08168dd82af29a76c31c40b4148403774c0",
        "2824bc9328467127083c1325f54b67d298c333b2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 28 08:53:00 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 28 08:53:00 2005 -0700"
      },
      "message": "Merge branch \u0027for-linus\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": "772eca7825358f52cf208afd7ab8ce22722ce41a",
      "tree": "682daf64192f8753517e35a5683ac521583d107d",
      "parents": [
        "64521d1a3ba7cc7fe4ab5640da83d88144f05340"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Oct 28 09:01:17 2005 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Oct 28 09:01:17 2005 +0200"
      },
      "message": "[BLOCK] Leftover reference to -\u003emax_back_kb\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\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": "d9ebb192aa13a026edc6faff137dcb14f2c91731",
      "tree": "cbe0fa0baec9c06157e9c95370ff3f04384e253c",
      "parents": [
        "1b47f531e244e339b648dfff071c086f936e49e1"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Oct 20 16:37:38 2005 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri Oct 28 08:44:52 2005 +0200"
      },
      "message": "[PATCH] elevator: leftover function declaration\n\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": "2824bc9328467127083c1325f54b67d298c333b2",
      "tree": "0d19aeb555c35ddbdbcf195b976964523fecc404",
      "parents": [
        "b2982649ce38293b14684b26bcda20cfc54164e6"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Oct 20 10:56:41 2005 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri Oct 28 08:15:58 2005 +0200"
      },
      "message": "[PATCH] fix try_module_get race in elevator_find\n\nThis patch removes try_module_get race in elevator_find.\ntry_module_get should always be called with the spinlock protecting\nwhat the module init/cleanup routines register/unregister to held. In\nthe case of elevators, we should be holding elv_list to avoid it going\naway between spin_unlock_irq and try_module_get.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\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": "3237ee78fc00f786d5f5aec6f9310b0e39069f15",
      "tree": "4c94e70ab846ffcb8bb5715fb3c8d8473358a323",
      "parents": [
        "9ee1c939d1cb936b1f98e8d81aeffab57bae46ab",
        "df0ae2497ddefd72a87f3a3b34ff32455d7d4ae0"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "jejb@titanic.(none)",
        "time": "Fri Jun 17 18:42:23 2005 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@titanic.(none)",
        "time": "Fri Jun 17 18:42:23 2005 -0500"
      },
      "message": "merge by hand (fix up qla_os.c merge error)\n"
    },
    {
      "commit": "c374f127e4ff17a318b9ae95a5bf65f370c2d0b1",
      "tree": "d1e42b31f9a66582096e9548fc90cc069d6f39e2",
      "parents": [
        "9c56187d3c345cc0e7a2f162b8c32543175d7bf7"
      ],
      "author": {
        "name": "Tejun Heo ",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 16 12:57:31 2005 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Jun 16 12:57:31 2005 +0200"
      },
      "message": " This patch fixes q-\u003eunplug_thresh condition check in\n__elv_add_request().  rq.count[READ] + rq.count[WRITE] can increase\nmore than one if another thread has allocated a request after the\ncurrent request is allocated or in_flight could have changed resulting\nin larger-than-one change of nrq, thus breaking the threshold\nmechanism.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n\n\n"
    },
    {
      "commit": "9c56187d3c345cc0e7a2f162b8c32543175d7bf7",
      "tree": "709155ae306690634da0261bb2a1887e10bd6db1",
      "parents": [
        "bcfff0b471a60df350338bcd727fc9b8a6aa54b2"
      ],
      "author": {
        "name": "Tejun Heo ",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 16 12:56:15 2005 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Jun 16 12:56:15 2005 +0200"
      },
      "message": "This patch kills elevator_global_init() in elevator.c which does\nnothing.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "2e759cd4fa60c6df4cb117848274f444c2c0a12d",
      "tree": "973c2fd1725208de2d0a0ccd99b9fadd93a845fc",
      "parents": [
        "354d6b2196c8e53e55e8f169804256ab9c72731d"
      ],
      "author": {
        "name": "Tejun Heo ",
        "email": "htejun@gmail.com",
        "time": "Sun Apr 24 02:04:21 2005 -0500"
      },
      "committer": {
        "name": "James Bottomley ",
        "email": "jejb@mulgrave.(none)",
        "time": "Fri May 20 12:53:26 2005 -0500"
      },
      "message": "[SCSI] make blk layer set REQ_SOFTBARRIER on defer and requeue\n\nThis is the reworked version of the patch.  It sets REQ_SOFTBARRIER\nin two places - in elv_next_request() on BLKPREP_DEFER and in\nblk_requeue_request().\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\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"
    }
  ]
}
