)]}'
{
  "log": [
    {
      "commit": "4b27e1bb442e964903f8a3fa6bdf33a602dc0941",
      "tree": "d7eecb66f6a75dbff292fbd03b643b04ed075289",
      "parents": [
        "e6ec4fe24572ee265723d895ec4159e5559c8266"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Tue Nov 03 20:25:02 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Nov 03 20:25:02 2009 +0100"
      },
      "message": "cfq-iosched: limit coop preemption\n\nCFQ has an optimization for cooperated applications. if several\nio-context have close requests, they will get boost. But the\noptimization get abused. Considering thread a, b, which work on one\nfile. a reads sectors s, s+2, s+4, ...; b reads sectors s+1, s+3, s\n+5, ... Both a and b are sequential read, so they can open idle window.\na reads a sector s and goes to idle window and wakeup b. b reads sector\ns+1, since in current implementation, cfq_should_preempt() thinks a and\nb are cooperators, b will preempt a. b then reads sector s+1 and goes to\nidle window and wakeup a. for the same reason, a will preempt b and\nreads s+2. a and b will continue the circle. The circle will be very\nlong, and a and b will occupy whole disk queue. Other applications will\nnearly have no chance to run.\n\nFix this limiting coop preempt until a queue is scheduled normally\nagain.\n\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nAcked-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e6ec4fe24572ee265723d895ec4159e5559c8266",
      "tree": "cf61a73b2e50d695579cffe4226d41da5c889f8f",
      "parents": [
        "8c4db3355b0fcc9ad77431f15b955efa0645b5d0"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Nov 03 20:21:35 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Nov 03 20:21:35 2009 +0100"
      },
      "message": "cfq-iosched: fix bad return value cfq_should_preempt()\n\nCommit a6151c3a5c8e1ff5a28450bc8d6a99a2a0add0a7 inadvertently reversed\na preempt condition check, potentially causing a performance regression.\nMake the meta check correct again.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6cafb12dc85a5bdc722791cc5070968413264909",
      "tree": "a7891dfc10d23a6757034a2beeb422ba11088662",
      "parents": [
        "d995053d045d777e78ba7eba71a6a0733f3aa726"
      ],
      "author": {
        "name": "Mark McLoughlin",
        "email": "markmc@redhat.com",
        "time": "Sat Oct 24 14:14:31 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sat Oct 24 14:14:31 2009 +0200"
      },
      "message": "block: silently error unsupported empty barriers too\n\nWith 2.6.32-rc5 in a KVM guest using dm and virtio_blk, we see the\nfollowing errors:\n\n  end_request: I/O error, dev vda, sector 0\n  end_request: I/O error, dev vda, sector 0\n\nThe errors go away if dm stops submitting empty barriers, by reverting:\n\n  commit 52b1fd5a27c625c78373e024bf570af3c9d44a79\n  Author: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\n    dm: send empty barriers to targets in dm_flush\n\nWe should silently error all barriers, even empty barriers, on devices\nlike virtio_blk which don\u0027t support them.\n\nSee also:\n\n  https://bugzilla.redhat.com/514901\n\nSigned-off-by: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nAcked-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nAcked-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c7ebf0657b1f47d85aee8349ed6345d940d7232a",
      "tree": "c9425a433bf727aa01a0897856852296cce71f7b",
      "parents": [
        "961515f613f26b7958c56c5c71061a8231e02be7"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon Oct 12 08:20:47 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 12 08:20:47 2009 +0200"
      },
      "message": "blk-settings: fix function parameter kernel-doc notation\n\nFix kernel-doc notation in blk-settings.c::blk_queue_max_discard_sectors().\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "8c279598585e4992a41016bb973993ed15888cb3",
      "tree": "47da450c888cf5b63790e37e4b7640acbc3570a2",
      "parents": [
        "355b659c87432a4e76160640625c47fcf9174e8d"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Fri Oct 09 08:48:08 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Oct 09 08:48:08 2009 +0200"
      },
      "message": "elv_iosched_store(): fix strstrip() misuse\n\nelv_iosched_store() ignore the return value of strstrip().  It makes small\ninconsistent behavior.\n\nThis patch fixes it.\n\n \u003cbefore\u003e\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n # cd /sys/block/{blockdev}/queue\n\n case1:\n # echo \"anticipatory\" \u003e scheduler\n # cat scheduler\n noop [anticipatory] deadline cfq\n\n case2:\n # echo \"anticipatory \" \u003e scheduler\n # cat scheduler\n noop [anticipatory] deadline cfq\n\n case3:\n # echo \" anticipatory\" \u003e scheduler\n bash: echo: write error: Invalid argument\n\n \u003cafter\u003e\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n # cd /sys/block/{blockdev}/queue\n\n case1:\n # echo \"anticipatory\" \u003e scheduler\n # cat scheduler\n noop [anticipatory] deadline cfq\n\n case2:\n # echo \"anticipatory \" \u003e scheduler\n # cat scheduler\n noop [anticipatory] deadline cfq\n\n case3:\n # echo \" anticipatory\" \u003e scheduler\n noop [anticipatory] deadline cfq\n\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "355b659c87432a4e76160640625c47fcf9174e8d",
      "tree": "1121f7c4ae13643a30abaf6091312f5b116a52bc",
      "parents": [
        "a6151c3a5c8e1ff5a28450bc8d6a99a2a0add0a7"
      ],
      "author": {
        "name": "Corrado Zoccolo",
        "email": "czoccolo@gmail.com",
        "time": "Thu Oct 08 08:43:32 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 08 08:43:32 2009 +0200"
      },
      "message": "cfq-iosched: avoid probable slice overrun when idling\n\nIf the average think time is larger than the remaining time slice\nfor any given queue, don\u0027t allow it to idle. A succesful idle also\nmeans that we need to dispatch and complete a request, so if we don\u0027t\neven have time left for the idle process, we would overrun the slice\nin any case.\n\nSigned-off-by: Corrado Zoccolo \u003cczoccolo@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a6151c3a5c8e1ff5a28450bc8d6a99a2a0add0a7",
      "tree": "47896def7d76c1f81d3c358a9aaee158a253b2b6",
      "parents": [
        "ec60e4f6749daf535329dac571293cf19c627aff"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Oct 07 20:02:57 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Oct 07 20:02:57 2009 +0200"
      },
      "message": "cfq-iosched: apply bool value where we return 0/1\n\nSaves 16 bytes of text, woohoo. But the more important point is\nthat it makes the code more readable when returning bool for 0/1\ncases.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ec60e4f6749daf535329dac571293cf19c627aff",
      "tree": "791e2a15281bf0a3b114af6f6c9c5b2d2b0dc982",
      "parents": [
        "b9c8946b192397394a0ccd4fcecb31bc060f79f8"
      ],
      "author": {
        "name": "Corrado Zoccolo",
        "email": "czoccolo@gmail.com",
        "time": "Wed Oct 07 19:51:54 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Oct 07 19:51:54 2009 +0200"
      },
      "message": "cfq-iosched: fix think time allowed for seekers\n\nCFQ enables idle only for processes that think less than the allowed\nidle time. Since idle time is lower for seeky queues, we should use the\ncorrect value in the comparison.\n\nSigned-off-by: Corrado Zoccolo \u003cczoccolo@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b9c8946b192397394a0ccd4fcecb31bc060f79f8",
      "tree": "54169a387e8e4a5f6f79e06de6fbdd0096198069",
      "parents": [
        "0b182d617eb50762b483658dd6dd9a9fbcb25758"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 06 20:53:44 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 06 21:09:32 2009 +0200"
      },
      "message": "cfq-iosched: fix the slice residual sign\n\nWe should subtract the slice residual from the rb tree key, since\na negative residual count indicates that the cfqq overran its slice\nthe last time. Hence we want to add the overrun time, to position\nit a bit further away in the service tree.\n\nReported-by: Corrado Zoccolo \u003cczoccolo@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0b182d617eb50762b483658dd6dd9a9fbcb25758",
      "tree": "28c7084cb5566cb26e5c6f96b3c055304afcbbbf",
      "parents": [
        "1b59dd511b9a36d4be3c01d7c7024aeec36dc651"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 06 20:49:37 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 06 20:49:37 2009 +0200"
      },
      "message": "cfq-iosched: abstract out the \u0027may this cfqq dispatch\u0027 logic\n\nMakes the whole thing easier to read, cfq_dispatch_requests() was\na bit messy before.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1b59dd511b9a36d4be3c01d7c7024aeec36dc651",
      "tree": "295691e2bb0c0baaea8de2db4c7c38039053f384",
      "parents": [
        "316d315bffa4026f28085f6b24ebcebede370ac7"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 06 20:19:02 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 06 20:19:02 2009 +0200"
      },
      "message": "block: use proper BLK_RW_ASYNC in blk_queue_start_tag()\n\nMakes it easier to read than the 0.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "316d315bffa4026f28085f6b24ebcebede370ac7",
      "tree": "10b6b057fec2382536371d2e14f9d4c0d6cf9eea",
      "parents": [
        "23e018a1b083ecb4b8bb2fb43d58e7c19b5d7959"
      ],
      "author": {
        "name": "Nikanth Karthikesan",
        "email": "knikanth@suse.de",
        "time": "Tue Oct 06 20:16:55 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 06 20:16:55 2009 +0200"
      },
      "message": "block: Seperate read and write statistics of in_flight requests v2\n\nCommit a9327cac440be4d8333bba975cbbf76045096275 added seperate read\nand write statistics of in_flight requests. And exported the number\nof read and write requests in progress seperately through sysfs.\n\nBut  Corrado Zoccolo \u003cczoccolo@gmail.com\u003e reported getting strange\noutput from \"iostat -kx 2\". Global values for service time and\nutilization were garbage. For interval values, utilization was always\n100%, and service time is higher than normal.\n\nSo this was reverted by commit 0f78ab9899e9d6acb09d5465def618704255963b\n\nThe problem was in part_round_stats_single(), I missed the following:\n        if (now \u003d\u003d part-\u003estamp)\n                return;\n\n-       if (part-\u003ein_flight) {\n+       if (part_in_flight(part)) {\n                __part_stat_add(cpu, part, time_in_queue,\n                                part_in_flight(part) * (now - part-\u003estamp));\n                __part_stat_add(cpu, part, io_ticks, (now - part-\u003estamp));\n\nWith this chunk included, the reported regression gets fixed.\n\nSigned-off-by: Nikanth Karthikesan \u003cknikanth@suse.de\u003e\n\n--\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "23e018a1b083ecb4b8bb2fb43d58e7c19b5d7959",
      "tree": "a6361448bd596ccef393778e6f85e29413a01213",
      "parents": [
        "48e025e63ac908ed6ec5394a294f4ecd510a7476"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 05 08:52:35 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 05 11:03:58 2009 +0200"
      },
      "message": "block: get rid of kblock_schedule_delayed_work()\n\nIt was briefly introduced to allow CFQ to to delayed scheduling,\nbut we ended up removing that feature again. So lets kill the\nfunction and export, and just switch CFQ back to the normal work\nschedule since it is now passing in a \u00270\u0027 delay from all call\nsites.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "48e025e63ac908ed6ec5394a294f4ecd510a7476",
      "tree": "49828c00687c810627f00430dd56ce9901537fc9",
      "parents": [
        "30996f40bffe73f05abb92a4cec254befa8cecf7"
      ],
      "author": {
        "name": "Corrado Zoccolo",
        "email": "czoccolo@gmail.com",
        "time": "Mon Oct 05 08:49:23 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 05 11:03:55 2009 +0200"
      },
      "message": "cfq-iosched: fix possible problem with jiffies wraparound\n\nThe RR service tree is indexed by a key that is relative to current jiffies.\nThis can cause problems on jiffies wraparound.\n\nThe patch fixes it using time_before comparison, and changing\nthe add_front path to use a relative number, too.\n\nSigned-off-by: Corrado Zoccolo \u003cczoccolo@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "30996f40bffe73f05abb92a4cec254befa8cecf7",
      "tree": "2ce2cf9ed92aff3f930b7553711f4b439d6cb89e",
      "parents": [
        "374576a8b6f865022c0fd1ca62396889b23d66dd"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 05 11:03:39 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 05 11:03:39 2009 +0200"
      },
      "message": "cfq-iosched: fix issue with rq-rq merging and fifo list ordering\n\ncfq uses rq-\u003estart_time as the fifo indicator, but that field may\nget modified prior to cfq doing it\u0027s fifo list adjustment when\na request gets merged with another request. This can cause the\nfifo list to become unordered.\n\nReported-by: Corrado Zoccolo \u003cczoccolo@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0f78ab9899e9d6acb09d5465def618704255963b",
      "tree": "b92832da61ae4f4d712a33ae524c482e979be5ba",
      "parents": [
        "e00c54c36ac2024c3a8a37432e2e2698ff849594"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sun Oct 04 21:04:38 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sun Oct 04 21:04:38 2009 +0200"
      },
      "message": "Revert \"Seperate read and write statistics of in_flight requests\"\n\nThis reverts commit a9327cac440be4d8333bba975cbbf76045096275.\n\nCorrado Zoccolo \u003cczoccolo@gmail.com\u003e reports:\n\n\"with 2.6.32-rc1 I started getting the following strange output from\n\"iostat -kx 2\":\nLinux 2.6.31bisect (et2) \t04/10/2009 \t_i686_\t(2 CPU)\n\navg-cpu:  %user   %nice %system %iowait  %steal   %idle\n          10,70    0,00    3,16   15,75    0,00   70,38\n\nDevice:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s\navgrq-sz avgqu-sz   await  svctm  %util\nsda              18,22     0,00    0,67    0,01    14,77     0,02\n43,94     0,01   10,53 39043915,03 2629219,87\nsdb              60,89     9,68   50,79    3,04  1724,43    50,52\n65,95     0,70   13,06 488437,47 2629219,87\n\navg-cpu:  %user   %nice %system %iowait  %steal   %idle\n           2,72    0,00    0,74    0,00    0,00   96,53\n\nDevice:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s\navgrq-sz avgqu-sz   await  svctm  %util\nsda               0,00     0,00    0,00    0,00     0,00     0,00\n0,00     0,00    0,00   0,00 100,00\nsdb               0,00     0,00    0,00    0,00     0,00     0,00\n0,00     0,00    0,00   0,00 100,00\n\navg-cpu:  %user   %nice %system %iowait  %steal   %idle\n           6,68    0,00    0,99    0,00    0,00   92,33\n\nDevice:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s\navgrq-sz avgqu-sz   await  svctm  %util\nsda               0,00     0,00    0,00    0,00     0,00     0,00\n0,00     0,00    0,00   0,00 100,00\nsdb               0,00     0,00    0,00    0,00     0,00     0,00\n0,00     0,00    0,00   0,00 100,00\n\navg-cpu:  %user   %nice %system %iowait  %steal   %idle\n           4,40    0,00    0,73    1,47    0,00   93,40\n\nDevice:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s\navgrq-sz avgqu-sz   await  svctm  %util\nsda               0,00     0,00    0,00    0,00     0,00     0,00\n0,00     0,00    0,00   0,00 100,00\nsdb               0,00     4,00    0,00    3,00     0,00    28,00\n18,67     0,06   19,50 333,33 100,00\n\nGlobal values for service time and utilization are garbage. For\ninterval values, utilization is always 100%, and service time is\nhigher than normal.\n\nI bisected it down to:\n[a9327cac440be4d8333bba975cbbf76045096275] Seperate read and write\nstatistics of in_flight requests\nand verified that reverting just that commit indeed solves the issue\non 2.6.32-rc1.\"\n\nSo until this is debugged, revert the bad commit.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e00c54c36ac2024c3a8a37432e2e2698ff849594",
      "tree": "0b392ba588939a7ee0c405ada8b22047fad9daff",
      "parents": [
        "ac481c20ef8f6c6f2be75d581863f40c43874ef7"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sun Oct 04 20:36:19 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sun Oct 04 20:36:19 2009 +0200"
      },
      "message": "cfq-iosched: don\u0027t delay async queue if it hasn\u0027t dispatched at all\n\nWe cannot delay for the first dispatch of the async queue if it\nhasn\u0027t dispatched at all, since that could present a local user\nDoS attack vector using an app that just did slow timed sync reads\nwhile filling memory.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ac481c20ef8f6c6f2be75d581863f40c43874ef7",
      "tree": "90512cadc1c9dea89c0a24149166d3ab464d065e",
      "parents": [
        "61f0c1dcaaac71faabac6ef7c839b29f20204bea"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Sat Oct 03 20:52:01 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sat Oct 03 20:52:01 2009 +0200"
      },
      "message": "block: Topology ioctls\n\nNot all users of the topology information want to use libblkid.  Provide\nthe topology information through bdev ioctls.\n\nAlso clarify sector size comments for existing BLK ioctls.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "61f0c1dcaaac71faabac6ef7c839b29f20204bea",
      "tree": "81b01d1d4515fc28908446665bca17b69d44fffb",
      "parents": [
        "963b72fc6664be12ea52f35a6addea14ec373433"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sat Oct 03 19:46:03 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sat Oct 03 19:46:03 2009 +0200"
      },
      "message": "cfq-iosched: use assigned slice sync value, not default\n\nWe should use the sysfs modified slice sync value, in case it differs\nfrom the default.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "963b72fc6664be12ea52f35a6addea14ec373433",
      "tree": "d84e270282c4264cb7028c39c1c44804bcf2e912",
      "parents": [
        "8e2967555571659d2c8a70dd120710110ed7bba4"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sat Oct 03 19:42:18 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sat Oct 03 19:42:18 2009 +0200"
      },
      "message": "cfq-iosched: rename \u0027desktop\u0027 sysfs entry to \u0027low_latency\u0027\n\nDon\u0027t think that\u0027s necessarily a perfect description of what this\noption fiddles with, but it\u0027s probably better than \u0027desktop\u0027.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "8e2967555571659d2c8a70dd120710110ed7bba4",
      "tree": "22716c5388f0269f5c1cef54958ae27df256c498",
      "parents": [
        "365722bb917b08b7323b5a4a0a3386cc7d00397d"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sat Oct 03 16:26:03 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sat Oct 03 16:27:13 2009 +0200"
      },
      "message": "cfq-iosched: implement slower async initiate and queue ramp up\n\nThis slowly ramps up the async queue depth based on the time\npassed since the sync IO, and doesn\u0027t allow async at all until\na sync slice period has passed.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "365722bb917b08b7323b5a4a0a3386cc7d00397d",
      "tree": "e882cb339a7055169596ca4b267087bbf1672709",
      "parents": [
        "1d2235152dc745c6d94bedb550fea84cffdbf768"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@redhat.com",
        "time": "Sat Oct 03 15:21:27 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sat Oct 03 15:21:27 2009 +0200"
      },
      "message": "cfq-iosched: delay async IO dispatch, if sync IO was just done\n\no Do not allow more than max_dispatch requests from an async queue, if some\n  sync request has finished recently. This is in the hope that sync activity\n  is still going on in the system and we might receive a sync request soon.\n  Most likely from a sync queue which finished a request and we did not enable\n  idling on it.\n\nSigned-off-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1d2235152dc745c6d94bedb550fea84cffdbf768",
      "tree": "eb489f01dd6d506c1b785bae03e68e42145a055b",
      "parents": [
        "b0da3f0dada78832c9da03ad2152ae76bd9a2496"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Oct 02 19:27:04 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Oct 02 20:06:02 2009 +0200"
      },
      "message": "cfq-iosched: add a knob for desktop interactiveness\n\nThis is basically identical to what Vivek Goyal posted, but combined\ninto one and labelled \u0027desktop\u0027 instead of \u0027fairness\u0027. The goal\nis to continue to improve on the latency side of things as it relates\nto interactiveness, keeping the questionable bits under this sysfs\ntunable so it would be easy for throughput-only people to turn off.\n\nApart from adding the interactive sysfs knob, it also adds the\nbehavioural change of allowing slice idling even if the hardware\ndoes tagged command queuing.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b0da3f0dada78832c9da03ad2152ae76bd9a2496",
      "tree": "58380f5d8f3c313fbb9fd0310509a408b38a0399",
      "parents": [
        "67efc9258010da35b27b3854d0880c7e193004ed"
      ],
      "author": {
        "name": "Jun\u0027ichi Nomura",
        "email": "j-nomura@ce.jp.nec.com",
        "time": "Thu Oct 01 21:16:13 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 01 21:19:34 2009 +0200"
      },
      "message": "Add a tracepoint for block request remapping\n\nSince 2.6.31 now has request-based device-mapper, it\u0027s useful to have\na tracepoint for request-remapping as well as bio-remapping.\nThis patch adds a tracepoint for request-remapping, trace_block_rq_remap().\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\nCc: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "67efc9258010da35b27b3854d0880c7e193004ed",
      "tree": "d98ad032d8c701084539d5673c2d7d7ca5962a3f",
      "parents": [
        "c15227de132f1295f3db6b7df9079956b1020fd8"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Sep 30 13:54:20 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 01 21:19:34 2009 +0200"
      },
      "message": "block: allow large discard requests\n\nCurrently we set the bio size to the byte equivalent of the blocks to\nbe trimmed when submitting the initial DISCARD ioctl.  That means it\nis subject to the max_hw_sectors limitation of the HBA which is\nmuch lower than the size of a DISCARD request we can support.\nAdd a separate max_discard_sectors tunable to limit the size for discard\nrequests.\n\nWe limit the max discard request size in bytes to 32bit as that is the\nlimit for bio-\u003ebi_size.  This could be much larger if we had a way to pass\nthat information through the block layer.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c15227de132f1295f3db6b7df9079956b1020fd8",
      "tree": "ad06f119f283cf8a6313681055e8132ba2851ddb",
      "parents": [
        "3bd0f0c763e497c8674b28e3df2732f48683dabd"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Sep 30 13:52:12 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 01 21:19:30 2009 +0200"
      },
      "message": "block: use normal I/O path for discard requests\n\nprepare_discard_fn() was being called in a place where memory allocation\nwas effectively impossible.  This makes it inappropriate for all but\nthe most trivial translations of Linux\u0027s DISCARD operation to the block\ncommand set.  Additionally adding a payload there makes the ownership\nof the bio backing unclear as it\u0027s now allocated by the device driver\nand not the submitter as usual.\n\nIt is replaced with QUEUE_FLAG_DISCARD which is used to indicate whether\nthe queue supports discard operations or not.  blkdev_issue_discard now\nallocates a one-page, sector-length payload which is the right thing\nfor the common ATA and SCSI implementations.\n\nThe mtd implementation of prepare_discard_fn() is replaced with simply\nchecking for the request being a discard.\n\nLargely based on a previous patch from Matthew Wilcox \u003cmatthew@wil.cx\u003e\nwhich did the prepare_discard_fn but not the different payload allocation\nyet.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "48c0d4d4c04dd520c55e0fd756fa4e7c83de3d13",
      "tree": "24994d5202e9cbe7ffcedf0f826a827e78d4e146",
      "parents": [
        "1e6f2dc11984b81c6438ff6cd45cdf15a02e3dfd"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zdenek.kabelac@gmail.com",
        "time": "Fri Sep 25 06:19:26 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 01 21:15:46 2009 +0200"
      },
      "message": "Add missing blk_trace_remove_sysfs to be in pair with blk_trace_init_sysfs\n\nAdd missing blk_trace_remove_sysfs to be in pair with blk_trace_init_sysfs\nintroduced in commit 1d54ad6da9192fed5dd3b60224d9f2dfea0dcd82.\nRelease kobject also in case the request_fn is NULL.\n\nProblem was noticed via kmemleak backtrace when some sysfs entries were\nnote properly destroyed during  device removal:\n\nunreferenced object 0xffff88001aa76640 (size 80):\n  comm \"lvcreate\", pid 2120, jiffies 4294885144\n  hex dump (first 32 bytes):\n    01 00 00 00 00 00 00 00 f0 65 a7 1a 00 88 ff ff  .........e......\n    90 66 a7 1a 00 88 ff ff 86 1d 53 81 ff ff ff ff  .f........S.....\n  backtrace:\n    [\u003cffffffff813f9cc6\u003e] kmemleak_alloc+0x26/0x60\n    [\u003cffffffff8111d693\u003e] kmem_cache_alloc+0x133/0x1c0\n    [\u003cffffffff81195891\u003e] sysfs_new_dirent+0x41/0x120\n    [\u003cffffffff81194b0c\u003e] sysfs_add_file_mode+0x3c/0xb0\n    [\u003cffffffff81197c81\u003e] internal_create_group+0xc1/0x1a0\n    [\u003cffffffff81197d93\u003e] sysfs_create_group+0x13/0x20\n    [\u003cffffffff810d8004\u003e] blk_trace_init_sysfs+0x14/0x20\n    [\u003cffffffff8123f45c\u003e] blk_register_queue+0x3c/0xf0\n    [\u003cffffffff812447e4\u003e] add_disk+0x94/0x160\n    [\u003cffffffffa00d8b08\u003e] dm_create+0x598/0x6e0 [dm_mod]\n    [\u003cffffffffa00de951\u003e] dev_create+0x51/0x350 [dm_mod]\n    [\u003cffffffffa00de823\u003e] ctl_ioctl+0x1a3/0x240 [dm_mod]\n    [\u003cffffffffa00de8f2\u003e] dm_compat_ctl_ioctl+0x12/0x20 [dm_mod]\n    [\u003cffffffff81177bfd\u003e] compat_sys_ioctl+0xcd/0x4f0\n    [\u003cffffffff81036ed8\u003e] sysenter_dispatch+0x7/0x2c\n    [\u003cffffffffffffffff\u003e] 0xffffffffffffffff\n\nSigned-off-by: Zdenek Kabelac \u003czkabelac@redhat.com\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5dee2477df5368368b7dba810a17a3c411a1d0f0",
      "tree": "24897963e1e81c9a300633d69f03aa0cb81c90a7",
      "parents": [
        "80ddf247c84fbd7f4371dd15bbbff0adb44a8708"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Mon Sep 21 21:46:05 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 01 21:15:45 2009 +0200"
      },
      "message": "block: Do not clamp max_hw_sectors for stacking devices\n\nStacking devices do not have an inherent max_hw_sector limit.  Set the\ndefault to INT_MAX so we are bounded only by capabilities of the\nunderlying storage.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "80ddf247c84fbd7f4371dd15bbbff0adb44a8708",
      "tree": "77f60af44099d1181ad87bdb2e61cf605df1b78a",
      "parents": [
        "9f792d9f58496161b1b201e2ca440a6b6e116c39"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri Sep 18 22:54:37 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 01 21:15:45 2009 +0200"
      },
      "message": "block: Set max_sectors correctly for stacking devices\n\nThe topology changes unintentionally caused SAFE_MAX_SECTORS to be set\nfor stacking devices.  Set the default limit to BLK_DEF_MAX_SECTORS and\nprovide SAFE_MAX_SECTORS in blk_queue_make_request() for legacy hw\ndrivers that depend on the old behavior.\n\nAcked-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e454cea20bdcff10ee698d11b8882662a0153a47",
      "tree": "f44581fe57787aef0a4f4dc00993a90ea8e688f6",
      "parents": [
        "78f28b7c555359c67c2a0d23f7436e915329421e"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Fri Sep 18 23:01:12 2009 +0200"
      },
      "committer": {
        "name": "Live-CD User",
        "email": "linux@linux.site",
        "time": "Sat Sep 19 12:50:38 2009 -0700"
      },
      "message": "Driver-Core: extend devnode callbacks to provide permissions\n\nThis allows subsytems to provide devtmpfs with non-default permissions\nfor the device node. Instead of the default mode of 0600, null, zero,\nrandom, urandom, full, tty, ptmx now have a mode of 0666, which allows\nnon-privileged processes to access standard device nodes in case no\nother userspace process applies the expected permissions.\n\nThis also fixes a wrong assignment in pktcdvd and a checkpatch.pl complain.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "ab86e5765d41a5eb4239a1c04d613db87bea5ed8",
      "tree": "a41224d4874c2f90e0b423786f00bedf6f3e8bfa",
      "parents": [
        "7ea61767e41e2baedd6a968d13f56026522e1207",
        "2b2af54a5bb6f7e80ccf78f20084b93c398c3a8b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 16 08:27:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 16 08:27:10 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:\n  Driver Core: devtmpfs - kernel-maintained tmpfs-based /dev\n  debugfs: Modify default debugfs directory for debugging pktcdvd.\n  debugfs: Modified default dir of debugfs for debugging UHCI.\n  debugfs: Change debugfs directory of IWMC3200\n  debugfs: Change debuhgfs directory of trace-events-sample.h\n  debugfs: Fix mount directory of debugfs by default in events.txt\n  hpilo: add poll f_op\n  hpilo: add interrupt handler\n  hpilo: staging for interrupt handling\n  driver core: platform_device_add_data(): use kmemdup()\n  Driver core: Add support for compatibility classes\n  uio: add generic driver for PCI 2.3 devices\n  driver-core: move dma-coherent.c from kernel to driver/base\n  mem_class: fix bug\n  mem_class: use minor as index instead of searching the array\n  driver model: constify attribute groups\n  UIO: remove \u0027default n\u0027 from Kconfig\n  Driver core: Add accessor for device platform data\n  Driver core: move dev_get/set_drvdata to drivers/base/dd.c\n  Driver core: add new device to bus\u0027s list before probing\n"
    },
    {
      "commit": "a4dbd6740df0872cdf0a86841f75beec8381964d",
      "tree": "1093687845d89f8397d61e7df1ad8546a5a25225",
      "parents": [
        "5b2ea2f10dbb2fa91d8033993000f8664309395f"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Wed Jun 24 10:06:31 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Sep 15 09:50:47 2009 -0700"
      },
      "message": "driver model: constify attribute groups\n\nLet attribute group vectors be declared \"const\".  We\u0027d\nlike to let most attribute metadata live in read-only\nsections... this is a start.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ada3fa15057205b7d3f727bba5cd26b5912e350f",
      "tree": "60962fc9e4021b92f484d1a58e72cd3906d4f3db",
      "parents": [
        "2f82af08fcc7dc01a7e98a49a5995a77e32a2925",
        "5579fd7e6aed8860ea0c8e3f11897493153b10ad"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 15 09:39:44 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 15 09:39:44 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (46 commits)\n  powerpc64: convert to dynamic percpu allocator\n  sparc64: use embedding percpu first chunk allocator\n  percpu: kill lpage first chunk allocator\n  x86,percpu: use embedding for 64bit NUMA and page for 32bit NUMA\n  percpu: update embedding first chunk allocator to handle sparse units\n  percpu: use group information to allocate vmap areas sparsely\n  vmalloc: implement pcpu_get_vm_areas()\n  vmalloc: separate out insert_vmalloc_vm()\n  percpu: add chunk-\u003ebase_addr\n  percpu: add pcpu_unit_offsets[]\n  percpu: introduce pcpu_alloc_info and pcpu_group_info\n  percpu: move pcpu_lpage_build_unit_map() and pcpul_lpage_dump_cfg() upward\n  percpu: add @align to pcpu_fc_alloc_fn_t\n  percpu: make @dyn_size mandatory for pcpu_setup_first_chunk()\n  percpu: drop @static_size from first chunk allocators\n  percpu: generalize first chunk allocator selection\n  percpu: build first chunk allocators selectively\n  percpu: rename 4k first chunk allocator to page\n  percpu: improve boot messages\n  percpu: fix pcpu_reclaim() locking\n  ...\n\nFix trivial conflict as by Tejun Heo in kernel/sched.c\n"
    },
    {
      "commit": "355bbd8cb82e60a592f6cd86ce6dbe5677615cf4",
      "tree": "23678e50ad4687f1656edc972388ee8014e7b89d",
      "parents": [
        "39695224bd84dc4be29abad93a0ec232a16fc519",
        "746cd1e7e4a555ddaee53b19a46e05c9c61eaf09"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 17:55:15 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 17:55:15 2009 -0700"
      },
      "message": "Merge branch \u0027for-2.6.32\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.32\u0027 of git://git.kernel.dk/linux-2.6-block: (29 commits)\n  block: use blkdev_issue_discard in blk_ioctl_discard\n  Make DISCARD_BARRIER and DISCARD_NOBARRIER writes instead of reads\n  block: don\u0027t assume device has a request list backing in nr_requests store\n  block: Optimal I/O limit wrapper\n  cfq: choose a new next_req when a request is dispatched\n  Seperate read and write statistics of in_flight requests\n  aoe: end barrier bios with EOPNOTSUPP\n  block: trace bio queueing trial only when it occurs\n  block: enable rq CPU completion affinity by default\n  cfq: fix the log message after dispatched a request\n  block: use printk_once\n  cciss: memory leak in cciss_init_one()\n  splice: update mtime and atime on files\n  block: make blk_iopoll_prep_sched() follow normal 0/1 return convention\n  cfq-iosched: get rid of must_alloc flag\n  block: use interrupts disabled version of raise_softirq_irqoff()\n  block: fix comment in blk-iopoll.c\n  block: adjust default budget for blk-iopoll\n  block: fix long lines in block/blk-iopoll.c\n  block: add blk-iopoll, a NAPI like approach for block devices\n  ...\n"
    },
    {
      "commit": "746cd1e7e4a555ddaee53b19a46e05c9c61eaf09",
      "tree": "d129194669e0122113a5cc86003a4a7711450284",
      "parents": [
        "3d2257f157c2324acbc0fa0fa54e8626a987edd2"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Sep 12 07:35:43 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Sep 14 08:24:53 2009 +0200"
      },
      "message": "block: use blkdev_issue_discard in blk_ioctl_discard\n\nblk_ioctl_discard duplicates large amounts of code from blkdev_issue_discard,\nthe only difference between the two is that blkdev_issue_discard needs to\nsend a barrier discard request and blk_ioctl_discard a non-barrier one,\nand blk_ioctl_discard needs to wait on the request.  To facilitates this\nadd a flags argument to blkdev_issue_discard to control both aspects of the\nbehaviour.  This will be very useful later on for using the waiting\nfuncitonality for other callers.\n\nBased on an earlier patch from Matthew Wilcox \u003cmatthew@wil.cx\u003e.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b8a9ae779f2c7049071034661e09cb7e1e82250c",
      "tree": "e7063b668cc68f4337f1d6545e71d1f881d57e21",
      "parents": [
        "3c5820c743479285ce2678fd3c12b1fd39fe998f"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 22:44:29 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Sep 14 08:24:53 2009 +0200"
      },
      "message": "block: don\u0027t assume device has a request list backing in nr_requests store\n\nStacked devices do not. For now, just error out with -EINVAL. Later\nwe could make the limit apply on stacked devices too, for throttling\nreasons.\n\nThis fixes\n\n5a54cd13353bb3b88887604e2c980aa01e314309\n\nand should go into 2.6.31 stable as well.\n\nCc: stable@kernel.org\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3c5820c743479285ce2678fd3c12b1fd39fe998f",
      "tree": "8f6b3980f5e8da4912b44eee4688d51ce12c97a3",
      "parents": [
        "06d2188644c85c56d243efab914f368d1d23c4a3"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri Sep 11 21:54:52 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Sep 14 08:24:52 2009 +0200"
      },
      "message": "block: Optimal I/O limit wrapper\n\nImplement blk_limits_io_opt() and make blk_queue_io_opt() a wrapper\naround it. DM needs this to avoid poking at the queue_limits directly.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "06d2188644c85c56d243efab914f368d1d23c4a3",
      "tree": "5ee4a4c5b6343a33573fac6a3a66015238e5b1d6",
      "parents": [
        "a9327cac440be4d8333bba975cbbf76045096275"
      ],
      "author": {
        "name": "Jeff Moyer",
        "email": "jmoyer@redhat.com",
        "time": "Fri Sep 11 17:08:59 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Sep 14 08:24:52 2009 +0200"
      },
      "message": "cfq: choose a new next_req when a request is dispatched\n\nThis patch addresses http://bugzilla.kernel.org/show_bug.cgi?id\u003d13401, a\nregression introduced in 2.6.30.\n\nFrom the bug report:\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a9327cac440be4d8333bba975cbbf76045096275",
      "tree": "83fd5dc45dc925c5b4eb0264c3add96cfaa4cae6",
      "parents": [
        "18d8217bc441630c3c5ec7416c5a65c69e8a0979"
      ],
      "author": {
        "name": "Nikanth Karthikesan",
        "email": "knikanth@suse.de",
        "time": "Fri Sep 11 09:18:54 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Sep 14 08:24:52 2009 +0200"
      },
      "message": "Seperate read and write statistics of in_flight requests\n\nCurrently, there is a single in_flight counter measuring the number of\nrequests in the request_queue. But some monitoring tools would like to\nknow how many read requests and write requests are in progress. Split the\ncurrent in_flight counter into two seperate counters for read and write.\n\nThis information is exported as a sysfs attribute, as changing the\ncurrently available stat files would break the existing tools.\n\nSigned-off-by: Nikanth Karthikesan \u003cknikanth@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "01edede41e352e4879a89cdc5468f72ffc89b713",
      "tree": "5467323ee7ed8ff6178fcdae44e9f3ddab078308",
      "parents": [
        "01e97f6b897bf06ec83375d691f2f4d57f5b3a09"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Tue Sep 08 21:56:38 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:34:34 2009 +0200"
      },
      "message": "block: trace bio queueing trial only when it occurs\n\nIf BIO is discarded or cross over end of device,\nBIO queueing trial doesn\u0027t occur.\n\nActually the trace was called just before make_request at first:\n[PATCH] Block queue IO tracing support (blktrace) as of 2006-03-23\n      2056a782f8e7e65fd4bfd027506b4ce1c5e9ccd4\n\nAnd then 2 patches added some checks between them:\n[PATCH] md: check bio address after mapping through partitions\n        5ddfe9691c91a244e8d1be597b6428fcefd58103,\n[BLOCK] Don\u0027t allow empty barriers to be passed down to\nqueues that don\u0027t grok them\n        51fd77bd9f512ab6cc9df0733ba1caaab89eb957\n\nIt breaks original goal.\nLet\u0027s trace it only when it happens.\n\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b217a903ab6581cba04f88c44284dcdd2a752561",
      "tree": "4cb565ead13823c45ed325b20b83ecd78f52a565",
      "parents": [
        "49b3a3cbc0311f8f809183696b1f2ab824b18a51"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Tue Sep 01 10:06:42 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:34:33 2009 +0200"
      },
      "message": "cfq: fix the log message after dispatched a request\n\nThe blktrace tools can show process id when cfq dispatched a request,\nusing cfq_log_cfqq() instead of cfq_log().\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1b379d8daf4e981b2220f057683e35af022d45bc",
      "tree": "cc8e704bc9248c750375b23576d4659bbdc1322d",
      "parents": [
        "a33dac26d42d6f156b3b05a929961bd8d904f6e2"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Aug 11 08:26:11 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:33:32 2009 +0200"
      },
      "message": "cfq-iosched: get rid of must_alloc flag\n\nIt\u0027s not currently used, as pointed out by\nGui Jianfeng \u003cguijianfeng@cn.fujitsu.com\u003e. We already check the\nwait_request flag to allow an idling queue priority allocation access,\nso we don\u0027t need this extra flag.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a33dac26d42d6f156b3b05a929961bd8d904f6e2",
      "tree": "568bd7422522fa261f4894e68c52ab04c7d74ec2",
      "parents": [
        "fca51d64c5baf64604bc1edc5c5f0e7ed176322f"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Aug 06 20:53:45 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:33:32 2009 +0200"
      },
      "message": "block: use interrupts disabled version of raise_softirq_irqoff()\n\nWe already have interrupts disabled at that point, so use the\n__raise_softirq_irqoff() variant.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "fca51d64c5baf64604bc1edc5c5f0e7ed176322f",
      "tree": "d9662eea84a8be4555bad3f12f5dd2cb26305302",
      "parents": [
        "37867ae7c549c58d44337e27738577ed8b7cd753"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Aug 06 20:53:23 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:33:32 2009 +0200"
      },
      "message": "block: fix comment in blk-iopoll.c\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "37867ae7c549c58d44337e27738577ed8b7cd753",
      "tree": "3e954d226c876369eddcfe3363ff5f872caa9451",
      "parents": [
        "1badcfbd7febd33f71fc02bda9112bd25e9c294b"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Aug 06 20:50:48 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:33:31 2009 +0200"
      },
      "message": "block: adjust default budget for blk-iopoll\n\nIt\u0027s not exported, I doubt we\u0027ll have a reason to change this...\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1badcfbd7febd33f71fc02bda9112bd25e9c294b",
      "tree": "b0c769f072f92a0dd197d2dac7512057397fe137",
      "parents": [
        "5e605b64a183a6c0e84cdb99a6f8acb1f8200437"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Aug 06 20:49:14 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:33:31 2009 +0200"
      },
      "message": "block: fix long lines in block/blk-iopoll.c\n\nNote sure why they happened in the first place, probably some bad\nterminal setting.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5e605b64a183a6c0e84cdb99a6f8acb1f8200437",
      "tree": "1133a343bea602cb1bd8ee744c5997ce42a69b54",
      "parents": [
        "fb1e75389bd06fd5987e9cda1b4e0305c782f854"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Aug 05 09:07:21 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:33:31 2009 +0200"
      },
      "message": "block: add blk-iopoll, a NAPI like approach for block devices\n\nThis borrows some code from NAPI and implements a polled completion\nmode for block devices. The idea is the same as NAPI - instead of\ndoing the command completion when the irq occurs, schedule a dedicated\nsoftirq in the hopes that we will complete more IO when the iopoll\nhandler is invoked. Devices have a budget of commands assigned, and will\nstay in polled mode as long as they continue to consume their budget\nfrom the iopoll softirq handler. If they do not, the device is set back\nto interrupt completion mode.\n\nThis patch holds the core bits for blk-iopoll, device driver support\nsold separately.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "fb1e75389bd06fd5987e9cda1b4e0305c782f854",
      "tree": "6658e13f80d4f6450f5a69c82d3bf1b590ecf234",
      "parents": [
        "1f98a13f623e0ef666690a18c1250335fc6d7ef1"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jul 30 08:18:24 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:33:31 2009 +0200"
      },
      "message": "block: improve queue_should_plug() by looking at IO depths\n\nInstead of just checking whether this device uses block layer\ntagging, we can improve the detection by looking at the maximum\nqueue depth it has reached. If that crosses 4, then deem it a\nqueuing device.\n\nThis is important on high IOPS devices, since plugging hurts\nthe performance there (it can be as much as 10-15% of the sys\ntime).\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1f98a13f623e0ef666690a18c1250335fc6d7ef1",
      "tree": "15ca2dddffaa18a0d1844957f4f8cc707cbb8117",
      "parents": [
        "e7e503aedb1f4d165081cb8d47a58c38f80f0cb4"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:32:04 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:33:31 2009 +0200"
      },
      "message": "bio: first step in sanitizing the bio-\u003ebi_rw flag testing\n\nGet rid of any functions that test for these bits and make callers\nuse bio_rw_flagged() directly. Then it is at least directly apparent\nwhat variable and flag they check.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e3264a4d7de147677f1995f119eba05c9abe9c1c",
      "tree": "151047f3598583556194262a5b07c75ca3b4781d",
      "parents": [
        "d58b85e1e891cd842d6e183f5d94d06a4fd0122c"
      ],
      "author": {
        "name": "Hannes Reinecke",
        "email": "hare@suse.de",
        "time": "Tue Jul 28 09:13:13 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:33:31 2009 +0200"
      },
      "message": "Send uevents for write_protect changes\n\nWhenever a block device changes it\u0027s read-only attribute\nnotify the userspace about it.\n\nSigned-off-by: Hannes Reinecke \u003chare@suse.de\u003e\nSigned-off-by: Nikanth Karthikesan \u003cknikanth@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d58b85e1e891cd842d6e183f5d94d06a4fd0122c",
      "tree": "32a77721594c79610b8dba9026ff9f9928545d17",
      "parents": [
        "5ad531db6e0f3c3c985666e83d3c1c4d53acccf9"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@redhat.com",
        "time": "Fri Jul 10 10:20:30 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:33:30 2009 +0200"
      },
      "message": "cfq-iosched: no need to keep track of busy_rt_queues\n\no Get rid of busy_rt_queues infrastructure. Looks like it is redundant.\n\no Once an RT queue gets request it will preempt any of the BE or IDLE queues\n  immediately. Otherwise this queue will be put on service tree and scheduler\n  will anyway select this queue before any of the BE or IDLE queue. Hence\n  looks like there is no need to keep track of how many busy RT queues are\n  currently on service tree.\n\nSigned-off-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5ad531db6e0f3c3c985666e83d3c1c4d53acccf9",
      "tree": "f5bd394c493f425e12fc6991d2b7adf2121ba506",
      "parents": [
        "da6c5c720c52cc717124f8f0830b710ea6a092fd"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jul 03 12:57:48 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:33:30 2009 +0200"
      },
      "message": "cfq-iosched: drain device queue before switching to a sync queue\n\nTo lessen the impact of async IO on sync IO, let the device drain of\nany async IO in progress when switching to a sync cfqq that has idling\nenabled.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "da6c5c720c52cc717124f8f0830b710ea6a092fd",
      "tree": "f54c880aec9289895721e707d4b22e456b277127",
      "parents": [
        "80a761fd33cf812f771e212139157bf8f58d4b3f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Sep 11 14:26:40 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:33:30 2009 +0200"
      },
      "message": "scsi,block: update SCSI to handle mixed merge failures\n\nUpdate scsi_io_completion() such that it only fails requests till the\nnext error boundary and retry the leftover.  This enables block layer\nto merge requests with different failfast settings and still behave\ncorrectly on errors.  Allow merge of requests of different failfast\nsettings.\n\nAs SCSI is currently the only subsystem which follows failfast status,\nthere\u0027s no need to worry about other block drivers for now.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Niel Lambrechts \u003cniel.lambrechts@gmail.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "80a761fd33cf812f771e212139157bf8f58d4b3f",
      "tree": "21ea67ad749c15f25cb8a9278fe9bd7643c0ba31",
      "parents": [
        "a82afdfcb8c0df09776b6458af6b68fc58b2e87b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Jul 03 17:48:17 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:33:30 2009 +0200"
      },
      "message": "block: implement mixed merge of different failfast requests\n\nFailfast has characteristics from other attributes.  When issuing,\nexecuting and successuflly completing requests, failfast doesn\u0027t make\nany difference.  It only affects how a request is handled on failure.\nAllowing requests with different failfast settings to be merged cause\nnormal IOs to fail prematurely while not allowing has performance\npenalties as failfast is used for read aheads which are likely to be\nlocated near in-flight or to-be-issued normal IOs.\n\nThis patch introduces the concept of \u0027mixed merge\u0027.  A request is a\nmixed merge if it is merge of segments which require different\nhandling on failure.  Currently the only mixable attributes are\nfailfast ones (or lack thereof).\n\nWhen a bio with different failfast settings is added to an existing\nrequest or requests of different failfast settings are merged, the\nmerged request is marked mixed.  Each bio carries failfast settings\nand the request always tracks failfast state of the first bio.  When\nthe request fails, blk_rq_err_bytes() can be used to determine how\nmany bytes can be safely failed without crossing into an area which\nrequires further retrials.\n\nThis allows request merging regardless of failfast settings while\nkeeping the failure handling correct.\n\nThis patch only implements mixed merge but doesn\u0027t enable it.  The\nnext one will update SCSI to make use of mixed merge.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Niel Lambrechts \u003cniel.lambrechts@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a82afdfcb8c0df09776b6458af6b68fc58b2e87b",
      "tree": "d53910e4c2e9d1502cf2a7ce67a67cc54decb7fa",
      "parents": [
        "0d03d59d9b31cd1e33b7e46a80b6fef66244b1f2"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Jul 03 17:48:16 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:33:27 2009 +0200"
      },
      "message": "block: use the same failfast bits for bio and request\n\nbio and request use the same set of failfast bits.  This patch makes\nthe following changes to simplify things.\n\n* enumify BIO_RW* bits and reorder bits such that BIOS_RW_FAILFAST_*\n  bits coincide with __REQ_FAILFAST_* bits.\n\n* The above pushes BIO_RW_AHEAD out of sync with __REQ_FAILFAST_DEV\n  but the matching is useless anyway.  init_request_from_bio() is\n  responsible for setting FAILFAST bits on FS requests and non-FS\n  requests never use BIO_RW_AHEAD.  Drop the code and comment from\n  blk_rq_bio_prep().\n\n* Define REQ_FAILFAST_MASK which is OR of all FAILFAST bits and\n  simplify FAILFAST flags handling in init_request_from_bio().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d993831fa7ffeb89e994f046f93eeb09ec91df08",
      "tree": "da4f94bbf022c83988bda71adf1f1b3a88cb4592",
      "parents": [
        "f09b00d3e789a88fa6c7c03cedc62cb65c1de0cb"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jun 12 14:45:52 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 09:20:26 2009 +0200"
      },
      "message": "writeback: add name to backing_dev_info\n\nThis enables us to track who does what and print info. Its main use\nis catching dirty inodes on the default_backing_dev_info, so we can\nfix that up.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c295fc05789653ef24f296299df7c5f92fe74dce",
      "tree": "f1b14e69ba862d41baafbb30212e918e35ba626a",
      "parents": [
        "adda766193ea1cf3137484a9521972d080d0b7af"
      ],
      "author": {
        "name": "Nikanth Karthikesan",
        "email": "knikanth@suse.de",
        "time": "Tue Sep 01 22:40:15 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Sep 01 22:40:15 2009 +0200"
      },
      "message": "block: Allow changing max_sectors_kb above the default 512\n\nThe patch \"block: Use accessor functions for queue limits\"\n(ae03bf639a5027d27270123f5f6e3ee6a412781d) changed queue_max_sectors_store()\nto use blk_queue_max_sectors() instead of directly assigning the value.\n\nBut blk_queue_max_sectors() differs a bit\n1. It sets both max_sectors_kb, and max_hw_sectors_kb\n2. Never allows one to change max_sectors_kb above BLK_DEF_MAX_SECTORS. If one\nspecifies a value greater then max_hw_sectors is set to that value but\nmax_sectors is set to BLK_DEF_MAX_SECTORS\n\nI am not sure whether blk_queue_max_sectors() should be changed, as it seems\nto be that way for a long time. And there may be callers dependent on that\nbehaviour.\n\nThis patch simply reverts to the older way of directly assigning the value to\nmax_sectors as it was before.\n\nSigned-off-by: Nikanth Karthikesan \u003cknikanth@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "384be2b18a5f9475eab9ca2bdfa95cc1a04ef59c",
      "tree": "04c93f391a1b65c8bf8d7ba8643c07d26c26590a",
      "parents": [
        "a76761b621bcd8336065c4fe3a74f046858bc34c",
        "142d44b0dd6741a64a7bdbe029110e7c1dcf1d23"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Aug 14 14:41:02 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Aug 14 14:45:31 2009 +0900"
      },
      "message": "Merge branch \u0027percpu-for-linus\u0027 into percpu-for-next\n\nConflicts:\n\tarch/sparc/kernel/smp_64.c\n\tarch/x86/kernel/cpu/perf_counter.c\n\tarch/x86/kernel/setup_percpu.c\n\tdrivers/cpufreq/cpufreq_ondemand.c\n\tmm/percpu.c\n\nConflicts in core and arch percpu codes are mostly from commit\ned78e1e078dd44249f88b1dd8c76dafb39567161 which substituted many\nnum_possible_cpus() with nr_cpu_ids.  As for-next branch has moved all\nthe first chunk allocators into mm/percpu.c, the changes are moved\nfrom arch code to mm/percpu.c.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "14d9fa352592582e457cf75022202766baac1348",
      "tree": "a2944427d12a45f3d294f52ee350bd32f315d2bb",
      "parents": [
        "7e5f5fb09e6fc657f21816b5a18ba645a913368e"
      ],
      "author": {
        "name": "John Stoffel",
        "email": "john@stoffel.org",
        "time": "Tue Aug 04 22:10:17 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Aug 04 22:10:17 2009 +0200"
      },
      "message": "Make SCSI SG v4 driver enabled by default and remove EXPERIMENTAL dependency, since udev depends on BSG\n\nMake Block Layer SG support v4 the default, since recent udev versions\ndepend on this to access serial numbers and other low level info properly.\n\nThis should be backported to older kernels as well, since most distros have\nenabled this for a long time.\n\nSigned-off-by: John Stoffel \u003cjohn@stoffel.org\u003e\nCc: stable@kernel.org\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7e5f5fb09e6fc657f21816b5a18ba645a913368e",
      "tree": "90a60c56f3bdc8f40969bda9d87eb3d31a066b8e",
      "parents": [
        "70dd5bf3b99964d52862ad2810c24cc32a553535"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri Jul 31 11:49:13 2009 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sat Aug 01 10:24:35 2009 +0200"
      },
      "message": "block: Update topology documentation\n\nUpdate topology comments and sysfs documentation based upon discussions\nwith Neil Brown.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "70dd5bf3b99964d52862ad2810c24cc32a553535",
      "tree": "912cef9cf7545b9019ad4c54def7f651213f2725",
      "parents": [
        "7c958e32649e0c35801762878fb0b6da8c55a515"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri Jul 31 11:49:12 2009 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sat Aug 01 10:24:35 2009 +0200"
      },
      "message": "block: Stack optimal I/O size\n\nWhen stacking block devices ensure that optimal I/O size is scaled\naccordingly.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nReviewed-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7c958e32649e0c35801762878fb0b6da8c55a515",
      "tree": "610b1e685b5f634ca591865cc9f5ce22f1e3e6c1",
      "parents": [
        "fef246672b009cf3f7a74e2fc9a76932ef2eeed2"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri Jul 31 11:49:11 2009 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sat Aug 01 10:24:35 2009 +0200"
      },
      "message": "block: Add a wrapper for setting minimum request size without a queue\n\nIntroduce blk_limits_io_min() and make blk_queue_io_min() call it.\n\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "fef246672b009cf3f7a74e2fc9a76932ef2eeed2",
      "tree": "41d7dcf1ece710d6e4bf387dee140e47f66e9011",
      "parents": [
        "ed680c4ad478d0fee9740f7d029087f181346564"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri Jul 31 11:49:10 2009 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sat Aug 01 10:24:35 2009 +0200"
      },
      "message": "block: Make blk_queue_stack_limits use the new stacking interface\n\nblk_queue_stack_limits() has been superceded by blk_stack_limits() and\ndisk_stack_limits().  Wrap the function call for now, we\u0027ll deprecate it\nlater.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "56ad1740d9a8dc271e71fee234be662638c64458",
      "tree": "bf060081bde4063a4d02d1da63f79e412cca329c",
      "parents": [
        "3839e4b29b4385e4b31075e7805683e2aa2a8103"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 28 22:11:24 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 28 22:11:24 2009 +0200"
      },
      "message": "block: make the end_io functions be non-GPL exports\n\nPrior to the change for more sane end_io functions, we exported\nthe helpers with the normal EXPORT_SYMBOL(). That got changed\nto _GPL() for the new interface. Revert that particular change,\non the basis that this is basic functionality and doesn\u0027t dip\ninto internal structures. If these exports can\u0027t be non-GPL,\nthen we may as well make EXPORT_SYMBOL() imply GPL for\neverything.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3839e4b29b4385e4b31075e7805683e2aa2a8103",
      "tree": "48481cbd67b72e2a62f304daff2a7d3cf86bd1f4",
      "parents": [
        "a4e7d46407d73f35d217013b363b79a8f8eafcaa"
      ],
      "author": {
        "name": "Xiaotian Feng",
        "email": "dfeng@redhat.com",
        "time": "Tue Jul 28 09:11:14 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 28 09:11:14 2009 +0200"
      },
      "message": "block: fix improper kobject release in blk_integrity_unregister\n\nblk_integrity_unregister should use kobject_put to release the kobject,\notherwise after bi is freed, memory of bi-\u003ekobj-\u003ename is leaked.\n\nSigned-off-by: Xiaotian Feng \u003cdfeng@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a4e7d46407d73f35d217013b363b79a8f8eafcaa",
      "tree": "109996edac0c6382e7a7cfb99736e75ea5398b49",
      "parents": [
        "a85a00a699740f6f9863f88aef22060fe1534681"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 28 09:07:29 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 28 09:07:29 2009 +0200"
      },
      "message": "block: always assign default lock to queues\n\nMove the assignment of a default lock below blk_init_queue() to\nblk_queue_make_request(), so we also get to set the default lock\nfor -\u003emake_request_fn() based drivers. This is important since the\nqueue flag locking requires a lock to be in place.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "9cb308ce8d32a1fb3600acab6034e19a90228743",
      "tree": "774c9b00be1b417cc805895b4da83dd59ea144c9",
      "parents": [
        "8f47428704c2fd6f787a6f340071b9c338b65803"
      ],
      "author": {
        "name": "Xiaotian Feng",
        "email": "dfeng@redhat.com",
        "time": "Fri Jul 17 15:26:26 2009 +0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Jul 17 16:54:15 2009 +0900"
      },
      "message": "block: sysfs fix mismatched queue_var_{store,show} in 64bit kernel\n\nIn blk-sysfs.c, queue_var_store uses unsigned long to store data,\nbut queue_var_show uses unsigned int to show data.  This causes,\n\n\t# echo 70000000000 \u003e /sys/block/\u003cdev\u003e/queue/read_ahead_kb\n\t# cat /sys/block/\u003cdev\u003e/queue/read_ahead_kb \u003d\u003e get wrong value\n\nFix it by using unsigned long.\n\nWhile at it, convert queue_rq_affinity_show() such that it uses bool\nvariable instead of explicit !\u003d 0 testing.\n\nSigned-off-by: Xiaotian Feng \u003cdfeng@redhat.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "0a09f4319c6d88c732ed46735f8584bbb95cac65",
      "tree": "4bb79b77f020c340c6873d760b9de444fbbd5ffe",
      "parents": [
        "c9d4bc289cd1cd43c3cff97b73efe2b0b5098a92"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jul 16 15:26:55 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Jul 17 14:50:43 2009 +0900"
      },
      "message": "block: fix failfast merge testing in elv_rq_merge_ok()\n\nCommit ab0fd1debe730ec9998678a0c53caefbd121ed10 tries to prevent merge\nof requests with different failfast settings.  In elv_rq_merge_ok(),\nit compares new bio\u0027s failfast flags against the merge target\nrequest\u0027s.  However, the flag testing accessors for bio and blk don\u0027t\nreturn boolean but the tested bit value directly and FAILFAST on bio\nand blk don\u0027t match, so directly comparing them with \u003d\u003d results in\nfalse negative unnecessary preventing merge of readahead requests.\n\nThis patch convert the results to boolean by negating them before\ncomparison.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nCc: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "32f2e807a3938b24d0831211e6094f9e44b2fc83",
      "tree": "80baac86022bc36bc07a787008642149fa205642",
      "parents": [
        "ecb554a846f8e9d2a58f6d6c118168a63ac065aa"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@redhat.com",
        "time": "Thu Jul 09 22:13:16 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.(none)",
        "time": "Fri Jul 10 20:31:54 2009 +0200"
      },
      "message": "cfq-iosched: reset oom_cfqq in cfq_set_request()\n\nIn case memory is scarce, we now default to oom_cfqq. Once memory is\navailable again, we should allocate a new cfqq and stop using oom_cfqq for\na particular io context.\n\nOnce a new request comes in, check if we are using oom_cfqq, and if yes,\ntry to allocate a new cfqq.\n\nTested the patch by forcing the use of oom_cfqq and upon next request thread\nrealized that it was using oom_cfqq and it allocated a new cfqq.\n\nSigned-off-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "76da03467a1a78811777561bbb1fa56175ee4778",
      "tree": "fb4a6f2b7a42213ee76aba136f74f161fefd9618",
      "parents": [
        "8aa7e847d834ed937a9ad37a0f2ad5b8584c1ab0"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Thu Jul 09 09:48:28 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.(none)",
        "time": "Fri Jul 10 20:31:53 2009 +0200"
      },
      "message": "block: call blk_scsi_ioctl_init()\n\nCurrently, blk_scsi_ioctl_init() is not called since it lacks\nan initcall marking. This causes the command table to be\nunitialized, hence somce commands are block when they should\nnot have been.\n\nThis fixes a regression introduced by commit\n018e0446890661504783f92388ecce7138c1566d\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c43768cbb7655ea5ff782ae250f6e2ef4297cf98",
      "tree": "3982e41dde3eecaa3739a5d1a8ed18d04bd74f01",
      "parents": [
        "1a8dd307cc0a2119be4e578c517795464e6dabba",
        "746a99a5af60ee676afa2ba469ccd1373493c7e7"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sat Jul 04 07:13:18 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sat Jul 04 07:13:18 2009 +0900"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n\nPull linus#master to merge PER_CPU_DEF_ATTRIBUTES and alpha build fix\nchanges.  As alpha in percpu tree uses \u0027weak\u0027 attribute instead of\ninline assembly, there\u0027s no need for __used attribute.\n\nConflicts:\n\tarch/alpha/include/asm/percpu.h\n\tarch/mn10300/kernel/vmlinux.lds.S\n\tinclude/linux/percpu-defs.h\n"
    },
    {
      "commit": "ab0fd1debe730ec9998678a0c53caefbd121ed10",
      "tree": "c44de6ef7d876a32c4f733fdc26d40cdcbf7d374",
      "parents": [
        "b59e64d0ddb756af57ea032383bfd393a286a8e8"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Jul 03 12:56:18 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.(none)",
        "time": "Fri Jul 03 21:06:45 2009 +0200"
      },
      "message": "block: don\u0027t merge requests of different failfast settings\n\nBlock layer used to merge requests and bios with different failfast\nsettings.  This caused regular IOs to fail prematurely when they were\nmerged into failfast requests for readahead.\n\nNiel Lambrechts could trigger the problem semi-reliably on ext4 when\nresuming from STR.  ext4 uses readahead when reading inodes and\ncombined with the deterministic extra SATA PHY exception cycle during\nresume on the specific configuration, non-readahead inode read would\nfail causing ext4 errors.  Please read the following thread for\ndetails.\n\n  http://lkml.org/lkml/2009/5/23/21\n\nThis patch makes block layer reject merging if the failfast settings\ndon\u0027t match.  This is correct but likely to lower IO performance by\npreventing regular IOs from mingling into surrounding readahead\nrequests.  Changes to allow such mixed merges and handle errors\ncorrectly will be added later.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Niel Lambrechts \u003cniel.lambrechts@gmail.com\u003e\nCc: Theodore Tso \u003ctytso@mit.edu\u003e\nSigned-off-by: Jens Axboe \u003caxboe@carl.(none)\u003e\n"
    },
    {
      "commit": "b706f64281b24d8b1fdc8ae883700131d365c412",
      "tree": "3eed31b51cdcb2787ff2d90eaf39b19fba242a9f",
      "parents": [
        "db64f680ba4b5c56c4be59f0698000df89ff0281"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Wed Jul 01 12:41:14 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Jul 01 12:41:14 2009 +0200"
      },
      "message": "cfq-iosched: remove redundant check for NULL cfqq in cfq_set_request()\n\nWith the changes for falling back to an oom_cfqq, we never fail\nto find/allocate a queue in cfq_get_queue(). So remove the check.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "db64f680ba4b5c56c4be59f0698000df89ff0281",
      "tree": "f094e64952ba746525e4695256a70e0d32553065",
      "parents": [
        "018e0446890661504783f92388ecce7138c1566d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Jun 30 09:35:44 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Jul 01 10:56:26 2009 +0200"
      },
      "message": "blocK: Restore barrier support for md and probably other virtual devices.\n\nThe next_ordered flag is only meaningful for devices that use __make_request.\nSo move the test against next_ordered out of generic code and in to\n__make_request\n\nSince this test was added, barriers have not worked on md or any\ndevices that don\u0027t use __make_request and so don\u0027t bother to set\nnext_ordered.  (dm explicitly sets something other than\nQUEUE_ORDERED_NONE since\n  commit 99360b4c18f7675b50d283301d46d755affe75fd\nbut notes in the comments that it is otherwise meaningless).\n\nCc: Ken Milmore \u003cken.milmore@googlemail.com\u003e\nCc: stable@kernel.org\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "018e0446890661504783f92388ecce7138c1566d",
      "tree": "d555758047dde4a26b2489d397a5a86be53723b9",
      "parents": [
        "7878cba9f0037f5599004b03a1260b32d9050360"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jun 26 16:27:10 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Jul 01 10:56:26 2009 +0200"
      },
      "message": "block: get rid of queue-private command filter\n\nThe initial patches to support this through sysfs export were broken\nand have been if 0\u0027ed out in any release. So lets just kill the code\nand reclaim some space in struct request_queue, if anyone would later\nlike to fixup the sysfs bits, the git history can easily restore\nthe removed bits.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7878cba9f0037f5599004b03a1260b32d9050360",
      "tree": "bff5e1a47b6e64e45df0428925cc6db8542cad62",
      "parents": [
        "6118b70b3a0b4c583439bb77600194c82f220ce3"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri Jun 26 15:37:49 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Jul 01 10:56:25 2009 +0200"
      },
      "message": "block: Create bip slabs with embedded integrity vectors\n\nThis patch restores stacking ability to the block layer integrity\ninfrastructure by creating a set of dedicated bip slabs.  Each bip slab\nhas an embedded bio_vec array at the end.  This cuts down on memory\nallocations and also simplifies the code compared to the original bvec\nversion.  Only the largest bip slab is backed by a mempool.  The pool is\ncontained in the bio_set so stacking drivers can ensure forward\nprogress.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@carl.(none)\u003e\n"
    },
    {
      "commit": "6118b70b3a0b4c583439bb77600194c82f220ce3",
      "tree": "6966f1b059f1bdadc0d679067796d9b4bf9a22c3",
      "parents": [
        "d5036d770f871bd34c9cfd955e6dee692e1e8e81"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jun 30 09:34:12 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Jul 01 10:56:25 2009 +0200"
      },
      "message": "cfq-iosched: get rid of the need for __GFP_NOFAIL in cfq_find_alloc_queue()\n\nSetup an emergency fallback cfqq that we allocate at IO scheduler init\ntime. If the slab allocation fails in cfq_find_alloc_queue(), we\u0027ll just\npunt IO to that cfqq instead. This ensures that cfq_find_alloc_queue()\nnever fails without having to ensure free memory.\n\nOn cfqq lookup, always try to allocate a new cfqq if the given cfq io\ncontext has the oom_cfqq assigned. This ensures that we only temporarily\npunt to this shared queue.\n\nReviewed-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d5036d770f871bd34c9cfd955e6dee692e1e8e81",
      "tree": "d0718922511121e96bdd385d6c28a254cfc93519",
      "parents": [
        "61fd21670d048017c81e62f60894ef1b04b481db"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jun 26 10:44:34 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Jul 01 10:56:25 2009 +0200"
      },
      "message": "cfq-iosched: move cfqq initialization out of cfq_find_alloc_queue()\n\nWe\u0027re going to be needing that init code outside of that function\nto get rid of the __GFP_NOFAIL in cfqq allocation.\n\nReviewed-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "245b2e70eabd797932adb263a65da0bab3711753",
      "tree": "30f0b790dadd2b70bf06e534abcf66a76e97b05a",
      "parents": [
        "b9bf3121af348d9255f1c917830fe8c2df52efcb"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Jun 24 15:13:48 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Jun 24 15:13:48 2009 +0900"
      },
      "message": "percpu: clean up percpu variable definitions\n\nPercpu variable definition is about to be updated such that all percpu\nsymbols including the static ones must be unique.  Update percpu\nvariable definitions accordingly.\n\n* as,cfq: rename ioc_count uniquely\n\n* cpufreq: rename cpu_dbs_info uniquely\n\n* xen: move nesting_count out of xen_evtchn_do_upcall() and rename it\n\n* mm: move ratelimits out of balance_dirty_pages_ratelimited_nr() and\n  rename it\n\n* ipv4,6: rename cookie_scratch uniquely\n\n* x86 perf_counter: rename prev_left to pmc_prev_left, irq_entry to\n  pmc_irq_entry and nmi_entry to pmc_nmi_entry\n\n* perf_counter: rename disable_count to perf_disable_count\n\n* ftrace: rename test_event_disable to ftrace_test_event_disable\n\n* kmemleak: rename test_pointer to kmemleak_test_pointer\n\n* mce: rename next_interval to mce_next_interval\n\n[ Impact: percpu usage cleanups, no duplicate static percpu var names ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: linux-mm \u003clinux-mm@kvack.org\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\n"
    },
    {
      "commit": "111986593561fc4c94a1fba3f3cd84476fb40b22",
      "tree": "8af40a65c9d4a7abf0b6eaa461562b5a54f15dd2",
      "parents": [
        "93bdcba5a7e55307e27671594c3cd8b4669b9e7a"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Wed Jun 17 15:10:11 2009 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Jun 21 10:52:42 2009 -0500"
      },
      "message": "block: revert \"bsg: setting rq-\u003ebio to NULL\"\n\nThe SMP handler (sas_smp_request) was fixed to use the block API\nproperly, so we don\u0027t need this workaround to avoid blk_put_request()\nwarning.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "f740f5ca056f0a4eff3abdf272a8a4ba3965d57d",
      "tree": "6340ea4b20227733b380816d0552127de110905c",
      "parents": [
        "90c699a9ee4be165966d40f1837909ccb8890a68"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Jun 19 09:18:32 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jun 19 09:18:32 2009 +0200"
      },
      "message": "Fix kernel-doc parameter name typo in blk-settings.c:\n\nWarning(block/blk-settings.c:108): No description found for parameter \u0027lim\u0027\nWarning(block/blk-settings.c:108): Excess function parameter \u0027limits\u0027 description in \u0027blk_set_default_limits\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "90c699a9ee4be165966d40f1837909ccb8890a68",
      "tree": "ff136ce7b73c7d7bbf5eb4241d01cb3b930d3566",
      "parents": [
        "3a02c8e8142f7f133d4c6e72bc3e1d830e6b8b9e"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jun 19 08:08:50 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jun 19 08:08:50 2009 +0200"
      },
      "message": "block: rename CONFIG_LBD to CONFIG_LBDAF\n\nFollow-up to \"block: enable by default support for large devices\nand files on 32-bit archs\".\n\nRename CONFIG_LBD to CONFIG_LBDAF to:\n- allow update of existing [def]configs for \"default y\" change\n- reflect that it is used also for large files support nowadays\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3a02c8e8142f7f133d4c6e72bc3e1d830e6b8b9e",
      "tree": "7485ad50ba3b773d186119d48cba2a124e667125",
      "parents": [
        "ddeb9c3e949751992628628d000915a317df52c4"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Thu Jun 18 09:56:03 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jun 18 09:56:20 2009 +0200"
      },
      "message": "block: Fix bounce_pfn setting\n\nCorrect stacking bounce_pfn limit setting and prevent warnings on\n32-bit.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6fd03301d76bc439382710e449f58efbb233df1b",
      "tree": "3c8a3217aed67319683ffc1debccdb5b3245b16c",
      "parents": [
        "cd5232bd6be2d215a800f3d88c287ca791debfbe",
        "e4792aa30f9d33584d7192685ed149cc5fee737f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 12:57:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 12:57:37 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (64 commits)\n  debugfs: use specified mode to possibly mark files read/write only\n  debugfs: Fix terminology inconsistency of dir name to mount debugfs filesystem.\n  xen: remove driver_data direct access of struct device from more drivers\n  usb: gadget: at91_udc: remove driver_data direct access of struct device\n  uml: remove driver_data direct access of struct device\n  block/ps3: remove driver_data direct access of struct device\n  s390: remove driver_data direct access of struct device\n  parport: remove driver_data direct access of struct device\n  parisc: remove driver_data direct access of struct device\n  of_serial: remove driver_data direct access of struct device\n  mips: remove driver_data direct access of struct device\n  ipmi: remove driver_data direct access of struct device\n  infiniband: ehca: remove driver_data direct access of struct device\n  ibmvscsi: gadget: at91_udc: remove driver_data direct access of struct device\n  hvcs: remove driver_data direct access of struct device\n  xen block: remove driver_data direct access of struct device\n  thermal: remove driver_data direct access of struct device\n  scsi: remove driver_data direct access of struct device\n  pcmcia: remove driver_data direct access of struct device\n  PCIE: remove driver_data direct access of struct device\n  ...\n\nManually fix up trivial conflicts due to different direct driver_data\ndirect access fixups in drivers/block/{ps3disk.c,ps3vram.c}\n"
    },
    {
      "commit": "e212d6f25084e8e9b02a04ba514d7bb1e4a4924a",
      "tree": "a94638953a7aa7f0bbd6f5d08fa3c649ce0ef8ce",
      "parents": [
        "5ced504b1bd1979378de35c56aa5d3d79fb5033f"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Jun 16 11:19:36 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jun 16 11:19:36 2009 +0200"
      },
      "message": "block: remove some includings of blktrace_api.h\n\nWhen porting blktrace to tracepoints, we changed to trace/block.h\nfor trace prober declarations.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e475bba2fdee9c3dbfe25f026f8fb8de69508ad2",
      "tree": "cb2a050b58fbd8cd7a4d82349164622fedc2c6d0",
      "parents": [
        "6923715ae39ed39ac2fc1993e5061668f4f71ad0"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Tue Jun 16 08:23:52 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jun 16 08:23:52 2009 +0200"
      },
      "message": "block: Introduce helper to reset queue limits to default values\n\nDM reuses the request queue when swapping in a new device table\nIntroduce blk_set_default_limits() which can be used to reset the the\nqueue_limits prior to stacking devices.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nAcked-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nAcked-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6923715ae39ed39ac2fc1993e5061668f4f71ad0",
      "tree": "98810062c76a07bf6914a192806ba2f927b3cb41",
      "parents": [
        "a979eff1811a07f5fd331c5f6f727370747b42ad"
      ],
      "author": {
        "name": "Jeff Moyer",
        "email": "jmoyer@redhat.com",
        "time": "Fri Jun 12 15:29:30 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jun 16 08:21:04 2009 +0200"
      },
      "message": "cfq: remove extraneous \u0027\\n\u0027 in blktrace output\n\nI noticed a blank line in blktrace output.  This patch fixes that.\n\nSigned-off-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0989a025d2f4f9f51ea641bd26c563c53dc63f55",
      "tree": "5b4f29d3b1a3d09d3052e0c18d63dba8a946da86",
      "parents": [
        "81be834713a7d6b9463663145d493fe9daee2d61"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jun 12 14:42:56 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jun 16 08:21:03 2009 +0200"
      },
      "message": "block: don\u0027t overwrite bdi-\u003estate after bdi_init() has been run\n\nMove the defaults to where we do the init of the backing_dev_info.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "81be834713a7d6b9463663145d493fe9daee2d61",
      "tree": "1f70583e9148554abaf4b6128bdb7d9bd8bacb6c",
      "parents": [
        "03347e2592078a90df818670fddf97a33eec70fb"
      ],
      "author": {
        "name": "Gui Jianfeng",
        "email": "guijianfeng@cn.fujitsu.com",
        "time": "Fri Jun 12 15:27:50 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jun 16 08:21:03 2009 +0200"
      },
      "message": "cfq: cleanup for last_end_request in cfq_data\n\nActually, last_end_request in cfq_data isn\u0027t used now. So lets\njust remove it.\n\nSigned-off-by: Gui Jianfeng \u003cguijianfeng@cn.fujitsu.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2bdf914915e98fe82495d05741a57e37f4b604e8",
      "tree": "6d598776789ff0ccd29b46fb6d08d183896e982f",
      "parents": [
        "1ce8a0d396288f28070483a8190843c23b8282f4"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Thu Apr 30 15:23:42 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:30:26 2009 -0700"
      },
      "message": "Driver Core: bsg: add nodename for bsg driver\n\nThis adds support to the BSG driver to report the proper device name to\nuserspace for the bsg devices.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "b03f38b685e2e1db174fb8982930e789a516f414",
      "tree": "8ad84738e433409647a1450a991dba1ba90d7921",
      "parents": [
        "f7a386c5b8ff34cd84ae922603d1c6f9d234edee"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Thu Apr 30 15:23:42 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:30:25 2009 -0700"
      },
      "message": "Driver Core: block: add nodename support for block drivers.\n\nThis adds support for block drivers to report their requested nodename\nto userspace.  It also updates a number of block drivers to provide the\nneeded subdirectory and device name to be used for them.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8ebf975608aaebd7feb33d77f07ba21a6380e086",
      "tree": "6de4ee1dd3ede890169644ea586ed7c8c9d8f7b2",
      "parents": [
        "4b4f1d017815f96737ca4a62f90e5a1f0b9f02d6"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu Jun 11 20:00:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 20:14:23 2009 -0700"
      },
      "message": "block: fix kernel-doc in recent block/ changes\n\nFix kernel-doc warnings in recently changed block/ source code.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c9059598ea8981d02356eead3188bf7fa4d717b8",
      "tree": "03e73b20a30e988da7c6a3e0ad93b2dc5843274d",
      "parents": [
        "0a33f80a8373eca7f4bea3961d1346c3815fa5ed",
        "b0fd271d5fba0b2d00888363f3869e3f9b26caa9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 10:52:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 11:10:35 2009 -0700"
      },
      "message": "Merge branch \u0027for-2.6.31\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.31\u0027 of git://git.kernel.dk/linux-2.6-block: (153 commits)\n  block: add request clone interface (v2)\n  floppy: fix hibernation\n  ramdisk: remove long-deprecated \"ramdisk\u003d\" boot-time parameter\n  fs/bio.c: add missing __user annotation\n  block: prevent possible io_context-\u003erefcount overflow\n  Add serial number support for virtio_blk, V4a\n  block: Add missing bounce_pfn stacking and fix comments\n  Revert \"block: Fix bounce limit setting in DM\"\n  cciss: decode unit attention in SCSI error handling code\n  cciss: Remove no longer needed sendcmd reject processing code\n  cciss: change SCSI error handling routines to work with interrupts enabled.\n  cciss: separate error processing and command retrying code in sendcmd_withirq_core()\n  cciss: factor out fix target status processing code from sendcmd functions\n  cciss: simplify interface of sendcmd() and sendcmd_withirq()\n  cciss: factor out core of sendcmd_withirq() for use by SCSI error handling code\n  cciss: Use schedule_timeout_uninterruptible in SCSI error handling code\n  block: needs to set the residual length of a bidi request\n  Revert \"block: implement blkdev_readpages\"\n  block: Fix bounce limit setting in DM\n  Removed reference to non-existing file Documentation/PCI/PCI-DMA-mapping.txt\n  ...\n\nManually fix conflicts with tracing updates in:\n\tblock/blk-sysfs.c\n\tdrivers/ide/ide-atapi.c\n\tdrivers/ide/ide-cd.c\n\tdrivers/ide/ide-floppy.c\n\tdrivers/ide/ide-tape.c\n\tinclude/trace/events/block.h\n\tkernel/trace/blktrace.c\n"
    },
    {
      "commit": "27951daa71f1c91300ae4de9441916d1ffe2b078",
      "tree": "72d9ecde8c784c0837b7caf64b97fac5ffd5a424",
      "parents": [
        "59c288ffb6dfb55bdd6bfe6826ab6203ff791930",
        "e8e7526c3c0863be25ab03a0871ee0978de5ba50"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 10:00:03 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 10:00:03 2009 -0700"
      },
      "message": "Merge branch \u0027for-2.6.31\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* \u0027for-2.6.31\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (28 commits)\n  ide-tape: fix debug call\n  alim15x3: Remove historical hacks, re-enable init_hwif for PowerPC\n  ide-dma: don\u0027t reset request fields on dma_timeout_retry()\n  ide: drop rq-\u003edata handling from ide_map_sg()\n  ide-atapi: kill unused fields and callbacks\n  ide-tape: simplify read/write functions\n  ide-tape: use byte size instead of sectors on rw issue functions\n  ide-tape: unify r/w init paths\n  ide-tape: kill idetape_bh\n  ide-tape: use standard data transfer mechanism\n  ide-tape: use single continuous buffer\n  ide-atapi,tape,floppy: allow -\u003epc_callback() to change rq-\u003edata_len\n  ide-tape,floppy: fix failed command completion after request sense\n  ide-pm: don\u0027t abuse rq-\u003edata\n  ide-cd,atapi: use bio for internal commands\n  ide-atapi: convert ide-{floppy,tape} to using preallocated sense buffer\n  ide-cd: convert to using generic sense request\n  ide: add helpers for preparing sense requests\n  ide-cd: don\u0027t abuse rq-\u003ebuffer\n  ide-atapi: don\u0027t abuse rq-\u003ebuffer\n  ...\n"
    },
    {
      "commit": "b0fd271d5fba0b2d00888363f3869e3f9b26caa9",
      "tree": "0ffd49c013476e3dc96c8bcb2ddc4c1828797be5",
      "parents": [
        "5e50b9ef975219304cc91d601530994861585bfe"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Thu Jun 11 13:10:16 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jun 11 13:11:05 2009 +0200"
      },
      "message": "block: add request clone interface (v2)\n\nThis patch adds the following 2 interfaces for request-stacking drivers:\n\n  - blk_rq_prep_clone(struct request *clone, struct request *orig,\n\t\t      struct bio_set *bs, gfp_t gfp_mask,\n\t\t      int (*bio_ctr)(struct bio *, struct bio*, void *),\n\t\t      void *data)\n      * Clones bios in the original request to the clone request\n        (bio_ctr is called for each cloned bios.)\n      * Copies attributes of the original request to the clone request.\n        The actual data parts (e.g. -\u003ecmd, -\u003ebuffer, -\u003esense) are not\n        copied.\n\n  - blk_rq_unprep_clone(struct request *clone)\n      * Frees cloned bios from the clone request.\n\nRequest stacking drivers (e.g. request-based dm) need to make a clone\nrequest for a submitted request and dispatch it to other devices.\n\nTo allocate request for the clone, request stacking drivers may not\nbe able to use blk_get_request() because the allocation may be done\nin an irq-disabled context.\nSo blk_rq_prep_clone() takes a request allocated by the caller\nas an argument.\n\nFor each clone bio in the clone request, request stacking drivers\nshould be able to set up their own completion handler.\nSo blk_rq_prep_clone() takes a callback function which is called\nfor each clone bio, and a pointer for private data which is passed\nto the callback.\n\nNOTE:\nblk_rq_prep_clone() doesn\u0027t copy any actual data of the original\nrequest.  Pages are shared between original bios and cloned bios.\nSo caller must not complete the original request before the clone\nrequest.\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\nCc: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "862366118026a358882eefc70238dbcc3db37aac",
      "tree": "4eb62bc10327a5afac064a95a091ea05ecd2acc1",
      "parents": [
        "57eee9ae7bbcfb692dc96c739a5184adb6349733",
        "511b01bdf64ad8a38414096eab283c7784aebfc4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 19:53:40 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 19:53:40 2009 -0700"
      },
      "message": "Merge branch \u0027tracing-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (244 commits)\n  Revert \"x86, bts: reenable ptrace branch trace support\"\n  tracing: do not translate event helper macros in print format\n  ftrace/documentation: fix typo in function grapher name\n  tracing/events: convert block trace points to TRACE_EVENT(), fix !CONFIG_BLOCK\n  tracing: add protection around module events unload\n  tracing: add trace_seq_vprint interface\n  tracing: fix the block trace points print size\n  tracing/events: convert block trace points to TRACE_EVENT()\n  ring-buffer: fix ret in rb_add_time_stamp\n  ring-buffer: pass in lockdep class key for reader_lock\n  tracing: add annotation to what type of stack trace is recorded\n  tracing: fix multiple use of __print_flags and __print_symbolic\n  tracing/events: fix output format of user stack\n  tracing/events: fix output format of kernel stack\n  tracing/trace_stack: fix the number of entries in the header\n  ring-buffer: discard timestamps that are at the start of the buffer\n  ring-buffer: try to discard unneeded timestamps\n  ring-buffer: fix bug in ring_buffer_discard_commit\n  ftrace: do not profile functions when disabled\n  tracing: make trace pipe recognize latency format flag\n  ...\n"
    },
    {
      "commit": "d9c7d394a8ebacb60097b192939ae9f15235225e",
      "tree": "4fbf9c7677acb03c23d05faba1a4b0bcfb6702b4",
      "parents": [
        "1d589bb16b825b3a7b4edd34d997f1f1f953033d"
      ],
      "author": {
        "name": "Nikanth Karthikesan",
        "email": "knikanth@novell.com",
        "time": "Wed Jun 10 12:57:06 2009 -0700"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Jun 10 23:07:15 2009 +0200"
      },
      "message": "block: prevent possible io_context-\u003erefcount overflow\n\nCurrently io_context has an atomic_t(32-bit) as refcount.  In the case of\ncfq, for each device against whcih a task does I/O, a reference to the\nio_context would be taken.  And when there are multiple process sharing\nio_contexts(CLONE_IO) would also have a reference to the same io_context.\n\nTheoretically the possible maximum number of processes sharing the same\nio_context + the number of disks/cfq_data referring to the same io_context\ncan overflow the 32-bit counter on a very high-end machine.\n\nEven though it is an improbable case, let us make it atomic_long_t.\n\nSigned-off-by: Nikanth Karthikesan \u003cknikanth@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "55782138e47d9baf2f7d3a7af9e7cf42adf72c56",
      "tree": "c7ccabae20e27bbeb08b69a358e8b86c98d1d9f3",
      "parents": [
        "f57a8a1911342265e7acdc190333c4e9235a6632"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Jun 09 13:43:05 2009 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jun 09 12:34:23 2009 -0400"
      },
      "message": "tracing/events: convert block trace points to TRACE_EVENT()\n\nTRACE_EVENT is a more generic way to define tracepoints. Doing so adds\nthese new capabilities to this tracepoint:\n\n  - zero-copy and per-cpu splice() tracing\n  - binary tracing without printf overhead\n  - structured logging records exposed under /debug/tracing/events\n  - trace events embedded in function tracer output and other plugins\n  - user-defined, per tracepoint filter expressions\n  ...\n\nCons:\n\n  - no dev_t info for the output of plug, unplug_timer and unplug_io events.\n    no dev_t info for getrq and sleeprq events if bio \u003d\u003d NULL.\n    no dev_t info for rq_abort,...,rq_requeue events if rq-\u003erq_disk \u003d\u003d NULL.\n\n    This is mainly because we can\u0027t get the deivce from a request queue.\n    But this may change in the future.\n\n  - A packet command is converted to a string in TP_assign, not TP_print.\n    While blktrace do the convertion just before output.\n\n    Since pc requests should be rather rare, this is not a big issue.\n\n  - In blktrace, an event can have 2 different print formats, but a TRACE_EVENT\n    has a unique format, which means we have some unused data in a trace entry.\n\n    The overhead is minimized by using __dynamic_array() instead of __array().\n\nI\u0027ve benchmarked the ioctl blktrace vs the splice based TRACE_EVENT tracing:\n\n      dd                   dd + ioctl blktrace       dd + TRACE_EVENT (splice)\n1     7.36s, 42.7 MB/s     7.50s, 42.0 MB/s          7.41s, 42.5 MB/s\n2     7.43s, 42.3 MB/s     7.48s, 42.1 MB/s          7.43s, 42.4 MB/s\n3     7.38s, 42.6 MB/s     7.45s, 42.2 MB/s          7.41s, 42.5 MB/s\n\nSo the overhead of tracing is very small, and no regression when using\nthose trace events vs blktrace.\n\nAnd the binary output of TRACE_EVENT is much smaller than blktrace:\n\n # ls -l -h\n -rw-r--r-- 1 root root 8.8M 06-09 13:24 sda.blktrace.0\n -rw-r--r-- 1 root root 195K 06-09 13:24 sda.blktrace.1\n -rw-r--r-- 1 root root 2.7M 06-09 13:25 trace_splice.out\n\nFollowing are some comparisons between TRACE_EVENT and blktrace:\n\nplug:\n  kjournald-480   [000]   303.084981: block_plug: [kjournald]\n  kjournald-480   [000]   303.084981:   8,0    P   N [kjournald]\n\nunplug_io:\n  kblockd/0-118   [000]   300.052973: block_unplug_io: [kblockd/0] 1\n  kblockd/0-118   [000]   300.052974:   8,0    U   N [kblockd/0] 1\n\nremap:\n  kjournald-480   [000]   303.085042: block_remap: 8,0 W 102736992 + 8 \u003c- (8,8) 33384\n  kjournald-480   [000]   303.085043:   8,0    A   W 102736992 + 8 \u003c- (8,8) 33384\n\nbio_backmerge:\n  kjournald-480   [000]   303.085086: block_bio_backmerge: 8,0 W 102737032 + 8 [kjournald]\n  kjournald-480   [000]   303.085086:   8,0    M   W 102737032 + 8 [kjournald]\n\ngetrq:\n  kjournald-480   [000]   303.084974: block_getrq: 8,0 W 102736984 + 8 [kjournald]\n  kjournald-480   [000]   303.084975:   8,0    G   W 102736984 + 8 [kjournald]\n\n  bash-2066  [001]  1072.953770:   8,0    G   N [bash]\n  bash-2066  [001]  1072.953773: block_getrq: 0,0 N 0 + 0 [bash]\n\nrq_complete:\n  konsole-2065  [001]   300.053184: block_rq_complete: 8,0 W () 103669040 + 16 [0]\n  konsole-2065  [001]   300.053191:   8,0    C   W 103669040 + 16 [0]\n\n  ksoftirqd/1-7   [001]  1072.953811:   8,0    C   N (5a 00 08 00 00 00 00 00 24 00) [0]\n  ksoftirqd/1-7   [001]  1072.953813: block_rq_complete: 0,0 N (5a 00 08 00 00 00 00 00 24 00) 0 + 0 [0]\n\nrq_insert:\n  kjournald-480   [000]   303.084985: block_rq_insert: 8,0 W 0 () 102736984 + 8 [kjournald]\n  kjournald-480   [000]   303.084986:   8,0    I   W 102736984 + 8 [kjournald]\n\nChangelog from v2 -\u003e v3:\n\n- use the newly introduced __dynamic_array().\n\nChangelog from v1 -\u003e v2:\n\n- use __string() instead of __array() to minimize the memory required\n  to store hex dump of rq-\u003ecmd().\n\n- support large pc requests.\n\n- add missing blk_fill_rwbs_rq() in block_rq_requeue TRACE_EVENT.\n\n- some cleanups.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4A2DF669.5070905@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "c1d4c41f2fdfe66dea957b76d005affba3e56b26",
      "tree": "9436a0f4417c1f938103a55c739c6c6e1fdbf94b",
      "parents": [
        "3af968e066d593bc4dacc021715f3e95ddf0996f"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Jun 09 15:17:37 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jun 09 15:17:37 2009 +0200"
      },
      "message": "bsg: setting rq-\u003ebio to NULL\n\nDue to commit 1cd96c242a829d52f7a5ae98f554ca9775429685 (\"block: WARN\nin __blk_put_request() for potential bio leak\"), BSG SMP requests get\nthe false warnings:\n\nWARNING: at block/blk-core.c:1068 __blk_put_request+0x52/0xc0()\n\nThis sets rq-\u003ebio to NULL to avoid that false warnings.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "77634f33d4078542cf1087995cced0ffdae25aa2",
      "tree": "43d15cfb43bcfb6af567e1203419ad60ef2cb160",
      "parents": [
        "9df1bb9b516daeece159ab7fb262d01a0359247c"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Tue Jun 09 06:23:22 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jun 09 06:23:22 2009 +0200"
      },
      "message": "block: Add missing bounce_pfn stacking and fix comments\n\nDM no longer needs to set limits explicitly when calling blk_stack_limits.\nLet the latter automatically deal with bounce_pfn scaling.\n\nFix kerneldoc variable names.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    }
  ],
  "next": "9df1bb9b516daeece159ab7fb262d01a0359247c"
}
