)]}'
{
  "log": [
    {
      "commit": "3bc217ffe6774e7971d6a7ce6350ce806ebab044",
      "tree": "b1ccad14a0c23f12248092feb867d2e311db59f0",
      "parents": [
        "8bdd3f8a6993fef2f364aca6e1a59559405773a2"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 01 11:34:49 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 01 11:34:49 2008 +0100"
      },
      "message": "block: kill swap_io_context()\n\nIt blindly copies everything in the io_context, including the lock.\nThat doesn\u0027t work so well for either lock ordering or lockdep.\n\nThere seems zero point in swapping io contexts on a request to request\nmerge, so the best point of action is to just remove it.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "8bdd3f8a6993fef2f364aca6e1a59559405773a2",
      "tree": "cbf07985c3396417932002be5cd5e4f2c47433e9",
      "parents": [
        "4f4f6c2502474f51654a699d7127d86c2f87075a"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 01 09:44:28 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 01 09:44:28 2008 +0100"
      },
      "message": "as-iosched: fix inconsistent ioc-\u003elock context\n\nSince it\u0027s acquired from irq context, all locking must be of the\nirq safe variant. Most are already inside the queue lock (which\nalready disables interrupts), but the io scheduler rmmod path\nalways has irqs enabled and the put_io_context() path may legally\nbe called with irqs enabled (even if it isn\u0027t usually). So fixup\nthose two.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "4eb166d9874b4917d79ccd14577a60d795a0cb4a",
      "tree": "b29e657c7f07ad4a0f852bc4803404a7b15bd4ef",
      "parents": [
        "fe094d98e79351344c9e0e2c1446794240d247a4"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 01 00:37:27 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 01 09:26:33 2008 +0100"
      },
      "message": "block: make elevator lib checkpatch compliant\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "fe094d98e79351344c9e0e2c1446794240d247a4",
      "tree": "6ca11d4d0c2b0c338159b02a412c8bb9fd08f2a6",
      "parents": [
        "6728cb0e6343d4068ccec13f07212e6382d3ff33"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jan 31 13:08:54 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 01 09:26:33 2008 +0100"
      },
      "message": "cfq-iosched: make checkpatch compliant\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6728cb0e6343d4068ccec13f07212e6382d3ff33",
      "tree": "5a7826dc91cf2d9cf54e8c24b40aa3c4d892c797",
      "parents": [
        "22b132102f1540dd40f3e41df88796829b685f1a"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jan 31 13:03:55 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 01 09:26:33 2008 +0100"
      },
      "message": "block: make core bits checkpatch compliant\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "22b132102f1540dd40f3e41df88796829b685f1a",
      "tree": "20edc8316009b946ebd197b7aef7ccc041d02798",
      "parents": [
        "640e248e44e2c550473550ca83668ceccad21dce"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jan 31 12:36:19 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 01 09:26:33 2008 +0100"
      },
      "message": "block: new end request handling interface should take unsigned byte counts\n\nNo point in passing signed integers as the byte count, they can never\nbe negative.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "40f620286dd08e29c995ca631f45e8d03f4fe1be",
      "tree": "9bdfd55ad3a149bdcb1ede9bf452f32118214aea",
      "parents": [
        "3d9dd6eef888658d26ebea0cc24d15d2a93ab015"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Jan 25 20:05:55 2008 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 30 13:14:26 2008 -0600"
      },
      "message": "[SCSI] bsg: copy the cmd_type field to the subordinate request for bidi\n\nThis fixes a problem in SCSI where we use the (previously\nuninitialised) cmd_type via blk_pc_request() to set up the transfer in\nscsi_init_sgtable().\n\nAcked-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "149a051f82d2b3860fe32fa182dbc83a66274894",
      "tree": "4ca660bb2ee8ac25661a38587d785cd9f78b2125",
      "parents": [
        "5b10ca19ea4859d3884d10a3eb8495de92089792"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 22:25:18 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Jan 30 09:11:10 2008 +0100"
      },
      "message": "as-iosched: fix double locking bug in as_merged_requests()\n\nIf the two requests belong to the same io context, we will attempt\nto lock the same lock twice. But swapping contexts is pointless in\nthat case, so just check for rioc \u003d\u003d nioc before doing the double\nlock and copy.\n\nTested-by: Olof Johansson \u003colof@lixom.net\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "12f32bb31772e72d8cf52a29f961561bccc54c37",
      "tree": "461dc5d9008e4799fe78eed4d2c0d29096a60345",
      "parents": [
        "e7d9dc9cfd9bcc9ca688fe7f94c0da7d0700bfe6"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Tue Jan 29 20:57:51 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 21:55:19 2008 +0100"
      },
      "message": "block: constify function pointer tables\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e68b903c6b2b88c60050675b056648468f33ab54",
      "tree": "6622d232adae87af15a9e42e024b513012e59d2b",
      "parents": [
        "7da975a231ae8c11593fd79d1083215321be213a"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Tue Jan 29 19:14:08 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 21:55:17 2008 +0100"
      },
      "message": "Expose hardware sector size\n\nExpose hardware sector size in sysfs queue directory.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d6d48196961729b79509dcaeeb0f0fb4fbb47d29",
      "tree": "e80f5cdc7f0d682a46b816f5a489357f7d622d62",
      "parents": [
        "db1d08c646e47f3c7835ecdabb51a906ec311f69"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 14:04:06 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 21:55:12 2008 +0100"
      },
      "message": "block: ll_rw_blk.c split, add blk-merge.c\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "db1d08c646e47f3c7835ecdabb51a906ec311f69",
      "tree": "3760cfe0f210d072d8750dfa7c29a43f1673604e",
      "parents": [
        "26b8256e2bb930a8e4d4d10aa74950d8921376b8"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 13:55:40 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 21:55:11 2008 +0100"
      },
      "message": "block: remove dated (and wrong) comment in blk-core.c\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "26b8256e2bb930a8e4d4d10aa74950d8921376b8",
      "tree": "36fc1011aa68526dc1fb5b237e330ca2c27c9939",
      "parents": [
        "86db1e29772372155db08ff48a9ceb76e11a2ad1"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 13:54:41 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 21:55:09 2008 +0100"
      },
      "message": "block: get rid of unnecessary forward declarations in blk-core.c\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "86db1e29772372155db08ff48a9ceb76e11a2ad1",
      "tree": "312f38eb3245873c476c50f816b85610fef9615a",
      "parents": [
        "8324aa91d1e11a1fc25f209687a0b2e6c2ed47d0"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 14:53:40 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 21:55:08 2008 +0100"
      },
      "message": "block: continue ll_rw_blk.c splitup\n\nAdds files for barrier handling, rq execution, io context handling,\nmapping data to requests, and queue settings.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "8324aa91d1e11a1fc25f209687a0b2e6c2ed47d0",
      "tree": "c63753df94b741d328840edabde74462591ca0b3",
      "parents": [
        "a168ee84c90b39ece357da127ab388f2f64db19c"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 14:51:59 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 21:55:07 2008 +0100"
      },
      "message": "block: split tag and sysfs handling from blk-core.c\n\nSeperates the tag and sysfs handling from ll_rw_blk.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a168ee84c90b39ece357da127ab388f2f64db19c",
      "tree": "acb5527d9835c06e4eb2c308850e74db857f7d64",
      "parents": [
        "9bf722598fcd51073974850ae026b44389430ecc"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 14:49:21 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 21:55:05 2008 +0100"
      },
      "message": "block: first step of splitting ll_rw_blk, rename it\n\nThen we retain history in blk-core.c\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "8d01eddf292dcd78b640418c80fb300532799cd4",
      "tree": "dd7f816423463e5ad10f15af22fdbd5b75cc6184",
      "parents": [
        "f0f0052069989b80d2a3e50c9cd2f2a650bc1aea",
        "fa0ccd837e3dddb44c7db2f128a8bb7e4eabc21a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 29 08:51:56 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 29 08:51:56 2008 +1100"
      },
      "message": "Merge branch \u0027for-2.6.25\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.25\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: implement drain buffers\n  __bio_clone: don\u0027t calculate hw/phys segment counts\n  block: allow queue dma_alignment of zero\n  blktrace: Add blktrace ioctls to SCSI generic devices\n"
    },
    {
      "commit": "f0f0052069989b80d2a3e50c9cd2f2a650bc1aea",
      "tree": "40ff39bc341aed8318a54d1bd61a381f41844f71",
      "parents": [
        "68fbda7de07e56eb90dd6e58a162527411b388b1",
        "a65b58663d983e588aed8d1bfc75edaac2527fa7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 29 08:51:32 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 29 08:51:32 2008 +1100"
      },
      "message": "Merge branch \u0027blk-end-request\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027blk-end-request\u0027 of git://git.kernel.dk/linux-2.6-block: (30 commits)\n  blk_end_request: changing xsysace (take 4)\n  blk_end_request: changing ub (take 4)\n  blk_end_request: cleanup of request completion (take 4)\n  blk_end_request: cleanup \u0027uptodate\u0027 related code (take 4)\n  blk_end_request: remove/unexport end_that_request_* (take 4)\n  blk_end_request: changing scsi (take 4)\n  blk_end_request: add bidi completion interface (take 4)\n  blk_end_request: changing ide-cd (take 4)\n  blk_end_request: add callback feature (take 4)\n  blk_end_request: changing ide normal caller (take 4)\n  blk_end_request: changing cpqarray (take 4)\n  blk_end_request: changing cciss (take 4)\n  blk_end_request: changing ide-scsi (take 4)\n  blk_end_request: changing s390 (take 4)\n  blk_end_request: changing mmc (take 4)\n  blk_end_request: changing i2o_block (take 4)\n  blk_end_request: changing viocd (take 4)\n  blk_end_request: changing xen-blkfront (take 4)\n  blk_end_request: changing viodasd (take 4)\n  blk_end_request: changing sx8 (take 4)\n  ...\n"
    },
    {
      "commit": "febffd61816ef6d4f84189468c1d47f1df55921e",
      "tree": "96654c4e1d41bd3f4d5f685eee7dd0a3505e7092",
      "parents": [
        "0871714e08fed7ba66cadad11b2e4f85a9dc9b96"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 13:19:43 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 13:19:43 2008 +0100"
      },
      "message": "cfq-iosched: kill some big inlines\n\nUse of inlines were a bit over the top, trim them down a bit.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0871714e08fed7ba66cadad11b2e4f85a9dc9b96",
      "tree": "3b0bcb433294bb144b778ae97296ad4d8626ad47",
      "parents": [
        "fadad878cc0640cc9cd5569998bf54b693f7b38b"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 11:38:15 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 11:38:15 2008 +0100"
      },
      "message": "cfq-iosched: relax IOPRIO_CLASS_IDLE restrictions\n\nCurrently you must be root to set idle io prio class on a process. This\nis due to the fact that the idle class is implemented as a true idle\nclass, meaning that it will not make progress if someone else is\nrequesting disk access. Unfortunately this means that it opens DOS\nopportunities by locking down file system resources, hence it is root\nonly at the moment.\n\nThis patch relaxes the idle class a little, by removing the truly idle\npart (which entals a grace period with associated timer). The\nmodifications make the idle class as close to zero impact as can be done\nwhile still guarenteeing progress. This means we can relax the root only\ncriteria as well.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "fa0ccd837e3dddb44c7db2f128a8bb7e4eabc21a",
      "tree": "ade071502f3e7cba423295890d828f0f301ad731",
      "parents": [
        "5d84070ee0a433620c57e85dac7f82faaec5fbb3"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Thu Jan 10 11:30:36 2008 -0600"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:54:11 2008 +0100"
      },
      "message": "block: implement drain buffers\n\nThese DMA drain buffer implementations in drivers are pretty horrible\nto do in terms of manipulating the scatterlist.  Plus they\u0027re being\ndone at least in drivers/ide and drivers/ata, so we now have code\nduplication.\n\nThe one use case for this, as I understand it is AHCI controllers doing\nPIO mode to mmc devices but translating this to DMA at the controller\nlevel.\n\nSo, what about adding a callback to the block layer that permits the\nadding of the drain buffer for the problem devices.  The idea is that\nyou\u0027d do this in slave_configure after you find one of these devices.\n\nThe beauty of doing it in the block layer is that it quietly adds the\ndrain buffer to the end of the sg list, so it automatically gets mapped\n(and unmapped) without anything unusual having to be done to the\nscatterlist in driver/scsi or drivers/ata and without any alteration to\nthe transfer length.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "521f3bbdba6b92582ef8047df01b156668343542",
      "tree": "5984f76e395b10cc2463eae35c575d1b4aad13ce",
      "parents": [
        "4ac845a2e9a816ed5a7b301f56dcc0a3d0b1ba4d"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 21 20:03:12 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:50:35 2008 +0100"
      },
      "message": "io_context sharing - anticipatory changes\n\nchanges to anticipatory io scheduler for io_context sharing\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "4ac845a2e9a816ed5a7b301f56dcc0a3d0b1ba4d",
      "tree": "602f15808d0f3dcdfcd7cc4491b2cc2ccd266fd2",
      "parents": [
        "66dac98ed0de7a1125fb0dd7907f238f6b9d2f60"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jan 24 08:44:49 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:50:33 2008 +0100"
      },
      "message": "block: cfq: make the io contect sharing lockless\n\nThe io context sharing introduced a per-ioc spinlock, that would protect\nthe cfq io context lookup. That is a regression from the original, since\nwe never needed any locking there because the ioc/cic were process private.\n\nThe cic lookup is changed from an rbtree construct to a radix tree, which\nwe can then use RCU to make the reader side lockless. That is the performance\ncritical path, modifying the radix tree is only done on process creation\n(when that process first does IO, actually) and on process exit (if that\nprocess has done IO).\n\nAs it so happens, radix trees are also much faster for this type of\nlookup where the key is a pointer. It\u0027s a very sparse tree.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "66dac98ed0de7a1125fb0dd7907f238f6b9d2f60",
      "tree": "321184ce78e41f2cf25c3154fe320dd5504f57bc",
      "parents": [
        "d38ecf935fcb10264a6bc190855d9595165e6eeb"
      ],
      "author": {
        "name": "Nikanth Karthikesan",
        "email": "KNikanth@novell.com",
        "time": "Tue Nov 27 12:47:04 2007 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:50:32 2008 +0100"
      },
      "message": "io_context sharing - cfq changes\n\nchanges in the cfq for io_context sharing\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d38ecf935fcb10264a6bc190855d9595165e6eeb",
      "tree": "64e3146ef76678ad3ae8f75c32df9f25ea470953",
      "parents": [
        "fd0928df98b9578be8a786ac0cb78a47a5e17a20"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jan 24 08:53:35 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:50:31 2008 +0100"
      },
      "message": "io context sharing: preliminary support\n\nDetach task state from ioc, instead keep track of how many processes\nare accessing the ioc.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "fd0928df98b9578be8a786ac0cb78a47a5e17a20",
      "tree": "70a34cf207bea1bec28e59cf0dba7d20e7f8b0f1",
      "parents": [
        "91525300baf162e83e923b09ca286f9205e21522"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jan 24 08:52:45 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:50:29 2008 +0100"
      },
      "message": "ioprio: move io priority from task_struct to io_context\n\nThis is where it belongs and then it doesn\u0027t take up space for a\nprocess that doesn\u0027t do IO.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b8286239ddaf2632cec65c01e68a403ac4c3d079",
      "tree": "fe8b8ac09d103612525566d5851907a09f99594f",
      "parents": [
        "5450d3e1d68f10be087f0855d8bad5458b50ecbe"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Tue Dec 11 17:53:24 2007 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:37:15 2008 +0100"
      },
      "message": "blk_end_request: cleanup of request completion (take 4)\n\nThis patch merges complete_request() into end_that_request_last()\nfor cleanup.\n\ncomplete_request() was introduced by earlier part of this patch-set,\nnot to break the existing users of end_that_request_last().\n\nSince all users are converted to blk_end_request interfaces and\nend_that_request_last() is no longer exported, the code can be\nmerged to end_that_request_last().\n\nCc: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5450d3e1d68f10be087f0855d8bad5458b50ecbe",
      "tree": "400126ac131621229c49c549f27838fcf3a263e7",
      "parents": [
        "3bcddeac1c4c7e6fb90531b80f236b1a05dfe514"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Tue Dec 11 17:53:03 2007 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:37:13 2008 +0100"
      },
      "message": "blk_end_request: cleanup \u0027uptodate\u0027 related code (take 4)\n\nThis patch converts \u0027uptodate\u0027 arguments of no longer exported\ninterfaces, end_that_request_first/last, to \u0027error\u0027, and removes\ninternal conversions for it in blk_end_request interfaces.\n\nAlso, this patch removes no longer needed end_io_error().\n\nCc: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3bcddeac1c4c7e6fb90531b80f236b1a05dfe514",
      "tree": "68e1f33b8176ff00552b1df92d16c23c28b0ecf2",
      "parents": [
        "610d8b0c972e3b75493efef8e96175518fd736d3"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Tue Dec 11 17:52:28 2007 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:37:12 2008 +0100"
      },
      "message": "blk_end_request: remove/unexport end_that_request_* (take 4)\n\nThis patch removes the following functions:\n  o end_that_request_first()\n  o end_that_request_chunk()\nand stops exporting the functions below:\n  o end_that_request_last()\n\nCc: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e3a04fe34a3ec81ddeddb6c73fb7299716cffbb0",
      "tree": "080d1ec1cc3d78b3aef4e95f5334f5b4c3da3498",
      "parents": [
        "aaa04c28cb9a1efd42541fdb7ab648231c2a2263"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Tue Dec 11 17:51:46 2007 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:37:08 2008 +0100"
      },
      "message": "blk_end_request: add bidi completion interface (take 4)\n\nThis patch adds a variant of the interface, blk_end_bidi_request(),\nwhich completes a bidi request.\n\nBidi request must be completed as a whole, both rq and rq-\u003enext_rq\nat once.  So the interface has 2 arguments for completion size.\n\nAs for -\u003eend_io, only rq-\u003eend_io is called (rq-\u003enext_rq-\u003eend_io is not\ncalled).  So if special completion handling is needed, the handler\nmust be set to rq-\u003eend_io.\nAnd the handler must take care of freeing next_rq too, since\nthe interface doesn\u0027t care of it if rq-\u003eend_io is not NULL.\n\nCc: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e19a3ab058fe91c8c54d43dc56dccf7eb386478e",
      "tree": "f62d5af2338484e8a3eec1dc453dec4f949024a7",
      "parents": [
        "5e36bb6ee8d5ff6c6114b60d2aaa1c70d4275f4e"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Tue Dec 11 17:51:02 2007 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:37:04 2008 +0100"
      },
      "message": "blk_end_request: add callback feature (take 4)\n\nThis patch adds a variant of the interface, blk_end_request_callback(),\nwhich has driver callback feature.\n\nDrivers may need to do special works between end_that_request_first()\nand end_that_request_last().\nFor such drivers, blk_end_request_callback() allows it to pass\na callback function which is called between end_that_request_first()\nand end_that_request_last().\n\nThis interface is only for fallback of other blk_end_request interfaces.\nDrivers should avoid their tricky behaviors and use other interfaces\nas much as possible.\n\nCurrently, only one driver, ide-cd, needs this interface.\nSo this interface should/will be removed, after the driver removes\nsuch tricky behaviors.\n\no ide-cd (cdrom_newpc_intr())\n  In PIO mode, cdrom_newpc_intr() needs to defer end_that_request_last()\n  until the device clears DRQ_STAT and raises an interrupt after\n  end_that_request_first().\n  So end_that_request_first() and end_that_request_last() are called\n  separately in cdrom_newpc_intr().\n\n  This means blk_end_request_callback() has to return without\n  completing request even if no leftover in the request.\n  To satisfy the requirement, callback function has return value\n  so that drivers can tell blk_end_request_callback() to return\n  without completing request.\n\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "9e6e39f2c478fff2e9d3430cdfe6730877942ed6",
      "tree": "b01b289b331ff899393afcd4651fa75aaec19e1c",
      "parents": [
        "3b11313a6c2a42425bf06e92528bda6affd58dec"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Tue Dec 11 17:41:54 2007 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:35:57 2008 +0100"
      },
      "message": "blk_end_request: changing block layer core (take 4)\n\nThis patch converts core parts of block layer to use blk_end_request\ninterfaces.  Related \u0027uptodate\u0027 arguments are converted to \u0027error\u0027.\n\n\u0027dequeue\u0027 argument was originally introduced for end_dequeued_request(),\nwhere no attempt should be made to dequeue the request as it\u0027s already\ndequeued.\nHowever, it\u0027s not necessary as it can be checked with\nlist_empty(\u0026rq-\u003equeuelist).\n(Dequeued request has empty list and queued request doesn\u0027t.)\nAnd it has been done in blk_end_request interfaces.\n\nAs a result of this patch, end_queued_request() and\nend_dequeued_request() become identical.  A future patch will merge\nand rename them and change users of those functions.\n\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3b11313a6c2a42425bf06e92528bda6affd58dec",
      "tree": "c2d550b2954c106387f1ebe6badb387603002202",
      "parents": [
        "336cdb4003200a90f4fc52a4e9ccc2baa570fffb"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Tue Dec 11 17:41:17 2007 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:35:56 2008 +0100"
      },
      "message": "blk_end_request: add/export functions to get request size (take 4)\n\nThis patch adds/exports functions to get the size of request in bytes.\nThey are useful because blk_end_request interfaces take bytes\nas a completed I/O size instead of sectors.\n\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "336cdb4003200a90f4fc52a4e9ccc2baa570fffb",
      "tree": "dcb7f736738232c0e853a1ba796ca35d5b18c503",
      "parents": [
        "91525300baf162e83e923b09ca286f9205e21522"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Tue Dec 11 17:40:30 2007 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:35:53 2008 +0100"
      },
      "message": "blk_end_request: add new request completion interface (take 4)\n\nThis patch adds 2 new interfaces for request completion:\n  o blk_end_request()   : called without queue lock\n  o __blk_end_request() : called with queue lock held\n\nblk_end_request takes \u0027error\u0027 as an argument instead of \u0027uptodate\u0027,\nwhich current end_that_request_* take.\nThe meanings of values are below and the value is used when bio is\ncompleted.\n    0 : success\n  \u003c 0 : error\n\nSome device drivers call some generic functions below between\nend_that_request_{first/chunk} and end_that_request_last().\n  o add_disk_randomness()\n  o blk_queue_end_tag()\n  o blkdev_dequeue_request()\nThese are called in the blk_end_request interfaces as a part of\ngeneric request completion.\nSo all device drivers become to call above functions.\nTo decide whether to call blkdev_dequeue_request(), blk_end_request\nuses list_empty(\u0026rq-\u003equeuelist) (blk_queued_rq() macro is added for it).\nSo drivers must re-initialize it using list_init() or so before calling\nblk_end_request if drivers use it for its specific purpose.\n(Currently, there is no driver which completes request without\n re-initializing the queuelist after used it.  So rq-\u003equeuelist\n can be used for the purpose above.)\n\n\"Normal\" drivers can be converted to use blk_end_request()\nin a standard way shown below.\n\n a) end_that_request_{chunk/first}\n    spin_lock_irqsave()\n    (add_disk_randomness(), blk_queue_end_tag(), blkdev_dequeue_request())\n    end_that_request_last()\n    spin_unlock_irqrestore()\n    \u003d\u003e blk_end_request()\n\n b) spin_lock_irqsave()\n    end_that_request_{chunk/first}\n    (add_disk_randomness(), blk_queue_end_tag(), blkdev_dequeue_request())\n    end_that_request_last()\n    spin_unlock_irqrestore()\n    \u003d\u003e spin_lock_irqsave()\n       __blk_end_request()\n       spin_unlock_irqsave()\n\n c) spin_lock_irqsave()\n    (add_disk_randomness(), blk_queue_end_tag(), blkdev_dequeue_request())\n    end_that_request_last()\n    spin_unlock_irqrestore()\n    \u003d\u003e blk_end_request()   or   spin_lock_irqsave()\n                                __blk_end_request()\n                                spin_unlock_irqrestore()\n\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6da127ad0918f93ea93678dad62ce15ffed18797",
      "tree": "b2bf9ad228f18c643342ad376136d2f6b4be4137",
      "parents": [
        "91525300baf162e83e923b09ca286f9205e21522"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Fri Jan 11 10:09:43 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:04:46 2008 +0100"
      },
      "message": "blktrace: Add blktrace ioctls to SCSI generic devices\n\nSince the SCSI layer uses the request queues from the block layer, blktrace can\nalso be used to trace the requests to all SCSI devices (like SCSI tape drives),\nnot only disks. The only missing part is the ioctl interface to start and stop\ntracing.\n\nThis patch adds the SETUP, START, STOP and TEARDOWN ioctls from blktrace to the\nsg device files. With this change, blktrace can be used for SCSI devices like\nfor disks, e.g.: blktrace -d /dev/sg1 -o - | blkparse -i -\n\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "9b73e76f3cf63379dcf45fcd4f112f5812418d0a",
      "tree": "4e6bef87cd0cd6d848fc39a5ae25b981dbbe035b",
      "parents": [
        "50d9a126240f9961cfdd063336bbeb91f77a7dce",
        "23c3e290fb9ce38cabc2822b47583fc8702411bf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 17:19:08 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 17:19:08 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (200 commits)\n  [SCSI] usbstorage: use last_sector_bug flag universally\n  [SCSI] libsas: abstract STP task status into a function\n  [SCSI] ultrastor: clean up inline asm warnings\n  [SCSI] aic7xxx: fix firmware build\n  [SCSI] aacraid: fib context lock for management ioctls\n  [SCSI] ch: remove forward declarations\n  [SCSI] ch: fix device minor number management bug\n  [SCSI] ch: handle class_device_create failure properly\n  [SCSI] NCR5380: fix section mismatch\n  [SCSI] sg: fix /proc/scsi/sg/devices when no SCSI devices\n  [SCSI] IB/iSER: add logical unit reset support\n  [SCSI] don\u0027t use __GFP_DMA for sense buffers if not required\n  [SCSI] use dynamically allocated sense buffer\n  [SCSI] scsi.h: add macro for enclosure bit of inquiry data\n  [SCSI] sd: add fix for devices with last sector access problems\n  [SCSI] fix pcmcia compile problem\n  [SCSI] aacraid: add Voodoo Lite class of cards.\n  [SCSI] aacraid: add new driver features flags\n  [SCSI] qla2xxx: Update version number to 8.02.00-k7.\n  [SCSI] qla2xxx: Issue correct MBC_INITIALIZE_FIRMWARE command.\n  ...\n"
    },
    {
      "commit": "f9cb074bff8e762ef24c44678a5a7d907f82fbeb",
      "tree": "50438fc90b8f6170dd8eb5d43712c61719a16304",
      "parents": [
        "e1543ddf739b22a8c4218716ad50c26b3e147403"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Dec 17 23:05:35 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:38 2008 -0800"
      },
      "message": "Kobject: rename kobject_init_ng() to kobject_init()\n\nNow that the old kobject_init() function is gone, rename\nkobject_init_ng() to kobject_init() to clean up the namespace.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b2d6db5878a0832659ed58476357eea2db915550",
      "tree": "c7c9e98431078ca7b0405e8003bd905ab62df7c4",
      "parents": [
        "9e7bbccd0290e720e0874443932869c55f63d5a8"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Dec 17 23:05:35 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:38 2008 -0800"
      },
      "message": "Kobject: rename kobject_add_ng() to kobject_add()\n\nNow that the old kobject_add() function is gone, rename kobject_add_ng()\nto kobject_add() to clean up the namespace.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d5a379f77bc79c0a78b26f8c0159f55c8b11d68b",
      "tree": "36814a65e6bae96787137e06e8c56679fe66a725",
      "parents": [
        "29e3dd0df1b9556170ce90484a9d1a2ff9104ea7"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Dec 17 23:05:35 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:36 2008 -0800"
      },
      "message": "Kobject: convert block/ll_rw_blk.c to use kobject_init/add_ng()\n\nThis converts the code to use the new kobject functions, cleaning up the\nlogic in doing so.\n\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "29e3dd0df1b9556170ce90484a9d1a2ff9104ea7",
      "tree": "63552639fe2c05e96fdc5a02f234b10ec78866f5",
      "parents": [
        "edfaa7c36574f1bf09c65ad602412db9da5f96bf"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Dec 17 23:05:35 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:36 2008 -0800"
      },
      "message": "Kobject: convert block/elevator.c to use kobject_init/add_ng()\n\nThis converts the code to use the new kobject functions, cleaning up the\nlogic in doing so.\n\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "edfaa7c36574f1bf09c65ad602412db9da5f96bf",
      "tree": "d591b80ff9229e4845e41d68e2f4c5aadb017027",
      "parents": [
        "09f82ea92822a7bbb7e816508abbda47ed54a77f"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Mon May 21 22:08:01 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:36 2008 -0800"
      },
      "message": "Driver core: convert block from raw kobjects to core devices\n\nThis moves the block devices to /sys/class/block. It will create a\nflat list of all block devices, with the disks and partitions in one\ndirectory. For compatibility /sys/block is created and contains symlinks\nto the disks.\n\n  /sys/class/block\n  |-- sda -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda\n  |-- sda1 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda1\n  |-- sda10 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda10\n  |-- sda5 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda5\n  |-- sda6 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda6\n  |-- sda7 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda7\n  |-- sda8 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda8\n  |-- sda9 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda9\n  `-- sr0 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sr0\n\n  /sys/block/\n  |-- sda -\u003e ../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda\n  `-- sr0 -\u003e ../devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sr0\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "830d3cfb16728e2496edc2985ad8f68025135e37",
      "tree": "11541c0ac058745a2ab4269b84669a8341ece7ce",
      "parents": [
        "c60b71787982cefcf9fa09aa281fa8c4c685d557"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Nov 06 10:36:58 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:23 2008 -0800"
      },
      "message": "kset: convert block_subsys to use kset_create\n\nDynamically create the kset instead of declaring it statically.  We also\nrename block_subsys to block_kset to catch all users of this symbol\nwith a build error instead of an easy-to-ignore build warning.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3514faca19a6fdc209734431c509631ea92b094e",
      "tree": "f6d102e6dec276f8e8d1044b47c74a02b901554f",
      "parents": [
        "c11c4154e7ff4cebfadad849b1e22689d759c3f4"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Oct 16 10:11:44 2007 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:10 2008 -0800"
      },
      "message": "kobject: remove struct kobj_type from struct kset\n\nWe don\u0027t need a \"default\" ktype for a kset.  We should set this\nexplicitly every time for each kset.  This change is needed so that we\ncan make ksets dynamic, and cleans up one of the odd, undocumented\nassumption that the kset/kobject/ktype model has.\n\nThis patch is based on a lot of help from Kay Sievers.\n\nNasty bug in the block code was found by Dave Young\n\u003chidave.darkstar@gmail.com\u003e\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "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": "2d507a01dac338831266b44ccbb01c69e84606ed",
      "tree": "ec59ce6bc1ec86e93d1683107d41b5dbce0b370a",
      "parents": [
        "2d4b63e1505b317d4253cee3f2970792ec6d41cb"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Dec 29 10:59:53 2007 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Jan 11 18:29:13 2008 -0600"
      },
      "message": "[SCSI] libsas, bsg: pass errors through correctly\n\nCurrently in BSG, errors returned in req-\u003eerrors aren\u0027t passed back to\nthe calling programme (either via SG_IO or via read/write).  Fix this,\nwhile preserving the SCSI convention of returning status in\nreq-\u003eerrors.\n\nNow update libsas to return errors correctly instead of to ignore\nthem.\n\nAcked-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "11a57153e3377ffdf8cfca2eda9a99063f66b957",
      "tree": "ae9090abda695fda0885b189aa234727f2c6e2b4",
      "parents": [
        "2997c8c4a0b179e8b834a7f30ba4323f2c60ccf4"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jan 11 13:37:01 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jan 11 13:37:01 2008 +0100"
      },
      "message": "blktrace: kill the unneeded initcall\n\nIt just inits the mutex, we can do that with DEFINE_MUTEX() instead.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2997c8c4a0b179e8b834a7f30ba4323f2c60ccf4",
      "tree": "319fa1c24c380544233890d6ff480a181bf80e96",
      "parents": [
        "a24eab1ed506f3e0bcbcd3f619558935549d4ace"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 11 13:35:54 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jan 11 13:35:54 2008 +0100"
      },
      "message": "block: fix blktrace timestamps\n\nDavid Dillow reported broken blktrace timestamps. The reason\nis cpu_clock() which is not a global time source.\n\nFix bkltrace timestamps by using ktime_get() like the networking\ncode does for packet timestamps. This also removes a whole lot\nof complexity from bkltrace.c and shrinks the code by 500 bytes:\n\n   text    data     bss     dec     hex filename\n   2888     124      44    3056     bf0 blktrace.o.before\n   2390     116      44    2550     9f6 blktrace.o.after\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2fdd82bd8852ec8ebad5c69c45138da25c6f9273",
      "tree": "ff701ec0a8909fa50b79763a49a4eaada5aa759e",
      "parents": [
        "49565124b13bb16607e7f8fc8fb1d9c5c355a1a3"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Dec 12 18:51:56 2007 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Dec 18 08:29:28 2007 +0100"
      },
      "message": "block: let elv_register() return void\n\nelv_register() always returns 0, and there isn\u0027t anything it does where\nit should return an error (the only error condition is so grave that\nit\u0027s handled with a BUG_ON).\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "49565124b13bb16607e7f8fc8fb1d9c5c355a1a3",
      "tree": "47629c0533b9292f51cc9dc2f37d851e0913b727",
      "parents": [
        "8896f3c039b0834ba695d154299b724ee5710b97"
      ],
      "author": {
        "name": "Aaron Carroll",
        "email": "aaronc@gelato.unsw.edu.au",
        "time": "Wed Dec 05 21:07:07 2007 +1100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Dec 18 08:29:28 2007 +0100"
      },
      "message": "as-iosched: fix write batch start point\n\nNew write batches currently start from where the last one completed.\nWe have no idea where the head is after switching batches, so this\nmakes little sense.  Instead, start the next batch from the request\nwith the earliest deadline in the hope that we avoid a deadline\nexpiry later on.\n\nSigned-off-by: Aaron Carroll \u003caaronc@gelato.unsw.edu.au\u003e\nAcked-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "8896f3c039b0834ba695d154299b724ee5710b97",
      "tree": "d6b42262bea00350d2a2facf914542606e795ae6",
      "parents": [
        "24bb8fb99a062213424d3e88842eb07f693378be"
      ],
      "author": {
        "name": "Aaron Carroll",
        "email": "aaronc@gelato.unsw.edu.au",
        "time": "Wed Dec 05 21:06:50 2007 +1100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Dec 18 08:29:28 2007 +0100"
      },
      "message": "as-iosched: fix incorrect comments\n\nTwo comments refer to deadlines applying to reads only.  This is\nnot the case.\n\nSigned-off-by: Aaron Carroll \u003caaronc@gelato.unsw.edu.au\u003e\nAcked-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "24bb8fb99a062213424d3e88842eb07f693378be",
      "tree": "c9bce1eba2ab11ea06b89776f157fd4793169adc",
      "parents": [
        "c63a1190368771b8207d86c4217ae4afdf1cbd5e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Dec 05 21:28:24 2007 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Dec 18 08:29:28 2007 +0100"
      },
      "message": "block: use jiffies conversion functions in scsi_ioctl.c\n\nUse msecs_to_jiffies() and jiffies_to_msecs() in scsi_ioctl().\nSometimes callers use very large values for e.g. vendor specific media\nclear command and calculation can overflow.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7c9f29b128aab5ac95af553e8d8e0e372647f1d5",
      "tree": "816e62e0ca82f1464f6055d7fc02c44dcfcc7481",
      "parents": [
        "05e5b136459b11cd9559370d5756719e08074fe0"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Nov 27 09:23:51 2007 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Nov 27 09:23:51 2007 +0100"
      },
      "message": "Revert \"ll_rw_blk: temporarily enable max_segments tweaking\"\n\nThis was a temporary debugging thing for sg chaining testing, revert\nit now as it has served its purpose.\n\nThis reverts commit 563063a808de6b2004d5b8a09ddcb6125481f4b2.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c7674030e5eb83d9ba29318fb9b3ccedf84d583e",
      "tree": "cb11cd412c739d2cfcc5d4494ccb0ba8fc8f9920",
      "parents": [
        "8c8d7214d1b35726e950db1f73317e28e827f1cd"
      ],
      "author": {
        "name": "Jerome Marchand",
        "email": "jmarchan@redhat.com",
        "time": "Fri Nov 23 09:17:53 2007 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Nov 27 09:19:40 2007 +0100"
      },
      "message": "block: Fix memory leak in alloc_disk_node()\n\nFix a memory leak in alloc_disk_node(). Don\u0027t forget to free \u0027dkstats\u0027 when the allocation of \u0027part\u0027 failed.\n\nSigned-off-by: Jerome Marchand \u003cjmarchan@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "35fc51e7a5056889421270c1fb63d8ec45fbccf4",
      "tree": "775462a1cc541b5442648343293f50263f5beb45",
      "parents": [
        "8c27eba54970c6ebbb408186e5baa2274435e869"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Wed Nov 21 12:25:41 2007 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Nov 27 09:19:39 2007 +0100"
      },
      "message": "blktrace: Make sure BLKTRACETEARDOWN does the full cleanup.\n\nif blktrace program segfault it will not be able\nto call BLKTRACETEARDOWN. Now if we run the blktrace\nagain that would result in a failure to create the\nblock/\u003cdevice\u003e debugfs directory.This will result\nin blk_remove_root() to be called which will set\nblk_tree_root to NULL. But the  debugfs block dir\nstill exist because it contain subdirectory.\n\nNow if we try to fix it using BLKTRACETEARDOWN\nit won\u0027t work because blk_tree_root is NULL.\n\nFix the same.\n\nTested as below\n\nroot@qemu-image:/home/kvaneesh/blktrace# ./blktrace  -d /dev/hdc\nSegmentation fault\nroot@qemu-image:/home/kvaneesh/blktrace# ./blktrace  -d /dev/hdc\nBLKTRACESETUP: No such file or directory\nFailed to start trace on /dev/hdc\nroot@qemu-image:/home/kvaneesh/blktrace# ./blktrace  -k /dev/hdc\nroot@qemu-image:/home/kvaneesh/blktrace# ./blktrace  -d /dev/hdc\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.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": "d85532ed284e63b5c56eaf2418f262822af60be4",
      "tree": "2c938f0ebe419ccc18632367c5c9d3f301fc9c36",
      "parents": [
        "8578007065bd27ec077a74b5814f0fe4df040180"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Nov 09 12:52:45 2007 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Nov 09 12:52:45 2007 +0100"
      },
      "message": "block: fix requeue handling in blk_queue_invalidate_tags()\n\nCredit goes to juergen.kadidlo@exasol.com for diagnosing this issue\nand supplying the initial patch.\n\nblk_queue_invalidate_tags() must use the proper requeueing paths instead\nof open coding the re-add of the request, otherwise we bug out in rq\naccounting. Just switch to using blk_requeue_request(), that takes care\nof end-tag handling as well and also adds the blktrace REQUEUE notify\nevent that is also appropriate here.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0e7be9edb9134f833278c381b6feabb54b875208",
      "tree": "a4eca4110f1b672f78191c8a8f92086b1b6ade7a",
      "parents": [
        "b70c864d3ce706571d2f3cac1d35d4fba01d6072"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Nov 07 13:51:35 2007 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Nov 07 13:51:35 2007 +0100"
      },
      "message": "cfq_idle_class_timer: add paranoid checks for jiffies overflow\n\nIn theory, if the queue was idle long enough, cfq_idle_class_timer may have\na false (and very long) timeout because jiffies can wrap into the past wrt\n-\u003elast_end_request.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b70c864d3ce706571d2f3cac1d35d4fba01d6072",
      "tree": "fbdab2c4ddf484e5344b8cc00e4bc24b6e443191",
      "parents": [
        "2389d1ef172fc9df01f58265a436919d233fbc27"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Nov 07 09:46:13 2007 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Nov 07 09:46:13 2007 +0100"
      },
      "message": "cfq: fix IOPRIO_CLASS_IDLE delays\n\nAfter the fresh boot:\n\n\tionice -c3 -p $$\n\techo cfq \u003e\u003e /sys/block/XXX/queue/scheduler\n\tdd if\u003d/dev/XXX of\u003d/dev/null bs\u003d512 count\u003d1\n\nNow dd hangs in D state and the queue is completely stalled for approximately\nINITIAL_JIFFIES + CFQ_IDLE_GRACE jiffies. This is because cfq_init_queue()\nforgets to initialize cfq_data-\u003elast_end_request.\n\n(I guess this patch is not complete, overflow is still possible)\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2389d1ef172fc9df01f58265a436919d233fbc27",
      "tree": "a59a1768a953ba27cf370c6634473679580c505d",
      "parents": [
        "dbeeb816e805091e7cfc03baf36dc40b4adb2bbd"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Nov 05 08:58:05 2007 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Nov 07 09:45:00 2007 +0100"
      },
      "message": "cfq: fix IOPRIO_CLASS_IDLE accounting\n\nSpotted by Nick \u003cgentuu@gmail.com\u003e, hopefully can explain the second trace in\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d9180.\n\nIf -\u003easync_idle_cfqq !\u003d NULL cfq_put_async_queues() puts it IOPRIO_BE_NR times\nin a loop. Fix this.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b4f555081fdd27d13e6ff39d455d5aefae9d2c0c",
      "tree": "917acaae9556ad2c372d001bf786cfbcf8102684",
      "parents": [
        "160acc2e899f26356bde92bc257253b7ca78f0c3",
        "51fd77bd9f512ab6cc9df0733ba1caaab89eb957"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Nov 03 12:43:36 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Nov 03 12:43:36 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  [BLOCK] Don\u0027t allow empty barriers to be passed down to queues that don\u0027t grok them\n  dm: bounce_pfn limit added\n  Deadline iosched: Fix batching fairness\n  Deadline iosched: Reset batch for ordered requests\n  Deadline iosched: Factor out finding latter reques\n"
    },
    {
      "commit": "51fd77bd9f512ab6cc9df0733ba1caaab89eb957",
      "tree": "fcc46ec04cad61a724eebffeabbecea197abbd89",
      "parents": [
        "5ec140e600b7d6624c657f008833f0e71bd5ef48"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Nov 02 08:49:08 2007 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Nov 02 08:49:08 2007 +0100"
      },
      "message": "[BLOCK] Don\u0027t allow empty barriers to be passed down to queues that don\u0027t grok them\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6f5d8aa6382eef2b26032c88656270bdae7f0c42",
      "tree": "6ee855ce6e8b0eb8cb04d41579ac11cb25a92759",
      "parents": [
        "dfb3d72a9aa519672c9ae06f0d2f93eccb35482f"
      ],
      "author": {
        "name": "Aaron Carroll",
        "email": "aaronc@gelato.unsw.edu.au",
        "time": "Tue Oct 30 10:40:13 2007 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Fri Nov 02 08:47:25 2007 +0100"
      },
      "message": "Deadline iosched: Fix batching fairness\n\nAfter switching data directions, deadline always starts the next batch\nfrom the lowest-sector request.  This gives excessive deadline expiries\nand large latency and throughput disparity between high- and low-sector\nrequests; an order of magnitude in some tests.\n\nThis patch changes the batching behaviour so new batches start from the\nrequest whose expiry is earliest.\n\nSigned-off-by: Aaron Carroll \u003caaronc@gelato.unsw.edu.au\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "dfb3d72a9aa519672c9ae06f0d2f93eccb35482f",
      "tree": "d6ec7e9b0e0ddbfa1acf59819caca071b1e1f29c",
      "parents": [
        "5d1a536621403b442eef60ddd35e6b7a46fb04b7"
      ],
      "author": {
        "name": "Aaron Carroll",
        "email": "aaronc@gelato.unsw.edu.au",
        "time": "Tue Oct 30 10:40:13 2007 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Fri Nov 02 08:47:25 2007 +0100"
      },
      "message": "Deadline iosched: Reset batch for ordered requests\n\nThe deadline I/O scheduler does not reset the batch count when starting\na new batch at a higher-sectored request.  This means the second and\nsubsequent batch in the same data direction will never exceed a single\nrequest in size whenever higher-sectored requests are pending.\n\nThis patch gives new batches in the same data direction as old ones\ntheir full quota of requests by resetting the batch count.\n\nSigned-off-by: Aaron Carroll \u003caaronc@gelato.unsw.edu.au\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5d1a536621403b442eef60ddd35e6b7a46fb04b7",
      "tree": "030f15afc505ce86653e338ce4f734a995dbb6b8",
      "parents": [
        "54866f032307063776b4eff7eadb131d47f9f9b4"
      ],
      "author": {
        "name": "Aaron Carroll",
        "email": "aaronc@gelato.unsw.edu.au",
        "time": "Tue Oct 30 10:40:12 2007 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Fri Nov 02 08:47:25 2007 +0100"
      },
      "message": "Deadline iosched: Factor out finding latter reques\n\nFactor finding the next request in sector-sorted order into\na function deadline_latter_request.\n\nSigned-off-by: Aaron Carroll \u003caaronc@gelato.unsw.edu.au\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c46f2334c84c2b26baa64d42d75ddc5fab38c3dc",
      "tree": "4d7800effffe61bd3eaeae8f13e44466e4818b36",
      "parents": [
        "87ae9afdcada236d0a1b38ce2c465a65916961dc"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Oct 31 12:06:37 2007 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Fri Nov 02 08:47:06 2007 +0100"
      },
      "message": "[SG] Get rid of __sg_mark_end()\n\nsg_mark_end() overwrites the page_link information, but all users want\n__sg_mark_end() behaviour where we just set the end bit. That is the most\nnatural way to use the sg list, since you\u0027ll fill it in and then mark the\nend point.\n\nSo change sg_mark_end() to only set the termination bit. Add a sg_magic\ndebug check as well, and clear a chain pointer if it is set.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "33013a881104304fcffe817f17f22a1588908037",
      "tree": "4ccce57cafb3622d9f23bcc2c96f60d33a558890",
      "parents": [
        "6eca9004dfcb274a502438a591df5b197690afb1"
      ],
      "author": {
        "name": "Philip Langdale",
        "email": "philipl@overt.org",
        "time": "Sat Oct 27 13:34:10 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 29 11:33:06 2007 +0100"
      },
      "message": "compat_ioctl: fix block device compat ioctl regression\n\nThe conversion of handlers to compat_blkdev_ioctl accidentally\ndisabled handling of most ioctl numbers on block devices because\nof a typo. Fix the one line to enable it all again.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Jens Axboe \u003caxboe@carl.home.kernel.dk\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": "adb4ddbbfb90c302e78da68b3f015588ca45d7f3",
      "tree": "48f9763a7472ebc93ef7b1b158094fc624161401",
      "parents": [
        "bd4f36d6da175ed51840fe07b8906951c4dea609"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Oct 24 10:54:38 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 29 11:33:06 2007 +0100"
      },
      "message": "block: use lock bitops for the tag map.\n\nThe block queue tag map can use lock bitops.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0a0836a09ca7a27341703ef154c82e2e7f3e96f4",
      "tree": "d4fb7c2a848e7160945405dd3d1bdcf9ae6efd33",
      "parents": [
        "abbeb88d00bef294ce661a9229c1dc31be064545"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Oct 23 15:08:21 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 29 11:33:05 2007 +0100"
      },
      "message": "cfq_get_queue: fix possible NULL pointer access\n\ncfq_get_queue()-\u003ecfq_find_alloc_queue() can fail, check the returned value.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\n\nNote that this isn\u0027t a bug at the moment, since the regular IO path\ndoes not call this path without __GFP_WAIT set. However, it could be a\nfuture bug, so I\u0027ve applied it.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "abbeb88d00bef294ce661a9229c1dc31be064545",
      "tree": "8e5468b3b2191eb4a497eb7edaa5ac3372c7ff28",
      "parents": [
        "4310864b9d17714e64446bfb8bc7dbcb96454475"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Oct 23 15:08:19 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 29 11:33:05 2007 +0100"
      },
      "message": "blk_sync_queue() should cancel request_queue-\u003eunplug_work\n\nblk_sync_queue() cancels the timer, but forgets to cancel the work.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "4310864b9d17714e64446bfb8bc7dbcb96454475",
      "tree": "b3a1efec204dc7eeb05ccdb28a954efe6ec8f621",
      "parents": [
        "b238b3d4be04d3acf1f86ff8ad0b0e803def67ff"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Oct 23 15:08:18 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 29 11:33:05 2007 +0100"
      },
      "message": "cfq_exit_queue() should cancel cfq_data-\u003eunplug_work\n\nSpotted by Nick \u003cgentuu@gmail.com\u003e, perhaps explains the first trace in\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d9180.\n\ncfq_exit_queue() should cancel cfqd-\u003eunplug_work before freeing cfqd.\nblk_sync_queue() seems unneeded, removed.\n\nQ: why cfq_exit_queue() calls cfq_shutdown_timer_wq() twice?\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b238b3d4be04d3acf1f86ff8ad0b0e803def67ff",
      "tree": "e1af361f05bdbed9d78553e3b3f5410b7f5eff87",
      "parents": [
        "2a397e82c7db18019e408f953dd58dc1963a328c"
      ],
      "author": {
        "name": "Jerome Marchand",
        "email": "jmarchan@redhat.com",
        "time": "Tue Oct 23 15:05:46 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 29 11:33:05 2007 +0100"
      },
      "message": "block layer: remove a unused argument of drive_stat_acct()\n\nThe nr_sector argument of drive_stat_acct() is not used anymore since the read and write sectors statistics are now updated in end_that_request_first(). This patch removes the useless argument.\n\nSigned-off-by: Jerome Marchand \u003cjmarchan@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "642f149031d70415d9318b919d50b71e4724adbd",
      "tree": "e792ad29dedffc6756d55e9d63e18ada35515b4b",
      "parents": [
        "bd6dee6f30a0f6943df190b387b5f8fe98a848f3"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Oct 24 11:20:47 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Oct 24 11:20:47 2007 +0200"
      },
      "message": "SG: Change sg_set_page() to take length and offset argument\n\nMost drivers need to set length and offset as well, so may as well fold\nthose three lines into one.\n\nAdd sg_assign_page() for those two locations that only needed to set\nthe page, where the offset/length is set outside of the function context.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7aeacf982203fb4dea2f3434eefdc268cfd5d6d9",
      "tree": "93a3991d5ab854fce477d9e28e55b720fd6ac81a",
      "parents": [
        "ad0d4083e65d9f223275adbfb9a7927e2120dc6c"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 23 09:49:25 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 23 09:49:25 2007 +0200"
      },
      "message": "[BLOCK] blk_rq_map_sg: force clear termination bit\n\nSince blk_rq_map_sg() sets the termination bit at the end of the sg\ntable, we could see it prematurely on the next mapping unless we\nforce drivers to do a full sg_init_table() prior to each mapping. So\nforce clear the termination bit to avoid having to put that clear in\nthe driver for every mapping.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ad0d4083e65d9f223275adbfb9a7927e2120dc6c",
      "tree": "b07eca59562b5839aa30fc7924763a685112ca2e",
      "parents": [
        "73fc4f0d2ce4a92c36b00649c58e0a068a6cdfa4"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 23 09:27:05 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 23 09:27:05 2007 +0200"
      },
      "message": "[BLOCK] Don\u0027t clear sg_dma_len/addr() in blk_rq_map_sg()\n\nIt\u0027s not a proper lvalue on all archs.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "9b61764bcb4360e04386f0415a01da8271631004",
      "tree": "8e0a39c0e9d36f5114d14383243da328de1c72eb",
      "parents": [
        "82f66fbef58de4ad7519708d0b9e685e20fa4e8a"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 22 19:39:33 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 22 19:39:33 2007 +0200"
      },
      "message": "[SG] Update block layer to use sg helpers\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "dbe7f76dd6e7ed4991870f0c779d758b605d9787",
      "tree": "5c915198932698906ed689d495f8ec88c087d729",
      "parents": [
        "94547426db2f4f2aad2f640ca074ccb1c6f7e660"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "ukleinek@informatik.uni-freiburg.de",
        "time": "Sat Oct 20 01:55:04 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sat Oct 20 01:55:04 2007 +0200"
      },
      "message": "fix typo \"insted\" -\u003e \"instead\"\n\nSigned-off-by: Uwe Kleine-König \u003cukleinek@informatik.uni-freiburg.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "ba25f9dcc4ea6e30839fcab5a5516f2176d5bfed",
      "tree": "3123c03b25dd5c0cd24b6ab4fc16731217838157",
      "parents": [
        "9a2e70572e94e21e7ec4186702d045415422bda0"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:43 2007 -0700"
      },
      "message": "Use helpers to obtain task pid in printks\n\nThe task_struct-\u003epid member is going to be deprecated, so start\nusing the helpers (task_pid_nr/task_pid_vnr/task_pid_nr_ns) in\nthe kernel.\n\nThe first thing to start with is the pid, printed to dmesg - in\nthis case we may safely use task_pid_nr(). Besides, printks produce\nmore (much more) than a half of all the explicit pid usage.\n\n[akpm@linux-foundation.org: git-drm went and changed lots of stuff]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8f731f7d83d6c6a3eeb32cce79bfcddbf7fac8cc",
      "tree": "706de5d8801259311a7a3b3987bc3b6e6511637d",
      "parents": [
        "cb680c1be62e9898fc2ca2a89d9fdba7c84a5c81"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu Oct 18 23:39:28 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:35 2007 -0700"
      },
      "message": "kernel-api docbook: fix content problems\n\nFix kernel-api docbook contents problems.\n\ndocproc: linux-2.6.23-git13/include/asm-x86/unaligned_32.h: No such file or directory\nWarning(linux-2.6.23-git13//include/linux/list.h:482): bad line: \t\t\tof list entry\nWarning(linux-2.6.23-git13//mm/filemap.c:864): No description found for parameter \u0027ra\u0027\nWarning(linux-2.6.23-git13//block/ll_rw_blk.c:3760): No description found for parameter \u0027req\u0027\nWarning(linux-2.6.23-git13//include/linux/input.h:1077): No description found for parameter \u0027private\u0027\nWarning(linux-2.6.23-git13//include/linux/input.h:1077): No description found for parameter \u0027cdev\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: WU Fengguang \u003cwfg@mail.ustc.edu.cn\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ba951841ceb7fa5b06ad48caa5270cc2ae17941e",
      "tree": "fda194f4506fb2af93895d3aac1902051678e8e0",
      "parents": [
        "a3bec5c5aea0da263111c4d8f8eabc1f8560d7bf"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Oct 17 19:34:11 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Oct 17 19:34:11 2007 +0200"
      },
      "message": "[BLOCK] blk_rq_map_sg() next_sg fixup\n\nDon\u0027t ever use sg_next() on the last entry, it may not be valid!\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b6257a9036f06878a0f02354d5a07f155e1cfee0",
      "tree": "c0e12e3568199b748ebc7c1f9cf4005ae5da5f36",
      "parents": [
        "c548f08a4f7b89b93c805e0c4024b8302afa7121",
        "f5c0dde4c66421a3a2d7d6fa604a712c9b0744e5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 09:08:13 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 09:08:13 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/data/git/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/data/git/linux-2.6-block:\n  [SCSI] Remove full sg table memset()\n  [SCSI] ide-scsi: remove usage of sg_last()\n  Fix loop terminating conditions in fill_sg().\n  [BLOCK] Clear sg entry before filling in blk_rq_map_sg()\n  IA64: iommu uses sg_next with an invalid sg element\n  cciss: disable DMA refetch on Smart Array P600\n  swiotlb: fix map_sg failure handling\n  SPARC64: fix iommu sg chaining\n  [SCSI] ide-scsi: use scsi_sg_count() instead of -\u003euse_sg\n"
    },
    {
      "commit": "e0bf68ddec4f4f90e5871404be4f1854c17f3120",
      "tree": "36203a3558cbe26d698bed18be69b3822fb5eef2",
      "parents": [
        "dc62a30e274d003a4d08fb888f1520add4b21373"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Oct 16 23:25:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:45 2007 -0700"
      },
      "message": "mm: bdi init hooks\n\nprovide BDI constructor/destructor hooks\n\n[akpm@linux-foundation.org: compile fix]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "60573b874b03d22678614ca1e73f6b15c1b53b40",
      "tree": "eab565cf0b353bcdf7eafb47c5e798318c7c54fd",
      "parents": [
        "bdb02504f473be6a785741093913ea2acd05626f"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Oct 17 13:02:33 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Oct 17 13:02:33 2007 +0200"
      },
      "message": "[BLOCK] Clear sg entry before filling in blk_rq_map_sg()\n\nThe memset() of the sg entry was originally removed, because it could\noverwrite a chain pointer. But it\u0027s quite OK to memset() it when we know\nit\u0027s a valid entry, since it can\u0027t contain a chain pointer.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "92d15c2ccbb3e31a3fc71ad28fdb55e1319383c0",
      "tree": "8d83c0dc3c6b935d8367e331872f242b742f0a8a",
      "parents": [
        "f20bf6125605acbbc7eb8c9420d7221c91aa83eb",
        "644bd2f048972d75eb1979b1fdca257d528ce687"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 10:09:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 10:09:16 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/data/git/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/data/git/linux-2.6-block: (63 commits)\n  Fix memory leak in dm-crypt\n  SPARC64: sg chaining support\n  SPARC: sg chaining support\n  PPC: sg chaining support\n  PS3: sg chaining support\n  IA64: sg chaining support\n  x86-64: enable sg chaining\n  x86-64: update pci-gart iommu to sg helpers\n  x86-64: update nommu to sg helpers\n  x86-64: update calgary iommu to sg helpers\n  swiotlb: sg chaining support\n  i386: enable sg chaining\n  i386 dma_map_sg: convert to using sg helpers\n  mmc: need to zero sglist on init\n  Panic in blk_rq_map_sg() from CCISS driver\n  remove sglist_len\n  remove blk_queue_max_phys_segments in libata\n  revert sg segment size ifdefs\n  Fixup u14-34f ENABLE_SG_CHAINING\n  qla1280: enable use_sg_chaining option\n  ...\n"
    },
    {
      "commit": "f2e189827a914b66e435e68b1c9e37775cb995ed",
      "tree": "fa5748fa0ecdef500c616c28d2885d2385b17e4d",
      "parents": [
        "535443f51543df61111bbd234300ae549d220448"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "wfg@mail.ustc.edu.cn",
        "time": "Tue Oct 16 01:24:36 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:53 2007 -0700"
      },
      "message": "readahead: remove the limit max_sectors_kb imposed on max_readahead_kb\n\nRemove the size limit max_sectors_kb imposed on max_readahead_kb.\n\nThe size restriction is unreasonable.  Especially when max_sectors_kb cannot\ngrow larger than max_hw_sectors_kb, which can be rather small for some disk\ndrives.\n\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d5a7430ddcdb598261d70f7eb1bf450b5be52085",
      "tree": "3b94672e0dbc2bff125de3266908f1a47a17b795",
      "parents": [
        "083576112940fda783d716fd5ccc744f81667b2f"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Tue Oct 16 01:24:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:50 2007 -0700"
      },
      "message": "Convert cpu_sibling_map to be a per cpu variable\n\nConvert cpu_sibling_map from a static array sized by NR_CPUS to a per_cpu\nvariable.  This saves sizeof(cpumask_t) * NR unused cpus.  Access is mostly\nfrom startup and CPU HOTPLUG functions.\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: \"Siddha, Suresh B\" \u003csuresh.b.siddha@intel.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3eed13fd933dbb81db12f7cdec6de9268c4443b5",
      "tree": "c16913706acffd4a0b29ec12cd68906b708c9a8a",
      "parents": [
        "a39d113936370ba524fa9e34d6954c3625c8aa64",
        "2c941a204070ab32d92d40318a3196a7fb994c00"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 16 12:29:34 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 16 12:29:34 2007 +0200"
      },
      "message": "Merge branch \u0027sglist-arch\u0027 into for-linus\n"
    },
    {
      "commit": "a39d113936370ba524fa9e34d6954c3625c8aa64",
      "tree": "6e4334d4fe9018a6032a2cf47f144e1716ca30ad",
      "parents": [
        "8b6800fbced0c6745a9b8f5f72f15ef8bce8a6be",
        "7e3da6c4b9a69f44b758b2c88190ac33ac4ea1a1"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 16 12:29:29 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 16 12:29:29 2007 +0200"
      },
      "message": "Merge branch \u0027barrier\u0027 into for-linus\n"
    },
    {
      "commit": "563063a808de6b2004d5b8a09ddcb6125481f4b2",
      "tree": "03fe81595247cf8c8e6fa7cd3753be6c0229cb32",
      "parents": [
        "70eb8040dc81212c884a464b75e37dca8014f3ad"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu May 10 13:29:51 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 16 11:08:53 2007 +0200"
      },
      "message": "ll_rw_blk: temporarily enable max_segments tweaking\n\nExpose this setting for now, so that users can play with enabling\nlarge commands without defaulting it to on globally. This is a debug\npatch, it will be dropped for the final versions.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f565913ef8a8d0cfa46a1faaf8340cc357a46f3a",
      "tree": "e90daaa8f74c33d207dc02488352a6d674c7c618",
      "parents": [
        "96b418c960af0d5c7185ff5c4af9376eb37ac9d3"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 21 10:44:19 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 16 11:07:11 2007 +0200"
      },
      "message": "block: convert to using sg helpers\n\nConvert the main rq mapper (blk_rq_map_sg()) to the sg helper setup.\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": "c07e2b41291853b19fff11ceee3657df252a4e42",
      "tree": "3d21930b1ea62615b5b1312edf6bdc5d1ef616e1",
      "parents": [
        "a0cd128542cd9c67f27458a08e989db486a293ce"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Jul 18 13:27:58 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 16 11:03:55 2007 +0200"
      },
      "message": "block: factor our bio_check_eod()\n\nEnd of device check is done twice in __generic_make_request() and it\u0027s\nfully inlined each time.  Factor out bio_check_eod().\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\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": "4fa253f33c1d4d6402de9eaacefdb45a47ed116d",
      "tree": "21b268324e6aef2ff6fb7dc9b97cd4168b185bfa",
      "parents": [
        "65a6ec0d72a07f16719e9b7a96e1c4bae044b591"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Jul 18 13:13:10 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 16 11:03:49 2007 +0200"
      },
      "message": "block: ll_rw_blk.c: cosmetics\n\nFix ?: construct, a typo, whitespace, and similar.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7344be053ab9a1910e77ba6472883a5c83dda569",
      "tree": "1db6c38ced516ef84913f6460cfcc60f50059e89",
      "parents": [
        "65a6ec0d72a07f16719e9b7a96e1c4bae044b591"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Oct 15 11:01:53 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 16 09:59:54 2007 +0200"
      },
      "message": "bsg: mark struct file_operations const\n\nstruct file_operations is generally const (to avoid false sharing and get compile time errors on accidental writing to this shared structure); bsg recently added one of these without the const keyword. Patch below marks it const....\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2b9e0aae1d50e880c58d46788e5e3ebd89d75d62",
      "tree": "72c653644f8fecb56c543ddd89d5926aa9b83277",
      "parents": [
        "ab9c232286c2b77be78441c2d8396500b045777e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 12 17:58:36 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 12 17:58:36 2007 -0700"
      },
      "message": "Only enable BLOCK_COMPAT if COMPAT is needed\n\nIOW, it needs to depend on both CONFIG_BLOCK and CONFIG_COMPAT.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "efefc6eb38d43b8e5daef482f575d767b002004e",
      "tree": "8a3933db1f8721f9bcc9912c800dc8406f4bdf94",
      "parents": [
        "117494a1b65183f0e3fcc817b07944bc5c465050",
        "cd59abfcc441b2abb4cf2cd62c1eb0f02a60e8dd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 12 15:49:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 12 15:49:37 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6: (75 commits)\n  PM: merge device power-management source files\n  sysfs: add copyrights\n  kobject: update the copyrights\n  kset: add some kerneldoc to help describe what these strange things are\n  Driver core: rename ktype_edd and ktype_efivar\n  Driver core: rename ktype_driver\n  Driver core: rename ktype_device\n  Driver core: rename ktype_class\n  driver core: remove subsystem_init()\n  sysfs: move sysfs file poll implementation to sysfs_open_dirent\n  sysfs: implement sysfs_open_dirent\n  sysfs: move sysfs_dirent-\u003es_children into sysfs_dirent-\u003es_dir\n  sysfs: make sysfs_root a regular directory dirent\n  sysfs: open code sysfs_attach_dentry()\n  sysfs: make s_elem an anonymous union\n  sysfs: make bin attr open get active reference of parent too\n  sysfs: kill unnecessary NULL pointer check in sysfs_release()\n  sysfs: kill unnecessary sysfs_get() in open paths\n  sysfs: reposition sysfs_dirent-\u003es_mode.\n  sysfs: kill sysfs_update_file()\n  ...\n"
    },
    {
      "commit": "7e7654a92a5a75a350cc3458389bc76273498f6a",
      "tree": "c8eae3d72f87b4b4fbf94446b4f0993c2a08b000",
      "parents": [
        "19c38de88a80913351fcacefdb461cc0b585fa87"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 12 15:06:57 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:02 2007 -0700"
      },
      "message": "cdev: remove unneeded setting of cdev names\n\nstruct cdev does not need the kobject name to be set, as it is never\nused.  This patch fixes up the few places it is set.\n\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\n\n"
    },
    {
      "commit": "19c38de88a80913351fcacefdb461cc0b585fa87",
      "tree": "17d2978ce27861926a0d9a3eb49471b9b736f968",
      "parents": [
        "5901d0145c6b9e791bacd049eea11c9db9a3006e"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 12 15:06:57 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:02 2007 -0700"
      },
      "message": "kobjects: fix up improper use of the kobject name field\n\nA number of different drivers incorrect access the kobject name field\ndirectly.  This is not correct as the name might not be in the array.\nUse the proper accessor function instead.\n\n"
    }
  ],
  "next": "7eff2e7a8b65c25920207324e56611150eb1cd9a"
}
