)]}'
{
  "log": [
    {
      "commit": "dd3d145d49c5816b79acc6761ebbd842bc50b0ee",
      "tree": "107bdb2f46c6aa6bc482909d7ebdbb1da40b7b4f",
      "parents": [
        "fe0b393f2c0a0d23a9bc9ed7dc51a1ee511098bd"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Mon Jan 11 03:21:48 2010 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 11 14:29:19 2010 +0100"
      },
      "message": "block: Fix discard alignment calculation and printing\n\nDiscard alignment reporting for partitions was incorrect.  Update to\nmatch the algorithm used elsewhere.\n\nThe alignment can be negative (misaligned).  Fix format string\naccordingly.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "86b37281411cf1e9bc0a6b5406c45edb7bd9ea5d",
      "tree": "729db57dd52054af1bc16b4afb131093dfc9d255",
      "parents": [
        "cf7c25cf91f632a3528669fc0876e1fc8355ff9b"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Tue Nov 10 11:50:21 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Nov 10 11:50:21 2009 +0100"
      },
      "message": "block: Expose discard granularity\n\nWhile SSDs track block usage on a per-sector basis, RAID arrays often\nhave allocation blocks that are bigger.  Allow the discard granularity\nand alignment to be set and teach the topology stacking logic how to\nhandle them.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\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": "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": "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": "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": "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": "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": "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": "c72758f33784e5e2a1a4bb9421ef3e6de8f9fcf3",
      "tree": "a83f7540cc894caafe74db911cba3998d6a9a164",
      "parents": [
        "cd43e26f071524647e660706b784ebcbefbd2e44"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri May 22 17:17:53 2009 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 22 23:22:55 2009 +0200"
      },
      "message": "block: Export I/O topology for block devices and partitions\n\nTo support devices with physical block sizes bigger than 512 bytes we\nneed to ensure proper alignment.  This patch adds support for exposing\nI/O topology characteristics as devices are stacked.\n\n  logical_block_size is the smallest unit the device can address.\n\n  physical_block_size indicates the smallest I/O the device can write\n  without incurring a read-modify-write penalty.\n\n  The io_min parameter is the smallest preferred I/O size reported by\n  the device.  In many cases this is the same as the physical block\n  size.  However, the io_min parameter can be scaled up when stacking\n  (RAID5 chunk size \u003e physical block size).\n\n  The io_opt characteristic indicates the optimal I/O size reported by\n  the device.  This is usually the stripe width for arrays.\n\n  The alignment_offset parameter indicates the number of bytes the start\n  of the device/partition is offset from the device\u0027s natural alignment.\n  Partition tools and MD/DM utilities can use this to pad their offsets\n  so filesystems start on proper boundaries.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "71982a409f12c50d011325a4471aa20666bb908d",
      "tree": "d457415cc6c50b386a6876acf0abc4472f0e5630",
      "parents": [
        "a9e9dc24bbc3e084450a22cf4fb82f5f5d4cbeea"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Apr 17 08:34:48 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 22 08:35:10 2009 +0200"
      },
      "message": "block: include empty disks in /proc/diskstats\n\n/proc/diskstats used to show stats for all disks whether they\u0027re\nzero-sized or not and their non-zero partitions.  Commit\n074a7aca7afa6f230104e8e65eba3420263714a5 accidentally changed the\nbehavior such that it doesn\u0027t print out zero sized disks.  This patch\nimplements DISK_PITER_INCL_EMPTY_PART0 flag to partition iterator and\nuses it in diskstats_show() such that empty part0 is shown in\n/proc/diskstats.\n\nReported and bisectd by Dianel Collins.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Daniel Collins \u003csolemnwarning@solemnwarning.no-ip.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "9e8c0bccdc944bd09361672d47660810c027bcaa",
      "tree": "2974fec8cbfdddc52d0a051b26dadc7898079d14",
      "parents": [
        "b2bf96833c5782befc3e7700f791fde754a47b01"
      ],
      "author": {
        "name": "Márton Németh",
        "email": "nm127@freemail.hu",
        "time": "Fri Feb 20 08:12:51 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Feb 26 10:45:48 2009 +0100"
      },
      "message": "block: add documentation for register_blkdev()\n\nAdd documentation for register_blkdev() function and for the parameters.\n\nSigned-off-by: Márton Németh \u003cnm127@freemail.hu\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "41b8c853a495438208faa5be03bbb0050859163b",
      "tree": "912541723b38a52c68c46bdb1de567972e239594",
      "parents": [
        "78f707bfc723552e8309b7c38a8d0cc51012e813"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Wed Feb 18 10:33:59 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Feb 18 10:33:59 2009 +0100"
      },
      "message": "block: fix booting from partitioned md array\n\nHi Tejun,\n\n it looks like your commit:\n\n   block: don\u0027t depend on consecutive minor space\n   f331c0296f2a9fee0d396a70598b954062603015\n\n broke a particular case for booting from partitioned md/raid devices.\n That is the second time this has been broken recently.  The previous\n time was fixed by\n\n   block: do_mounts - accept root\u003d\u003cnon-existant partition\u003e\n   30f2f0eb4bd2c43d10a8b0d872c6e5ad8f31c9a0\n\n Because the data isn\u0027t available when an md device is first created\n (we add disks and set it up after creation), the initial partition\n scan finds nothing.  It is not until the device is opened that\n another partition scan happens and finds something.\n\n So at the point where the kernel parameter \"root\u003d/dev/md_d0p1\" is\n being parsed, md_d0 exists, but md_d0p1 does not.\n However if we let blk_lookup_devt return the correct device number\n even though the device doesn\u0027t exist, then the attempt to mount it\n will successfully find the partition.\n\n I have tried in the past to find a way to get the partition table to\n be read as soon as the array is assembled but that proved impossible\n (at the time).  I don\u0027t remember the details, and could possibly\n revisit it.  However it would be really nice if blk_lookup_devt\n could be adjusted to again accept non existant partitions.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3ada8b7e980dac7cc42937d42d90ee51b19204fe",
      "tree": "6c23e272997cd5b68459c5a92a4490504f1c4be7",
      "parents": [
        "4383fc3d9a98759a1ec3c57a30781e95a4cfcfa9"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Tue Jan 06 10:44:43 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:43 2009 -0800"
      },
      "message": "block: struct device - replace bus_id with dev_name(), dev_set_name()\n\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "a6f23657d3072bde6844055bbc2290e497f33fbc",
      "tree": "bd96916615d04228cc9492ae198ed5012d5ee86a",
      "parents": [
        "30e0dc28bff9dc456cdfc2aae4aca78b8b1a1cec"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Oct 24 12:52:42 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:29:51 2008 +0100"
      },
      "message": "block: add one-hit cache for disk partition lookup\n\ndisk_map_sector_rcu() returns a partition from a sector offset,\nwhich we use for IO statistics on a per-partition basis. The\nlookup itself is an O(N) list lookup, where N is the number of\npartitions. This actually hurts performance quite a bit, even\non the lower end partitions. On higher numbered partitions,\nit can get pretty bad.\n\nSolve this by adding a one-hit cache for partition lookup.\nThis makes the lookup O(1) for the case where we do most IO to\none partition. Even for mixed partition workloads, amortized cost\nis pretty close to O(1) since the natural IO batching makes the\none-hit cache last for lots of IOs.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "bf91db18ac2852a3ff39fe25ff56c5557c0fff78",
      "tree": "42ce67fceb2b3072717cde31c8b4474f4c4a050d",
      "parents": [
        "53cc0b2948bcb8a084982e6c1f9bd7b337e0df38"
      ],
      "author": {
        "name": "Cheng Renquan",
        "email": "crquan@gmail.com",
        "time": "Thu Nov 20 08:37:37 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Dec 03 12:41:20 2008 +0100"
      },
      "message": "block: set disk-\u003enode_id before it\u0027s being used\n\ndisk-\u003enode_id will be refered in allocating in disk_expand_part_tbl, so we\nshould set it before disk-\u003enode_id is refered.\n\nSigned-off-by: Cheng Renquan \u003ccrquan@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "561ec68e4de7947167937c49c451728e6b19e63b",
      "tree": "4391af5bc00e5a2039e703df43ec3e84a21b63d5",
      "parents": [
        "55e8e30c382d25c34f8aafcc78efec948571a941"
      ],
      "author": {
        "name": "Zhang, Yanmin",
        "email": "yanmin_zhang@linux.intel.com",
        "time": "Fri Nov 14 08:26:30 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Nov 18 15:08:56 2008 +0100"
      },
      "message": "block: fix boot failure with CONFIG_DEBUG_BLOCK_EXT_DEVT\u003dy and nash\n\nWe run into system boot failure with kernel 2.6.28-rc. We found it on a\ncouple of machines, including T61 notebook, nehalem machine, and another\nHPC NX6325 notebook.  All the machines use FedoraCore 8 or FedoraCore 9.\nWith kernel prior to 2.6.28-rc, system boot doesn\u0027t fail.\n\nI debug it and locate the root cause. Pls. see\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d11899\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d471517\n\nAs a matter of fact, there are 2 bugs.\n\n1)root\u003d/dev/sda1, system boot randomly fails. Mostly, boot for 5 times\nand fails once. nash has a bug. Some of its functions misuse return\nvalue 0.  Sometimes, 0 means timeout and no uevent available. Sometimes,\n0 means nash gets an uevent, but the uevent isn\u0027t block-related (for\nexmaple, usb). If by coincidence, kernel tells nash that uevents are\navailable, but kernel also set timeout, nash might stops collecting\nother uevents in queue if current uevent isn\u0027t block-related.  I work\nout a patch for nash to fix it.\nhttp://bugzilla.kernel.org/attachment.cgi?id\u003d18858\n\n2) root\u003dLABEL\u003d/, system always can\u0027t boot. initrd init reports\nswitchroot fails. Here is an executation branch of nash when booting:\n    (1) nash read /sys/block/sda/dev; Assume major is 8 (on my desktop)\n    (2) nash query /proc/devices with the major number; It found line\n\t\"8 sd\";\n    (3) nash use \u0027sd\u0027 to search its own probe table to find device (DISK)\n\ttype for the device and add it to its own list;\n    (4) Later on, it probes all devices in its list to get filesystem\n\tlabels; scsi register \"8 sd\" always.\n\nWhen major is 259, nash fails to find the device(DISK) type. I enables\nCONFIG_DEBUG_BLOCK_EXT_DEVT\u003dy when compiling kernel, so 259 is picked up\nfor device /dev/sda1, which causes nash to fail to find device (DISK)\ntype.\n\nTo fixing issue 2), I create a patch for nash and another patch for\nkernel.\n\nhttp://bugzilla.kernel.org/attachment.cgi?id\u003d18859\nhttp://bugzilla.kernel.org/attachment.cgi?id\u003d18837\n\nBelow is the patch for kernel 2.6.28-rc4. It registers blkext, a new\nblock device in proc/devices.\n\nWith 2 patches on nash and 1 patch on kernel, I boot my machines for\ndozens of times without failure.\n\nSigned-off-by Zhang Yanmin \u003cyanmin.zhang@linux.intel.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "31d85ab28e71b0c938e0ef48af45747e80d99b53",
      "tree": "1cd97bee97abb008dd3591da2a001e3e85356fb6",
      "parents": [
        "5c9fe6281b75832e8d2555ec8700ea763d9a865e"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Oct 06 12:55:38 2008 +0400"
      },
      "committer": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Oct 23 17:57:37 2008 +0400"
      },
      "message": "proc: move /proc/diskstats boilerplate to block/genhd.c\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f500975a3f3ecf3611d79f1d933906753460b9f2",
      "tree": "df3728998ca1638ecbccf4ab6f401f9a2cbdba88",
      "parents": [
        "8591cf43224980a0bc9216a4e50b0a740f8cba35"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Oct 04 23:53:21 2008 +0400"
      },
      "committer": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Oct 23 15:07:31 2008 +0400"
      },
      "message": "proc: move rest of /proc/partitions code to block/genhd.c\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "496aa8a98f5ab22ced46be5dc2087cdf3d029bd7",
      "tree": "5c4335ca12bbc8f93f7630c2ef0733973099cd17",
      "parents": [
        "80a4b58e36b63d7b0b592beb1bd6410aadeeb63c"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu Oct 16 07:46:23 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Oct 17 08:46:57 2008 +0200"
      },
      "message": "block: fix current kernel-doc warnings\n\nFix block kernel-doc warnings:\n\nWarning(linux-2.6.27-git4//fs/block_dev.c:1272): No description found for parameter \u0027path\u0027\nWarning(linux-2.6.27-git4//block/blk-core.c:1021): No description found for parameter \u0027cpu\u0027\nWarning(linux-2.6.27-git4//block/blk-core.c:1021): No description found for parameter \u0027part\u0027\nWarning(/var/linsrc/linux-2.6.27-git4//block/genhd.c:544): No description found for parameter \u0027partno\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e6d63840ba55ffd3a79aea6792aac6f29f338083",
      "tree": "6fa14f4a89167e142385369a51e4d09f5c5233f8",
      "parents": [
        "8677142710516d986d932d6f1fba7be8382c1fec"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Oct 14 08:49:34 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Oct 17 08:46:56 2008 +0200"
      },
      "message": "block: fix kernel-doc for blk_alloc_devt()\n\nNo argument \u0027gfp_mask\u0027 for blk_alloc_devt().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "581d4e28d9195aa8b2231383dbabc288988d615e",
      "tree": "093bcac9a538ef67edcf91826f7532bdb88e6248",
      "parents": [
        "0a0d96b03a1f3bfd6bc3ea08008699e8e59fccd9"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sun Sep 14 05:56:33 2008 -0700"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:17 2008 +0200"
      },
      "message": "block: add fault injection mechanism for faking request timeouts\n\nOnly works for the generic request timer handling. Allows one to\nsporadically ignore request completions, thus exercising the timeout\nhandling.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "243294dae09c909c0442c8f04d470b69c3c19d6e",
      "tree": "b6178beadd19247b81d2b09e063e856943c83177",
      "parents": [
        "fad7f01e61bf737fe8a3740d803f000db57ecac6"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Sep 04 09:17:31 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:12 2008 +0200"
      },
      "message": "block: fix duplicate headers for /proc/partitions\n\nseqf can be started multiple times for a read and the header should be\nprinted only for the initial one.  Fix it.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2bbedcb4c1abac498f18e5770d62ae66ff235ada",
      "tree": "2609360651b9a0d137c5c564a971152c90d52001",
      "parents": [
        "759f8ca3048f7438aa3129268d7252552505d662"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Aug 29 11:41:51 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:11 2008 +0200"
      },
      "message": "block: don\u0027t test for partition size in bdget_disk() and blk_lookup_devt()\n\nbdget_disk() and blk_lookup_devt() never cared whether the specified\npartition (or disk) is zero sized or not.  I got confused while\nconverting those not to depend on consecutive minor numbers in commit\n5a6411b1178baf534aa9138052864dfa89d3eada and later when dev0 was added\nit broke callers which expected to get valid return for zero sized\ndisk devices.\n\nSo, they never needed nr_sects checks in the first place.  Kill them.\n\nThis problem was spotted and debugged by Bartlmoiej Zolnierkiewicz.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "aeb3d3a81e81c6323a17fe914e91eb228b3f1aa1",
      "tree": "9cacfa989eaad1611f61e5707fd432e7f1fde685",
      "parents": [
        "01cfcddd98f09e05a2e36031654ed46643b76f23"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Thu Aug 28 09:27:42 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:11 2008 +0200"
      },
      "message": "block: kmalloc args reversed, small function definition fixes\n\nNoticed by sparse:\nblock/blk-softirq.c:156:12: warning: symbol \u0027blk_softirq_init\u0027 was not declared. Should it be static?\nblock/genhd.c:583:28: warning: function \u0027bdget_disk\u0027 with external linkage has definition\nblock/genhd.c:659:17: warning: incorrect type in argument 1 (different base types)\nblock/genhd.c:659:17:    expected unsigned int [unsigned] [usertype] size\nblock/genhd.c:659:17:    got restricted gfp_t\nblock/genhd.c:659:29: warning: incorrect type in argument 2 (different base types)\nblock/genhd.c:659:29:    expected restricted gfp_t [usertype] flags\nblock/genhd.c:659:29:    got unsigned int\nblock: kmalloc args reversed\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3e1a7ff8a0a7b948f2684930166954f9e8e776fe",
      "tree": "0a8642f5cdbc6ddfdd66dc7241c915e57b3cb7ff",
      "parents": [
        "689d6fac40b41c7bf154f362deaf442548e4dc81"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:56:17 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:08 2008 +0200"
      },
      "message": "block: allow disk to have extended device number\n\nNow that disk and partition handlings are mostly unified, it\u0027s easy to\nallow disk to have extended device number.  This patch makes\nadd_disk() use extended device number if disk-\u003eminors is zero.  Both\nsd and ide-disk are updated to use this.\n\n* sd_format_disk_name() is implemented which can generically determine\n  the drive name.  This removes disk number restriction stemming from\n  limited device names.\n\n* If sd index goes over SD_MAX_DISKS (which can be increased now BTW),\n  sd simply doesn\u0027t initialize minors letting block layer choose\n  extended device number.\n\n* If CONFIG_DEBUG_EXT_DEVT is set, both sd and ide-disk always set\n  minors to 0 and use extended device numbers.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "689d6fac40b41c7bf154f362deaf442548e4dc81",
      "tree": "5989dc5767f657272194ee8c7d69c6db1e62dab7",
      "parents": [
        "540eed5637b766bb1e881ef744c42617760b4815"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:56:16 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:08 2008 +0200"
      },
      "message": "block: replace @ext_minors with GENHD_FL_EXT_DEVT\n\nWith previous changes, it\u0027s meaningless to limit the number of\npartitions.  Replace @ext_minors with GENHD_FL_EXT_DEVT such that\nsetting the flag allows the disk to have maximum number of allowed\npartitions (only limited by the number of entries in parsed_partitions\nas determined by MAX_PART constant).\n\nThis kills not-too-pretty alloc_disk_ext[_node]() functions and makes\n@minors parameter to alloc_disk[_node]() unnecessary.  The parameter\nis left alone to avoid disturbing the users.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "540eed5637b766bb1e881ef744c42617760b4815",
      "tree": "8bdf54967a8290f780216f767291623e67ee7e9b",
      "parents": [
        "074a7aca7afa6f230104e8e65eba3420263714a5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:56:15 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:08 2008 +0200"
      },
      "message": "block: make partition array dynamic\n\ndisk-\u003e__part used to be statically allocated to the maximum possible\nnumber of partitions.  This patch makes partition array allocation\ndynamic.  The added overhead is minimal as only real change is one\nmemory dereference changed to RCU one.  This saves both a bit of\nmemory and cpu cycles iterating through unoccupied slots and makes\nincreasing partition limit easier.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "074a7aca7afa6f230104e8e65eba3420263714a5",
      "tree": "f418313e45bd55be8156c8a3e8f9a216cf63058d",
      "parents": [
        "eddb2e26b5ee3c5da68ba4bf1921ba20e2097bff"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:56:14 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:08 2008 +0200"
      },
      "message": "block: move stats from disk to part0\n\nMove stats related fields - stamp, in_flight, dkstats - from disk to\npart0 and unify stat handling such that...\n\n* part_stat_*() now updates part0 together if the specified partition\n  is not part0.  ie. part_stat_*() are now essentially all_stat_*().\n\n* {disk|all}_stat_*() are gone.\n\n* part_round_stats() is updated similary.  It handles part0 stats\n  automatically and disk_round_stats() is killed.\n\n* part_{inc|dec}_in_fligh() is implemented which automatically updates\n  part0 stats for parts other than part0.\n\n* disk_map_sector_rcu() is updated to return part0 if no part matches.\n  Combined with the above changes, this makes NULL special case\n  handling in callers unnecessary.\n\n* Separate stats show code paths for disk are collapsed into part\n  stats show code paths.\n\n* Rename disk_stat_lock/unlock() to part_stat_lock/unlock()\n\nWhile at it, reposition stat handling macros a bit and add missing\nparentheses around macro parameters.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "eddb2e26b5ee3c5da68ba4bf1921ba20e2097bff",
      "tree": "7a24f3f3cb577f344491dc57ea441060fac9d9a9",
      "parents": [
        "0762b8bde9729f10f8e6249809660ff2ec3ad735"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:56:13 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:08 2008 +0200"
      },
      "message": "block: kill GENHD_FL_FAIL and use part0-\u003emake_it_fail\n\nGENHD_FL_FAIL for disk is what make_it_fail is for parts.  Kill it and\nuse part0-\u003emake_it_fail.  Sysfs node handling is unified too.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b7db9956e57c8151b930d5e5fe5c766e6aad3ff7",
      "tree": "d663a8687fff481abb1498c2ea0eac01ef81cb26",
      "parents": [
        "e56105214943ce5f0901d20e972a7cfd0d1d0656"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:56:10 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:07 2008 +0200"
      },
      "message": "block: move policy from disk to part0\n\nMove disk-\u003epolicy to part0-\u003epolicy.  Implement and use get_disk_ro().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e56105214943ce5f0901d20e972a7cfd0d1d0656",
      "tree": "e7b5abffa47f5bfc664fdbb27025872827514089",
      "parents": [
        "548b10eb2959c96cef6fc29fc96e0931eeb53bc5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:56:09 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:07 2008 +0200"
      },
      "message": "block: unify sysfs size node handling\n\nNow that capacity and __dev are moved to part0, part0 and others can\nshare the same method.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "548b10eb2959c96cef6fc29fc96e0931eeb53bc5",
      "tree": "7166bc04336b80a69f87a9add097919b418f4f43",
      "parents": [
        "80795aefb76d10c5d698e60c7e7750b5330787da"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Aug 29 09:01:47 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:07 2008 +0200"
      },
      "message": "block: move __dev from disk to part0\n\nMove disk-\u003e__dev to part0-\u003e__dev.  This simplifies bdget_disk() and\nlookup_devt() and allows common sysfs attributes to be unified.\npart_to_disk() is updated to handle part0 -\u003e disk.\n\nUpdated to include a fix from Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e,\nhe writes:\n\n\"part0 is a \"special\" partition and doesn\u0027t need to have capacity set - this\nfixes regression caused by \"block: move __dev from disk to part0\" commit.\"\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b5d0b9df0ba5d9a044f3a21e7544f53d90bd1465",
      "tree": "d3347c1cfc59cf5d38c2c9adc2423f9d9b4cf818",
      "parents": [
        "ed9e1982347b36573cd622ee5f4e2a7ccd79b3fd"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Sep 03 09:06:42 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:07 2008 +0200"
      },
      "message": "block: introduce partition 0\n\ngenhd and partition code handled disk and partitions separately.  All\ninformation about the whole disk was in struct genhd and partitions in\nstruct hd_struct.  However, the whole disk (part0) and other\npartitions have a lot in common and the data structures end up having\ngood number of common fields and thus separate code paths doing the\nsame thing.  Also, the partition array was indexed by partno - 1 which\ngets pretty confusing at times.\n\nThis patch introduces partition 0 and makes the partition array\nindexed by partno.  Following patches will unify the handling of disk\nand parts piece-by-piece.\n\nThis patch also implements disk_partitionable() which tests whether a\ndisk is partitionable.  With coming dynamic partition array change,\nthe most common usage of disk_max_parts() will be testing whether a\ndisk is partitionable and the number of max partitions will become\nmuch less important.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ed9e1982347b36573cd622ee5f4e2a7ccd79b3fd",
      "tree": "79d834094d655ec97cfc0a382a9207ebc8e711a5",
      "parents": [
        "870d6656126add8e383645732b03df2b7ccd4f94"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:56:05 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:07 2008 +0200"
      },
      "message": "block: implement and use {disk|part}_to_dev()\n\nImplement {disk|part}_to_dev() and use them to access generic device\ninstead of directly dereferencing {disk|part}-\u003edev.  To make sure no\nuser is left behind, rename generic devices fields to __dev.\n\nThis is in preparation of unifying partition 0 handling with other\npartitions.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "870d6656126add8e383645732b03df2b7ccd4f94",
      "tree": "9c33dd91350ea163b160d9f5cb40d913c5caf268",
      "parents": [
        "f615b48cc7df7cac3865ec76ac1a5bb04d3e07f4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:47:25 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:06 2008 +0200"
      },
      "message": "block: implement CONFIG_DEBUG_BLOCK_EXT_DEVT\n\nExtended devt introduces non-contiguos device numbers.  This patch\nimplements a debug option which forces most devt allocations to be\nfrom the extended area and spreads them out.  This is enabled by\ndefault if DEBUG_KERNEL is set and achieves...\n\n1. Detects code paths in kernel or userland which expect predetermined\n   consecutive device numbers.\n\n2. When something goes wrong, avoid corruption as adding to the minor\n   of earlier partition won\u0027t lead to the wrong but valid device.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1f0142905d4812966831613847db38a66da29eb8",
      "tree": "0db3c802fccfa7b2b8b74bfd0078258e8fb8e22d",
      "parents": [
        "bcce3de1be61e424deef35d1e86e86a35c4b6e65"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:47:23 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:06 2008 +0200"
      },
      "message": "block: adjust formatting for large minors and add ext_range sysfs attr\n\nWith extended minors and the soon-to-follow debug feature, large minor\nnumbers for block devices will be common.  This patch does the\nfollowings to make printouts pretty.\n\n* Adapt print formats such that large minors don\u0027t break the\n  formatting.\n\n* For extended MAJ:MIN, %02x%02x for MAJ:MIN used in\n  printk_all_partitions() doesn\u0027t cut it anymore.  Update it such that\n  %03x:%05x is used if either MAJ or MIN doesn\u0027t fit in %02x.\n\n* Implement ext_range sysfs attribute which shows total minors the\n  device can use including both conventional minor space and the\n  extended one.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "bcce3de1be61e424deef35d1e86e86a35c4b6e65",
      "tree": "cfdefb52bc37c61dfac160951a9beb86d5cd9ba0",
      "parents": [
        "c9959059161ddd7bf4670cf47367033d6b2f79c4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:47:22 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:06 2008 +0200"
      },
      "message": "block: implement extended dev numbers\n\nImplement extended device numbers.  A block driver can tell block\nlayer that it wants to use extended device numbers.  After the usual\nminor space is used up, block layer automatically allocates devt\u0027s\nfrom EXT_BLOCK_MAJOR.\n\nCurrently only one major number is allocated for this but as the\nallocation is strictly on-demand, ~1mil minor space under it should\nsuffice unless the system actually has more than ~1mil partitions and\nif that ever happens adding more majors to the extended devt area is\neasy.\n\nDue to internal implementation issues, the first partition can\u0027t be\nallocated on the extended area.  In other words, genhd-\u003eminors should\nat least be 1.  This limitation will be lifted by later changes.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c9959059161ddd7bf4670cf47367033d6b2f79c4",
      "tree": "6454db55f8e34361fe472358e10e0c5cfac1e366",
      "parents": [
        "e71bf0d0ee89e51b92776391c5634938236977d5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:47:21 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:06 2008 +0200"
      },
      "message": "block: fix diskstats access\n\nThere are two variants of stat functions - ones prefixed with double\nunderbars which don\u0027t care about preemption and ones without which\ndisable preemption before manipulating per-cpu counters.  It\u0027s unclear\nwhether the underbarred ones assume that preemtion is disabled on\nentry as some callers don\u0027t do that.\n\nThis patch unifies diskstats access by implementing disk_stat_lock()\nand disk_stat_unlock() which take care of both RCU (for partition\naccess) and preemption (for per-cpu counter access).  diskstats access\nshould always be enclosed between the two functions.  As such, there\u0027s\nno need for the versions which disables preemption.  They\u0027re removed\nand double underbars ones are renamed to drop the underbars.  As an\nextra argument is added, there\u0027s no danger of using the old version\nunconverted.\n\ndisk_stat_lock() uses get_cpu() and returns the cpu index and all\ndiskstat functions which access per-cpu counters now has @cpu\nargument to help RT.\n\nThis change adds RCU or preemption operations at some places but also\ncollapses several preemption ops into one at others.  Overall, the\nperformance difference should be negligible as all involved ops are\nvery lightweight per-cpu ones.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e71bf0d0ee89e51b92776391c5634938236977d5",
      "tree": "9fc62352a40ad388deebdd8ed497cab926cf0470",
      "parents": [
        "f331c0296f2a9fee0d396a70598b954062603015"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Sep 03 09:03:02 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:06 2008 +0200"
      },
      "message": "block: fix disk-\u003epart[] dereferencing race\n\ndisk-\u003epart[] is protected by its matching bdev\u0027s lock.  However,\nnon-critical accesses like collecting stats and printing out sysfs and\nproc information used to be performed without any locking.  As\npartitions can come and go dynamically, partitions can go away\nunderneath those non-critical accesses.  As some of those accesses are\nwrites, this theoretically can lead to silent corruption.\n\nThis patch fixes the race by using RCU for the partition array and dev\nreference counter to hold partitions.\n\n* Rename disk-\u003epart[] to disk-\u003e__part[] to make sure no one outside\n  genhd layer proper accesses it directly.\n\n* Use RCU for disk-\u003e__part[] dereferencing.\n\n* Implement disk_{get|put}_part() which can be used to get and put\n  partitions from gendisk respectively.\n\n* Iterators are implemented to help iterate through all partitions\n  safely.\n\n* Functions which require RCU readlock are marked with _rcu suffix.\n\n* Use disk_put_part() in __blkdev_put() instead of directly putting\n  the contained kobject.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f331c0296f2a9fee0d396a70598b954062603015",
      "tree": "f74c467d58940131d97d90c4ea549843185e6ef0",
      "parents": [
        "cf771cb5a7b716f3f9e532fd42a1e3a0a75adec5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Sep 03 09:01:48 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:05 2008 +0200"
      },
      "message": "block: don\u0027t depend on consecutive minor space\n\n* Implement disk_devt() and part_devt() and use them to directly\n  access devt instead of computing it from -\u003emajor and -\u003efirst_minor.\n\n  Note that all references to -\u003emajor and -\u003efirst_minor outside of\n  block layer is used to determine devt of the disk (the part0) and as\n  -\u003emajor and -\u003efirst_minor will continue to represent devt for the\n  disk, converting these users aren\u0027t strictly necessary.  However,\n  convert them for consistency.\n\n* Implement disk_max_parts() to avoid directly deferencing\n  genhd-\u003eminors.\n\n* Update bdget_disk() such that it doesn\u0027t assume consecutive minor\n  space.\n\n* Move devt computation from register_disk() to add_disk() and make it\n  the only one (all other usages use the initially determined value).\n\nThese changes clean up the code and will help disk-\u003epart dereference\nfix and extended block device numbers.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "cf771cb5a7b716f3f9e532fd42a1e3a0a75adec5",
      "tree": "c16cf6adc4d2e51eaee77088ecf126b721f8f3c7",
      "parents": [
        "310a2c1012934f590192377f65940cad4aa72b15"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Sep 03 09:01:09 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:05 2008 +0200"
      },
      "message": "block: make variable and argument names more consistent\n\nIn hd_struct, @partno is used to denote partition number and a number\nof other places use @part to denote hd_struct.  Functions use @part\nand @index instead.  This causes confusion and makes it difficult to\nuse consistent variable names for hd_struct.  Always use @partno if a\nvariable represents partition number.\n\nAlso, print out functions use @f or @part for seq_file argument.  Use\n@seqf uniformly instead.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "310a2c1012934f590192377f65940cad4aa72b15",
      "tree": "ed30346abf07c5a7e94719f567368d5642af1f95",
      "parents": [
        "88e341261ca4d39eec21b212961c77eff51105f7"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:47:17 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:04 2008 +0200"
      },
      "message": "block: misc updates\n\nThis patch makes the following misc updates in preparation for\ndisk-\u003epart dereference fix and extended block devt support.\n\n* implment part_to_disk()\n\n* fix comment about gendisk-\u003epart indexing\n\n* rename get_part() to disk_map_sector()\n\n* don\u0027t use n which is always zero while printing disk information in\n  diskstats_show()\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "def4e38ddda9bef20b69bfa939195c2f79da7979",
      "tree": "51535a76dee0b21857d2c64da22a0406c0dc7357",
      "parents": [
        "2ac3cee5298a247b2774f3319b28a05f588c3f0e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Sep 03 08:57:12 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:04 2008 +0200"
      },
      "message": "block: use class_dev_iterator instead of class_for_each_device()\n\nRecent block_class iteration updates 5c6f35c5..27f3025 converted all\nclass device iteration to class_for_each_device() and\nclass_find_device(), which are correct but pain in the ass to use.\nThis pach converts them to newly introduced class_dev_iterator so that\nthey can use more natural control structures instead of separate\ncallbacks and struct to pass parameters to them.\n\nThis results in smaller and easier code.\n\nThis patch also restores the original behavior of not printing header\nin /proc/partitions if there\u0027s no partition to print.  This is trivial\nbut still user-visible behavior.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2ac3cee5298a247b2774f3319b28a05f588c3f0e",
      "tree": "e297bbd502f1a8a52436358c5184f7de1cb43f56",
      "parents": [
        "ac65ece4eee10b03ac29ee925cadc179dc810bab"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Sep 03 08:53:37 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:04 2008 +0200"
      },
      "message": "block: don\u0027t grab block_class_lock unnecessarily\n\nblock_class_lock protects major_names array and bdev_map and doesn\u0027t\nhave anything to do with block class devices.  Don\u0027t grab them while\niterating over block class devices.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ac65ece4eee10b03ac29ee925cadc179dc810bab",
      "tree": "529f3a2c212aaa6aa5010c41aa9ec59bd6635c17",
      "parents": [
        "5a3ceb861663040f9ef0176df4aaa494bba5e352"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:30:12 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:04 2008 +0200"
      },
      "message": "block: fix partition info printouts\n\nRecent block_class iteration updates 5c6f35c5..27f3025 broke partition\ninfo printouts.\n\n* printk_all_partitions(): Partition print out stops when it meets a\n  partition hole.  Partition printing inner loop should continue\n  instead of exiting on empty partition slot.\n\n* /proc/partitions and /proc/diskstats: If all information can\u0027t be\n  read in single read(), the information is truncated.  This is\n  because find_start() doesn\u0027t actually update the counter containing\n  the initial seek.  It runs to the end and ends up always reporting\n  EOF on the second read.\n\nThis patch fixes both problems.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "710027a48ede75428cc68eaa8ae2269b1e356e2c",
      "tree": "22cba18860b83b03613bad97c405fb5146a2d686",
      "parents": [
        "5b99c2ffa980528a197f26c7d876cceeccce8dd5"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Aug 19 20:13:11 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:03 2008 +0200"
      },
      "message": "Add some block/ source files to the kernel-api docbook. Fix kernel-doc notation in them as needed. Fix changed function parameter names. Fix typos/spellos. In comments, change REQ_SPECIAL to REQ_TYPE_SPECIAL and REQ_BLOCK_PC to REQ_TYPE_BLOCK_PC.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ddef43a843f620c6742a06633739887a901ec06b",
      "tree": "25eec6c04abf5c7ec3cb9aba2338d249844ffb61",
      "parents": [
        "bb23b431db7405f6d79f989ad0236bf6428ba1cb"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Sep 01 08:55:10 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Sep 01 08:55:10 2008 +0200"
      },
      "message": "block: restore original behavior of /proc/partition when there\u0027s no partition\n\n/proc/partitions didn\u0027t use to write out the header if there was no\npartition.  However, recent commit 66c64afe changed the behavior.\nThis is nothing major but there\u0027s no reason to change user visible\nbehavior without a good rationale.  Restore the original behavior.\n\nNote that 2.6.28 has clean up changes scheduled which will replace\nthis rather hacky implementation.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "bb23b431db7405f6d79f989ad0236bf6428ba1cb",
      "tree": "481c179e97bf72b206e51ef594c7bb3fb32af72f",
      "parents": [
        "24342c34a022ee90839873d91396045e12ef1090"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Fri Aug 29 11:47:07 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Aug 29 11:47:07 2008 +0200"
      },
      "message": "remove blk_register_filter and blk_unregister_filter in gendisk\n\nThis patch remove blk_register_filter and blk_unregister_filter in\ngendisk, and adds them to sd.c, sr.c. and ide-cd.c\n\nThe commit abf5439370491dd6fbb4fe1a7939680d2a9bc9d4 moved cmdfilter\nfrom gendisk to request_queue. It turned out that in some subsystems\nmultiple gendisks share a single request_queue. So we get:\n\nUsing physmap partition information\nCreating 3 MTD partitions on \"physmap-flash\":\n0x00000000-0x01c00000 : \"User FS\"\n0x01c00000-0x01c40000 : \"booter\"\nkobject (8511c410): tried to init an initialized object, something is seriously wrong.\nCall Trace:\n[\u003c8036644c\u003e] dump_stack+0x8/0x34\n[\u003c8021f050\u003e] kobject_init+0x50/0xcc\n[\u003c8021fa18\u003e] kobject_init_and_add+0x24/0x58\n[\u003c8021d20c\u003e] blk_register_filter+0x4c/0x64\n[\u003c8021c194\u003e] add_disk+0x78/0xe0\n[\u003c8027d14c\u003e] add_mtd_blktrans_dev+0x254/0x278\n[\u003c8027c8f0\u003e] blktrans_notify_add+0x40/0x78\n[\u003c80279c00\u003e] add_mtd_device+0xd0/0x150\n[\u003c8027b090\u003e] add_mtd_partitions+0x568/0x5d8\n[\u003c80285458\u003e] physmap_flash_probe+0x2ac/0x334\n[\u003c802644f8\u003e] driver_probe_device+0x12c/0x244\n[\u003c8026465c\u003e] __driver_attach+0x4c/0x84\n[\u003c80263c64\u003e] bus_for_each_dev+0x58/0xac\n[\u003c802633ec\u003e] bus_add_driver+0xc4/0x24c\n[\u003c802648e0\u003e] driver_register+0xcc/0x184\n[\u003c80100460\u003e] _stext+0x60/0x1bc\n\nIn the long term, we need to fix such subsystems but we need a quick\nfix now. This patch add the command filter support to only sd and sr\nthough it might be useful for other SG_IO users (such as cciss).\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nReported-by: Manuel Lauss \u003cmano@roarinelk.homelinux.net\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5c0ef6d0214a08e5c846f4c45228adf135d8d0ef",
      "tree": "f4c5d5991365e19780e3638eb2128c8ebd771e99",
      "parents": [
        "068281d302def5efd96d84a163ba17e85f5ea564"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Sat Aug 16 14:30:30 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Aug 21 10:15:38 2008 -0700"
      },
      "message": "block: drop references taken by class_find_device()\n\nOtherwise we leak references, which is not a good thing to do.\n\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "068281d302def5efd96d84a163ba17e85f5ea564",
      "tree": "f8d49d6c1e2043bcf3671504b411770a0c8c349c",
      "parents": [
        "f5a6d958b5d0a10e7e7a9dee1862fb31d08c6d26"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Sat Aug 16 14:30:30 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Aug 21 10:15:38 2008 -0700"
      },
      "message": "block: fix partial read() of /proc/{partitions,diskstats}\n\nThe proc files get truncated if they do not fit into the buffer with\na single read(). We need to move the seq_file index from the callback\nof class_find_device() to the caller of class_find_device(), to keep\nits value across multiple invocations of the callback.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "27f302519148f311307637d4c9a6d0fd87d07e4c",
      "tree": "36693a6ec709b037730bb343e72bd8cc508999dc",
      "parents": [
        "66c64afec16a7b46212ecb2fa99998923bbeea3f"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 22 17:21:08 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:49 2008 -0700"
      },
      "message": "block: make /proc/partitions and /proc/diskstats use class_find_device()\n\nUse the proper class iterator function instead of mucking around in the\ninternals of the class structures.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "66c64afec16a7b46212ecb2fa99998923bbeea3f",
      "tree": "732d5a400af672568ddceea738d6c509f1f3a0be",
      "parents": [
        "68c4d4a7875c59f2e4b72901ab11ba978e75bde0"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 22 17:21:08 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:49 2008 -0700"
      },
      "message": "block: move header for /proc/partitions to seq_start\n\nThe seq_start call is the better place for the header for the file, that\nway we don\u0027t have to be mucking in the class structure to try to figure\nout if this is the first partition or not.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "68c4d4a7875c59f2e4b72901ab11ba978e75bde0",
      "tree": "92c8024e282b4e5a18b156998c2efa3bc1783e32",
      "parents": [
        "a6e2ba88774bc5870ab3d9664cb86d70415f7402"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 22 17:21:08 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:49 2008 -0700"
      },
      "message": "block: make proc files seq_start use the class_find_device()\n\nUse the proper class iterator function instead of mucking around in the\ninternals of the class structures.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "a6e2ba88774bc5870ab3d9664cb86d70415f7402",
      "tree": "6b2cd66449339a7eadb7edb3e6b211dddaf42a5a",
      "parents": [
        "a142be856f060ae8106512c0e81a8d6f8746ab0b"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri May 23 09:44:11 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:49 2008 -0700"
      },
      "message": "block: make /proc/diskstats only build if CONFIG_PROC_FS is enabled\n\nThese functions are only needed if CONFIG_PROC_FS is enabled, so save\nthe space when it is not.\n\nThis also makes it easier for a patch later in this series to work\nproperly if CONFIG_PROC_FS is not enabled.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "a142be856f060ae8106512c0e81a8d6f8746ab0b",
      "tree": "4a90f897816a5b506bf1cced5413bb4a4326a67d",
      "parents": [
        "5c6f35c5ece8f130cd8ec9ba0d71dc146b46a0f1"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 22 17:21:08 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:48 2008 -0700"
      },
      "message": "block: make blk_lookup_devt use the class iterator function\n\nUse the proper class iterator function instead of mucking around in the\ninternals of the class structures.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "5c6f35c5ece8f130cd8ec9ba0d71dc146b46a0f1",
      "tree": "f1e109f09aff9ecfb57b25bc14e5a07e91a2286a",
      "parents": [
        "6ffeea77ff014f1456fcd0564eac84b34e9535ca"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 22 17:21:08 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:48 2008 -0700"
      },
      "message": "block: make printk_partition use the class iterator function\n\nUse the proper class iterator function instead of mucking around in the\ninternals of the class structures.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "6ffeea77ff014f1456fcd0564eac84b34e9535ca",
      "tree": "250c2ed78d430db765a73f0432ea7fb5a55dc4cf",
      "parents": [
        "695794ae0c5bdd9bd06e35b118801e2e9be04f9e"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 22 17:21:08 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:48 2008 -0700"
      },
      "message": "block: fix compiler warning in genhd.c\n\nWarn if something really bad happens if we can\u0027t create this link.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "e105b8bfc769b0545b6f0f395179d1e43cbee822",
      "tree": "23a1f0839547829c4ca6e89cd40adf285eb9feb6",
      "parents": [
        "93ded9b8fd42abe2c3607097963d8de6ad9117eb"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Apr 21 10:51:07 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:40 2008 -0700"
      },
      "message": "sysfs: add /sys/dev/{char,block} to lookup sysfs path by major:minor\n\nWhy?:\nThere are occasions where userspace would like to access sysfs\nattributes for a device but it may not know how sysfs has named the\ndevice or the path.  For example what is the sysfs path for\n/dev/disk/by-id/ata-ST3160827AS_5MT004CK?  With this change a call to\nstat(2) returns the major:minor then userspace can see that\n/sys/dev/block/8:32 links to /sys/block/sdc.\n\nWhat are the alternatives?:\n1/ Add an ioctl to return the path: Doable, but sysfs is meant to reduce\n   the need to proliferate ioctl interfaces into the kernel, so this\n   seems counter productive.\n\n2/ Use udev to create these symlinks: Also doable, but it adds a\n   udev dependency to utilities that might be running in a limited\n   environment like an initramfs.\n\n3/ Do a full-tree search of sysfs.\n\n[kay.sievers@vrfy.org: fix duplicate registrations]\n[kay.sievers@vrfy.org: cleanup suggestions]\n\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nReviewed-by: SL Baur \u003csteve@xemacs.org\u003e\nAcked-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nAcked-by: Mark Lord \u003clkml@rtr.ca\u003e\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0b07de85a76e1346e675f0e98437378932473df7",
      "tree": "b86e5e0be27679c408ab525534c76162754129b9",
      "parents": [
        "6e2401ad6f33de15ff00f78b88159f00a14f3b35"
      ],
      "author": {
        "name": "Adel Gadllah",
        "email": "adel.gadllah@gmail.com",
        "time": "Thu Jun 26 13:48:27 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jul 03 13:21:14 2008 +0200"
      },
      "message": "allow userspace to modify scsi command filter on per device basis\n\nThis patch exports the per-gendisk command filter to user space through\nsysfs, so it can be changed by the system administrator.\nAll users of the old cmd filter have been converted to use the new one.\n\nOriginal patch from Peter Jones.\n\nSigned-off-by: Adel Gadllah \u003cadel.gadllah@gmail.com\u003e\nSigned-off-by: Peter Jones \u003cpjones@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1c9ce5276324ae566ca409491b99a2cc8d5986fa",
      "tree": "eca8ad1317880de5da3f7126e746d366f699348d",
      "parents": [
        "02c62304e6af60f1963695c6bc1bbffe619aa585"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Fri Jun 13 09:41:00 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jul 03 13:21:12 2008 +0200"
      },
      "message": "block: export \"ro\" attribute\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d5791d13b1d45542895104edf4b09476d5ad24b0",
      "tree": "3e3557240717a100dcb63316b4d0c1697e943320",
      "parents": [
        "f751aa125d1843ea4a9a264b451fd5b1639fab20"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 09 10:06:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 09 10:06:24 2008 -0700"
      },
      "message": "Fix invalid access errors in blk_lookup_devt\n\nCommit 30f2f0eb4bd2c43d10a8b0d872c6e5ad8f31c9a0 (\"block: do_mounts -\naccept root\u003d\u003cnon-existant partition\u003e\") extended blk_lookup_devt() to be\nable to look up partitions that had not yet been registered, but in the\nprocess made the assumption that the \u0027\u0026block_class.devices\u0027 list only\ncontains disk devices and that you can do \u0027dev_to_disk(dev)\u0027 on them.\n\nThat isn\u0027t actually true.  The block_class device list also contains the\npartitions we\u0027ve discovered so far, and you can\u0027t just do a\n\u0027dev_to_disk()\u0027 on those.\n\nSo make sure to only work on devices that block/genhd.c has registered\nitself, something we can test by checking the \u0027dev-\u003etype\u0027 member.  This\nmakes the loop in blk_lookup_devt() match the other such loops in this\nfile.\n\n[ We may want to do an alternate version that knows to handle _either_\n  whole-disk devices or partitions, but for now this is the minimal fix\n  for a series of crashes reported by Mariusz Kozlowski in\n\n\thttp://lkml.org/lkml/2008/5/25/25\n\n  and Ingo in\n\n\thttp://lkml.org/lkml/2008/6/9/39 ]\n\nReported-by: Mariusz Kozlowski \u003cm.kozlowski@tuxland.pl\u003e\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Joao Luis Meloni Assirati \u003cassirati@nonada.if.usp.br\u003e\nAcked-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "30f2f0eb4bd2c43d10a8b0d872c6e5ad8f31c9a0",
      "tree": "deb8d2a749cd737d9abead1b4cc8321d00dbaee4",
      "parents": [
        "9604006d283fb67dda5ee9e0e15b7cc6c62e1557"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Tue May 06 22:31:33 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 14 10:37:57 2008 -0700"
      },
      "message": "block: do_mounts - accept root\u003d\u003cnon-existant partition\u003e\n\nSome devices, like md, may create partitions only at first access,\nso allow root\u003d to be set to a valid non-existant partition of an\nexisting disk. This applies only to non-initramfs root mounting.\n\nThis fixes a regression from 2.6.24 which did allow this to happen and\nbroke some users machines :(\n\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nTested-by: Joao Luis Meloni Assirati \u003cassirati@nonada.if.usp.br\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "cf0ca9fe5dd9e3693d935757a7b2fc50fc576554",
      "tree": "c795c5271eda9fc67579fa3176c646b892dfdb41",
      "parents": [
        "caafa4324335aeb11bc233d5f87aca8cce30beba"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Apr 30 00:54:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:49 2008 -0700"
      },
      "message": "mm: bdi: export BDI attributes in sysfs\n\nProvide a place in sysfs (/sys/class/bdi) for the backing_dev_info object.\nThis allows us to see and set the various BDI specific variables.\n\nIn particular this properly exposes the read-ahead window for all relevant\nusers and /sys/block/\u003cblock\u003e/queue/read_ahead_kb should be deprecated.\n\nWith patient help from Kay Sievers and Greg KH\n\n[mszeredi@suse.cz]\n\n - split off NFS and FUSE changes into separate patches\n - document new sysfs attributes under Documentation/ABI\n - do bdi_class_init as a core_initcall, otherwise the \"default\" BDI\n   won\u0027t be initialized\n - remove bdi_init_fmt macro, it\u0027s not used very much\n\n[akpm@linux-foundation.org: fix ia64 warning]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nAcked-by: Greg KH \u003cgreg@kroah.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ee27a558ae0ff5063ccd6c47ca102c0bb0e3ba27",
      "tree": "dcf8c19fa113bf8bd1e8d5c97a4d527cc845e38d",
      "parents": [
        "a8ae50ba9336ff77d0df0943ac27b79ba0a5a521"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Tue Mar 11 17:13:15 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 12 12:34:37 2008 -0700"
      },
      "message": "genhd must_check warning fix\n\nFixes:\n\n\tblock/genhd.c:361: warning: ignoring return value of ‘class_register’, declared with attribute warn_unused_result\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nAcked-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1826eadfc42839af7c1c5a1859510aff635d3fa1",
      "tree": "387895990fb3db91cbf9d82d33f5df27d62a0219",
      "parents": [
        "ff88972c850ced92b9c4c7f538d85829c741eeb0"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Mar 04 11:23:46 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Mar 04 11:28:31 2008 +0100"
      },
      "message": "block/genhd.c: cleanups\n\nThis patch contains the following cleanups:\n- make the needlessly global struct disk_type static\n- #if 0 the unused genhd_media_change_notify()\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ff88972c850ced92b9c4c7f538d85829c741eeb0",
      "tree": "e7cfb7e15db26f35da6e982b934417f3909017a6",
      "parents": [
        "278caf0120a77e4398762357a8cc522d094fe2f2"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Mar 04 11:23:45 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Mar 04 11:28:29 2008 +0100"
      },
      "message": "proper prototype for blk_dev_init()\n\nThis patch adds a proper prototye for blk_dev_init() in block/blk.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "28f39d553ee242000e62f6c589ee3dc6de3f9aaa",
      "tree": "c677fc2ec4a97c59e2e8eb3ba3080fce5a963784",
      "parents": [
        "34e8beac92c27d292938065f8375842d2840767c"
      ],
      "author": {
        "name": "Jerome Marchand",
        "email": "jmarchan@redhat.com",
        "time": "Fri Feb 08 11:04:56 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 08 12:42:00 2008 +0100"
      },
      "message": "Enhanced partition statistics: procfs\n\nReports enhanced partition statistics in /proc/diskstats.\n\nSigned-off-by: Jerome Marchand \u003cjmarchan@redhat.com\u003e\n"
    },
    {
      "commit": "12f32bb31772e72d8cf52a29f961561bccc54c37",
      "tree": "461dc5d9008e4799fe78eed4d2c0d29096a60345",
      "parents": [
        "e7d9dc9cfd9bcc9ca688fe7f94c0da7d0700bfe6"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Tue Jan 29 20:57:51 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 21:55:19 2008 +0100"
      },
      "message": "block: constify function pointer tables\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "edfaa7c36574f1bf09c65ad602412db9da5f96bf",
      "tree": "d591b80ff9229e4845e41d68e2f4c5aadb017027",
      "parents": [
        "09f82ea92822a7bbb7e816508abbda47ed54a77f"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Mon May 21 22:08:01 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:36 2008 -0800"
      },
      "message": "Driver core: convert block from raw kobjects to core devices\n\nThis moves the block devices to /sys/class/block. It will create a\nflat list of all block devices, with the disks and partitions in one\ndirectory. For compatibility /sys/block is created and contains symlinks\nto the disks.\n\n  /sys/class/block\n  |-- sda -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda\n  |-- sda1 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda1\n  |-- sda10 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda10\n  |-- sda5 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda5\n  |-- sda6 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda6\n  |-- sda7 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda7\n  |-- sda8 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda8\n  |-- sda9 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda9\n  `-- sr0 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sr0\n\n  /sys/block/\n  |-- sda -\u003e ../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda\n  `-- sr0 -\u003e ../devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sr0\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "830d3cfb16728e2496edc2985ad8f68025135e37",
      "tree": "11541c0ac058745a2ab4269b84669a8341ece7ce",
      "parents": [
        "c60b71787982cefcf9fa09aa281fa8c4c685d557"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Nov 06 10:36:58 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:23 2008 -0800"
      },
      "message": "kset: convert block_subsys to use kset_create\n\nDynamically create the kset instead of declaring it statically.  We also\nrename block_subsys to block_kset to catch all users of this symbol\nwith a build error instead of an easy-to-ignore build warning.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3514faca19a6fdc209734431c509631ea92b094e",
      "tree": "f6d102e6dec276f8e8d1044b47c74a02b901554f",
      "parents": [
        "c11c4154e7ff4cebfadad849b1e22689d759c3f4"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Oct 16 10:11:44 2007 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:10 2008 -0800"
      },
      "message": "kobject: remove struct kobj_type from struct kset\n\nWe don\u0027t need a \"default\" ktype for a kset.  We should set this\nexplicitly every time for each kset.  This change is needed so that we\ncan make ksets dynamic, and cleans up one of the odd, undocumented\nassumption that the kset/kobject/ktype model has.\n\nThis patch is based on a lot of help from Kay Sievers.\n\nNasty bug in the block code was found by Dave Young\n\u003chidave.darkstar@gmail.com\u003e\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c7674030e5eb83d9ba29318fb9b3ccedf84d583e",
      "tree": "cb11cd412c739d2cfcc5d4494ccb0ba8fc8f9920",
      "parents": [
        "8c8d7214d1b35726e950db1f73317e28e827f1cd"
      ],
      "author": {
        "name": "Jerome Marchand",
        "email": "jmarchan@redhat.com",
        "time": "Fri Nov 23 09:17:53 2007 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Nov 27 09:19:40 2007 +0100"
      },
      "message": "block: Fix memory leak in alloc_disk_node()\n\nFix a memory leak in alloc_disk_node(). Don\u0027t forget to free \u0027dkstats\u0027 when the allocation of \u0027part\u0027 failed.\n\nSigned-off-by: Jerome Marchand \u003cjmarchan@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7eff2e7a8b65c25920207324e56611150eb1cd9a",
      "tree": "02a0eeba9d25d996233e30c18f258dfae0ae2139",
      "parents": [
        "8380770c842faef3001e44662953d64ad9a93663"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Tue Aug 14 15:15:12 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:01 2007 -0700"
      },
      "message": "Driver core: change add_uevent_var to use a struct\n\nThis changes the uevent buffer functions to use a struct instead of a\nlong list of parameters. It does no longer require the caller to do the\nproper buffer termination and size accounting, which is currently wrong\nin some places. It fixes a known bug where parts of the uevent\nenvironment are overwritten because of wrong index calculations.\n\nMany thanks to Mathieu Desnoyers for finding bugs and improving the\nerror handling.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "f4480240f700587c15507b7815e75989b16825b2",
      "tree": "96eac4ec200cf49cb1cbbdf185befca34d83b629",
      "parents": [
        "c6d4d63489f2e3ce38c80e7073952f0c58d4c2bc"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Jul 17 04:03:47 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:03 2007 -0700"
      },
      "message": "unregister_blkdev(): return void\n\nPut WARN_ON and fixed all callers of unregister_blkdev().  Now we can make\nunregister_blkdev return void.\n\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "294462a5c6c4fb9a6ced9cb5a368ff335f1b656e",
      "tree": "a73c650050ec3b84b09a87d349a738113be3c093",
      "parents": [
        "62239ac2b301abc397e70986649666cfb7835907"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Jul 17 04:03:45 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:03 2007 -0700"
      },
      "message": "unregister_blkdev(): do WARN_ON on failure\n\nWhen unregister_blkdev() has failed, something wrong happened.  This patch\nadds WARN_ON to notify of such badness.\n\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "94f6030ca792c57422f04a73e7a872d8325946d3",
      "tree": "0197f24d82b1706f1b0521f2cf68feeff64123df",
      "parents": [
        "81cda6626178cd55297831296ba8ecedbfd8b52d"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Jul 17 04:03:29 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:02 2007 -0700"
      },
      "message": "Slab allocators: Replace explicit zeroing with __GFP_ZERO\n\nkmalloc_node() and kmem_cache_alloc_node() were not available in a zeroing\nvariant in the past.  But with __GFP_ZERO it is possible now to do zeroing\nwhile allocating.\n\nUse __GFP_ZERO to remove the explicit clearing of memory via memset whereever\nwe can.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8ce7ad7b2d11fae2c3d285a6a0caea9322c0b8fc",
      "tree": "87d7423635821dae9f26d14c62f3314ec7bb3b17",
      "parents": [
        "86ce18d7b7925bfd6b64c061828ca2a857ee83b8"
      ],
      "author": {
        "name": "Kristen Carlson Accardi",
        "email": "kristen.c.accardi@intel.com",
        "time": "Wed May 23 13:57:38 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 23 20:14:12 2007 -0700"
      },
      "message": "genhd: send async notification on media change\n\nSend an uevent to user space to indicate that a media change event has\noccurred.\n\nSigned-off-by: Kristen Carlson Accardi \u003ckristen.c.accardi@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "86ce18d7b7925bfd6b64c061828ca2a857ee83b8",
      "tree": "b753b7fd6d195aa7ed9eebc5a3917c5f20786260",
      "parents": [
        "352823160613b65fdaa558be486720a71f75ed86"
      ],
      "author": {
        "name": "Kristen Carlson Accardi",
        "email": "kristen.c.accardi@intel.com",
        "time": "Wed May 23 13:57:38 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 23 20:14:11 2007 -0700"
      },
      "message": "genhd: expose AN to user space\n\nAllow user space to determine if a disk supports Asynchronous Notification of\nmedia changes.  This is done by adding a new sysfs file \"capability_flags\",\nwhich is documented in (insert file name).  This sysfs file will export all\ndisk capabilities flags to user space.  We also define a new flag to define\nthe media change notification capability.\n\nSigned-off-by: Kristen Carlson Accardi \u003ckristen.c.accardi@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dd2a345f8f002845636dbf5d2d768bb5cd8a5f59",
      "tree": "9ddbe34d18cf97496f4d3d582ed127fee0d96a01",
      "parents": [
        "0e7d18b57c39bedcbd181e3c06d13572b33e5380"
      ],
      "author": {
        "name": "Dave Gilbert",
        "email": "linux@treblig.org",
        "time": "Wed May 09 02:33:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:48 2007 -0700"
      },
      "message": "Display all possible partitions when the root filesystem failed to mount\n\nDisplay all possible partitions when the root filesystem is not mounted.\nThis helps to track spell\u0027o\u0027s and missing drivers.\n\nUpdated to work with newer kernels.\n\nExample output:\n\nVFS: Cannot open root device \"foobar\" or unknown-block(0,0)\nPlease append a correct \"root\u003d\" boot option; here are the available partitions:\n0800    8388608 sda driver: sd\n  0801     192748 sda1\n  0802    8193150 sda2\n0810    4194304 sdb driver: sd\nKernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)\n\n[akpm@linux-foundation.org: cleanups, fix printk warnings]\nSigned-off-by: Jan Engelhardt \u003cjengelh@gmx.de\u003e\nCc: Dave Gilbert \u003clinux@treblig.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "823bccfc4002296ba88c3ad0f049e1abd8108d30",
      "tree": "5338ae0b32409446af4cd00c5107d9405d5bf0b6",
      "parents": [
        "2609e7b9bebfd433254c02538ba803dc516ff674"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 13 13:15:19 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 02 18:57:59 2007 -0700"
      },
      "message": "remove \"struct subsystem\" as it is no longer needed\n\nWe need to work on cleaning up the relationship between kobjects, ksets and\nktypes.  The removal of \u0027struct subsystem\u0027 is the first step of this,\nespecially as it is not really needed at all.\n\nThanks to Kay for fixing the bugs in this patch.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "2363cc0264c42636e9e7622f78dde5c2f66beb8e",
      "tree": "33136de9f38ad6cfc7ce9b6d4d10f1227239a05b",
      "parents": [
        "c75fd0ee6e1750e6e527ed1d4aeee66739d9ad79"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Apr 04 19:08:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Apr 04 21:12:47 2007 -0700"
      },
      "message": "[PATCH] remove protection of LANANA-reserved majors\n\nRevert all this.  It can cause device-mapper to receive a different major from\nearlier kernels and it turns out that the Amanda backup program (via GNU tar,\napparently) checks major numbers on files when performing incremental backups.\n\nWhich is a bit broken of Amanda (or tar), but this feature isn\u0027t important\nenough to justify the churn.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b446b60e4eb5e5457120c4728ada871b1209c1d0",
      "tree": "1fcff840a5cfb61399b9eac843d5b74e9e6b45e0",
      "parents": [
        "f4fa27c16ba9b6910c5b815e5c13a7e8249277f0"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Feb 20 13:57:48 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 20 17:10:13 2007 -0800"
      },
      "message": "[PATCH] rework reserved major handling\n\nSeveral people have reported failures in dynamic major device number handling\ndue to the recent changes in there to avoid handing out the local/experimental\nmajors.\n\nRolf reports that this is due to a gcc-4.1.0 bug.\n\nThe patch refactors that code a lot in an attempt to provoke the compiler into\nbehaving.\n\nCc: Rolf Eike Beer \u003ceike-kernel@sf-tec.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fdf892be32d84a1745fa0aee5fc60517421b8038",
      "tree": "35adb4e95219273ed681e0fa332a86b15cde731e",
      "parents": [
        "215122e1110f97a3f478829049b9840cf8fdde57"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Mon Feb 12 00:51:44 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:27 2007 -0800"
      },
      "message": "[PATCH] register_blkdev(): don\u0027t hand out the LOCAL/EXPERIMENTAL majors\n\nAs pointed out in http://bugzilla.kernel.org/show_bug.cgi?id\u003d7922, dynamic\nblockdev major allocation can hand out majors which LANANA has defined as\nbeing for local/experimental use.\n\nCc: Torben Mathiasen \u003cdevice@lanana.org\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Tomas Klas \u003ctomas.klas@mepatek.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c17bb4951752d3e0f49cd1ea9d2e868422f9e0d6",
      "tree": "dcd23ef706ba09edae462528dc11a507b1d17af6",
      "parents": [
        "933e312e73f8fc39652bd4d216a5393cc3a014b9"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Fri Dec 08 02:39:46 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:29:02 2006 -0800"
      },
      "message": "[PATCH] fault-injection capability for disk IO\n\nThis patch provides fault-injection capability for disk IO.\n\nBoot option:\n\nfail_make_request\u003d\u003cprobability\u003e,\u003cinterval\u003e,\u003cspace\u003e,\u003ctimes\u003e\n\n\t\u003cinterval\u003e -- specifies the interval of failures.\n\n\t\u003cprobability\u003e -- specifies how often it should fail in percent.\n\n\t\u003cspace\u003e -- specifies the size of free space where disk IO can be issued\n\t\t   safely in bytes.\n\n\t\u003ctimes\u003e -- specifies how many times failures may happen at most.\n\nDebugfs:\n\n/debug/fail_make_request/interval\n/debug/fail_make_request/probability\n/debug/fail_make_request/specifies\n/debug/fail_make_request/times\n\nExample:\n\n\tfail_make_request\u003d10,100,0,-1\n\techo 1 \u003e /sys/blocks/hda/hda1/make-it-fail\n\ngeneric_make_request() on /dev/hda1 fails once per 10 times.\n\nCc: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "87a57261105669d13a9cae747b5b67ca1cbcda3c",
      "tree": "a82f6e81137ef987118e043040adac41599979b3",
      "parents": [
        "4d7dd8fd9557840162b724a8ac1366dd78a12dff"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Fri Sep 29 01:58:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:05 2006 -0700"
      },
      "message": "[PATCH] block: handle subsystem_register() init errors\n\nCheck and handle init errors.\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "b9d9c82b4d081feb464f62dfc786c8621d09ecd2",
      "tree": "511d15b4d7aaba80a2c0fe49622a3224ca386122",
      "parents": [
        "23681e479129854305da1da32f7f1eaf635ef22c"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@suse.de",
        "time": "Thu Jun 15 15:31:56 2006 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jun 21 12:40:49 2006 -0700"
      },
      "message": "[PATCH] Driver core: add generic \"subsystem\" link to all devices\n\nLike the SUBSYTEM\u003d key we find in the environment of the uevent, this\ncreates a generic \"subsystem\" link in sysfs for every device. Userspace\nusually doesn\u0027t care at all if its a \"class\" or a \"bus\" device. This\nprovides an unified way to determine the subsytem of a device, regardless\nof the way the driver core has created it.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "1a2acc9e9214699a99389e323e6686e9e0e2ca67",
      "tree": "8f8072ba0624ceb63ac0115a81d85435323fe79c",
      "parents": [
        "d8c3291c73b958243b33f8509d4507e76dafd055"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri May 12 12:08:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri May 12 12:08:46 2006 -0700"
      },
      "message": "Revert \"[BLOCK] Fix oops on removal of SD/MMC card\"\n\nThis reverts commit 56cf6504fc1c0c221b82cebc16a444b684140fb7.\n\nBoth Erik Mouw and Andrew Vasquez independently pinpointed this commit\nas causing problems, where the slab cache for a driver is never released\n(most obviously causing problems when immediately re-loading that\ndriver, resulting in a \"kmem_cache_create: duplicate cache \u003cxyz\u003e\"\nmessage, but it can also cause other trouble).\n\nJames Bottomley dug into it, and reports:\n\n  \"OK, here\u0027s the scoop.  The problem patch adds a get of driverfs_dev in\n   add_disk(), but doesn\u0027t put it again until disk_release() (which occurs\n   on final put_disk() of the gendisk).\n\n   However, in SCSI, the driverfs_dev is the sdev_gendev.  That means\n   there\u0027s a reference held on sdev_gendev  until final disk put.\n   Unfortunately, we use the driver model driver_remove to trigger\n   del_gendisk (which removes the gendisk from visibility and decrements\n   the refcount), so we\u0027ve introduced an unbreakable deadlock in the\n   reference counting with this.\n\n   I suggest simply reversing this patch at the moment.  If Russell and\n   Jens can tell me what they\u0027re trying to do I\u0027ll see if there\u0027s another\n   way to do it.\"\n\nso hereby the patch gets reverted, waiting for a better fix.\n\nCc: Jens Axboe \u003caxboe@suse.de\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\nCc: Erik Mouw \u003cerik@harddisk-recovery.com\u003e\nCc: Andrew Vasquez \u003candrew.vasquez@qlogic.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "56cf6504fc1c0c221b82cebc16a444b684140fb7",
      "tree": "95c74c06397dfe29081afb7a38ad6f1810e0704b",
      "parents": [
        "d98550e334715b2d9e45f8f0f4e1608720108640"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Fri May 05 17:57:52 2006 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri May 05 17:57:52 2006 +0100"
      },
      "message": "[BLOCK] Fix oops on removal of SD/MMC card\n\nThe block layer keeps a reference (driverfs_dev) to the struct\ndevice associated with the block device, and uses it internally\nfor generating uevents in block_uevent.\n\nBlock device uevents include umounting the partition, which can\noccur after the backing device has been removed.\n\nUnfortunately, this reference is not counted.  This means that\nif the struct device is removed from the device tree, the block\nlayers reference will become stale.\n\nGuard against this by holding a reference to the struct device\nin add_disk(), and only drop the reference when we\u0027re releasing\nthe gendisk kobject - in other words when we can be sure that no\nfurther uevents will be generated for this block device.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nAcked-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "68eef3b4791572ecb70249c7fb145bb3742dd899",
      "tree": "1f61fce839cec8d672ae06a423d46f0a6fcd924d",
      "parents": [
        "a2c348fe0117adced11e374329a5ea3f7c43cb41"
      ],
      "author": {
        "name": "Joe Korty",
        "email": "joe.korty@ccur.com",
        "time": "Fri Mar 31 02:30:32 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:53 2006 -0800"
      },
      "message": "[PATCH] Simplify proc/devices and fix early termination regression\n\nMake baby-simple the code for /proc/devices.  Based on the proven design\nfor /proc/interrupts.\n\nThis also fixes the early-termination regression 2.6.16 introduced, as\ndemonstrated by:\n\n    # dd if\u003d/proc/devices bs\u003d1\n    Character devices:\n      1 mem\n    27+0 records in\n    27+0 records out\n\nThis should also work (but is untested) when /proc/devices \u003e4096 bytes,\nwhich I believe is what the original 2.6.16 rewrite fixed.\n\n[akpm@osdl.org: cleanups, simplifications]\nSigned-off-by: Joe Korty \u003cjoe.korty@ccur.com\u003e\nCc: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "837c7878771c15ed8d85ecf814ece7fcb4551b46",
      "tree": "28b06f0734958802ab98e1e6712ac3c6bf8f2518",
      "parents": [
        "4c5d0bbde9669cfb7f7fd4670dc9a117aea90384"
      ],
      "author": {
        "name": "Ben Woodard",
        "email": "woodard@redhat.com",
        "time": "Wed Mar 22 08:09:31 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Mon Mar 27 09:29:02 2006 +0200"
      },
      "message": "[BLOCK] increase size of disk stat counters\n\nThe kernel\u0027s representation of the disk statistics uses the type unsigned\nwhich is 32b on both 32b and 64b platforms.  Unfortunately, most system\ntools that work with these numbers that are exported in /proc/diskstats\nincluding iostat read these numbers into unsigned longs.  This works fine\non 32b platforms and when the number of IO transactions are small on 64b\nplatforms.  However, when the numbers wrap on 64b platforms \u0026 you read the\nnumbers into unsigned longs, and compare the numbers to previous readings,\nthen you get an unsigned representation of a negative number.  This looks\nlike a very large 64b number \u0026 gives you bizarre readouts in iostat:\n\nilc4: Device:    rrqm/s wrqm/s r/s    w/s  rsec/s  wsec/s    rkB/s wkB/s avgrq-sz avgqu-sz   await  svctm  %util\nilc4: sda        5.50   0.00   143.96 0.00 307496983987862656.00 0.00 153748491993931328.00     0.00 2136028725038430.00     7.94   55.12    5.59  80.42\n\nThough fixing iostat in user space is possible, and a quick survey\nindicates that several other similar tools also use unsigned longs when\nprocessing /proc/diskstats.  Therefore, it seems like a better approach\nwould be to extend the length of the disk_stats structure on 64b\narchitectures to 64b.  The following patch does that.  It should not affect\nthe operation on 32b platforms.\n\nSigned-off-by: Ben Woodard \u003cwoodard@redhat.com\u003e\nCc: Rick Lindsley \u003cricklind@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "58383af629efb07e5a0694e445eda0c65b16e1de",
      "tree": "228369b2e56411c91ee1356957c0aa2dc0d033e5",
      "parents": [
        "8b5536bbee53620f8d5f367987e5727ba36d886d"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jes@sgi.com",
        "time": "Mon Feb 06 14:12:43 2006 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Mar 20 13:42:58 2006 -0800"
      },
      "message": "[PATCH] kobj_map semaphore to mutex conversion\n\nConvert the kobj_map code to use a mutex instead of a semaphore.  It\nconverts the single two users as well, genhd.c and char_dev.c.\n\nSigned-off-by: Jes Sorensen \u003cjes@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "7170be5f586b59bdcdab082778a5d9203ba7b667",
      "tree": "00d34a062c5bbab83315232078296567037bd3f4",
      "parents": [
        "faf3a98918aa5f14a29e0d246e194be58b9357f0"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@redhat.com",
        "time": "Sat Jan 14 13:20:38 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jan 14 18:25:19 2006 -0800"
      },
      "message": "[PATCH] convert /proc/devices to use seq_file interface\n\nA Christoph suggested that the /proc/devices file be converted to use the\nseq_file interface.  This patch does that.\n\nI\u0027ve obxerved one or two installation that had sufficiently large sans that\nthey overran the 4k limit on /proc/devices.\n\nSigned-off-by: Neil Horman \u003cnhorman@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "312c004d36ce6c739512bac83b452f4c20ab1f62",
      "tree": "e61e8331680a0da29557fe21414d3b31e62c9293",
      "parents": [
        "5f123fbd80f4f788554636f02bf73e40f914e0d6"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@suse.de",
        "time": "Wed Nov 16 09:00:00 2005 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 04 16:18:08 2006 -0800"
      },
      "message": "[PATCH] driver core: replace \"hotplug\" by \"uevent\"\n\nLeave the overloaded \"hotplug\" word to susbsystems which are handling\nreal devices. The driver core does not \"plug\" anything, it just exports\nthe state to userspace and generates events.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "47a004103d663bbba8c7c433a710a86f44351cf3",
      "tree": "91bf9479fa43e7a13b02b2f6b957373b5b28b5ef",
      "parents": [
        "cff3ba2204a0797b05150a4b2b7f40a55023d952"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Wed Nov 09 13:38:47 2005 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Sat Nov 12 10:55:21 2005 +0100"
      },
      "message": "[BLOCK] Document the READ/WRITE splitup of the disk stats\n\nUse the symbolic name where appropriate and add a comment to the\ndisk_stats structure.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "3a65dfe8c088143c7155cfd36a72f4b0ad2fc4b2",
      "tree": "db930c9f71f94d3ee674f65e38c38e95ca97227e",
      "parents": [
        "0f3278d14f0255e4cd9e07ccefc33ff12d8bb59c"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Nov 04 08:43:35 2005 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Nov 04 08:43:35 2005 +0100"
      },
      "message": "[BLOCK] Move all core block layer code to new block/ directory\n\ndrivers/block/ is right now a mix of core and driver parts. Lets move\nthe core parts to a new top level directory. Al will move the fs/\nrelated block parts to block/ next.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "a362357b6cd62643d4dda3b152639303d78473da",
      "tree": "fe4ce823e638ded151edcb142f28a240860f0d33",
      "parents": [
        "d72d904a5367ad4ca3f2c9a2ce8c3a68f0b28bf0"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Nov 01 09:26:16 2005 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Nov 01 09:26:16 2005 +0100"
      },
      "message": "[BLOCK] Unify the seperate read/write io stat fields into arrays\n\nInstead of having -\u003eread_sectors and -\u003ewrite_sectors, combine the two\ninto -\u003esectors[2] and similar for the other fields. This saves a branch\nseveral places in the io path, since we don\u0027t have to care for what the\nactual io direction is. On my x86-64 box, that\u0027s 200 bytes less text in\njust the core (not counting the various drivers).\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "a7fd67062efc5b0fc9a61368c607fa92d1d57f9e",
      "tree": "8b91f198640608bd99f4e4764394e5134220abcf",
      "parents": [
        "d8539d81aeee4dbdc0624a798321e822fb2df7ae"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@suse.de",
        "time": "Sat Oct 01 14:49:43 2005 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 28 09:52:51 2005 -0700"
      },
      "message": "[PATCH] add sysfs attr to re-emit device hotplug event\n\nA \"coldplug + udevstart\" can be simple like this:\n  for i in /sys/block/*/*/uevent; do echo 1 \u003e $i; done\n  for i in /sys/class/*/*/uevent; do echo 1 \u003e $i; done\n  for i in /sys/bus/*/devices/*/uevent; do echo 1 \u003e $i; done\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "f62c6d0a2607b2d1fdf280d4d1467a7a6e24c67d",
      "tree": "b95a3ebe7a0e2703c38636530313bcc1dfd96564",
      "parents": [
        "f23ef184b486ac021b6a471b4e94cfa04860d3b0"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@redhat.com",
        "time": "Tue Sep 06 15:17:30 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:30 2005 -0700"
      },
      "message": "[PATCH] Add missing overflow check in get_blkdev_list\n\nPatch to clean up missing overflow check in get_blkdev_list.  The printf\nwhich adds the \"Block Devices\" string in /proc/devices can overflow the\npresented page if get_chrdev_list eats up the entire 4k space.\n\nSigned-off-by: Neil Horman \u003cnhorman@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "ac20427ef6aa63da663bdc88b71d16f7394f5e23"
}
