)]}'
{
  "log": [
    {
      "commit": "b9075fa968a0a4347aef35e235e2995c0e57dddd",
      "tree": "cf9f9716784e790d8a43339653256d9cf9178ff3",
      "parents": [
        "ae29bc92da01a2e9d278a9a58c3b307d41cc0254"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Oct 31 17:11:33 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:54 2011 -0700"
      },
      "message": "treewide: use __printf not __attribute__((format(printf,...)))\n\nStandardize the style for compiler based printf format verification.\nStandardized the location of __printf too.\n\nDone via script and a little typing.\n\n$ grep -rPl --include\u003d*.[ch] -w \"__attribute__\" * | \\\n  grep -vP \"^(tools|scripts|include/linux/compiler-gcc.h)\" | \\\n  xargs perl -n -i -e \u0027local $/; while (\u003c\u003e) { s/\\b__attribute__\\s*\\(\\s*\\(\\s*format\\s*\\(\\s*printf\\s*,\\s*(.+)\\s*,\\s*(.+)\\s*\\)\\s*\\)\\s*\\)/__printf($1, $2)/g ; print; }\u0027\n\n[akpm@linux-foundation.org: revert arch bits]\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: \"Kirill A. Shutemov\" \u003ckirill@shutemov.name\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "04bf7869ca0fd12009aee301cac2264a36df4d98",
      "tree": "66cb81ebf8b76560a31433c2c493dc430c914af9",
      "parents": [
        "d2f31a5fd60d168b00fc4f7617b68a1287b21e90",
        "7b28afe01ab6ffb5f152f47831b44933facd2328"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri Jul 01 16:17:13 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri Jul 01 16:17:13 2011 +0200"
      },
      "message": "Merge branch \u0027for-linus\u0027 into for-3.1/core\n\nConflicts:\n\tblock/blk-throttle.c\n\tblock/cfq-iosched.c\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "dd7740933842202fccaa9ebcba6bce0507b3f6d6",
      "tree": "f3acae30239741f790e47910981edf9371d82046",
      "parents": [
        "9f5e486550456587348e2048eecda5bee778250a"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Mon Jun 13 11:47:24 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Mon Jun 13 11:47:24 2011 +0200"
      },
      "message": "fs/partitions/check.c: make local symbols static\n\nThe symbols part_ro_show, part_alignment_offset_show, and\npart_discard_alignment_show are not used outside this file and\nshould be marked static.\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nCc: Yasuaki Ishimatsu \u003cisimatu.yasuaki@jp.fujitsu.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "a1706ac4c0201ea0143dc0db0659001b26ceeabb",
      "tree": "51b1fc266708d34e0878eaf1e6435773067379a0",
      "parents": [
        "5988ce239682854d4e632fb58bff000700830394"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Mon May 30 07:42:51 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Mon May 30 07:42:51 2011 +0200"
      },
      "message": "Revert \"block: Remove extra discard_alignment from hd_struct.\"\n\nIt was not a good idea to start dereferencing disk-\u003equeue from\nthe fs sysfs strategy for displaying discard alignment. We ran\ninto first a NULL pointer deref, and after fixing that we sometimes\nsee unvalid disk-\u003equeue pointer values.\n\nSince discard is the only one of the bunch actually looking into\nthe queue, just revert the change.\n\nThis reverts commit 23ceb5b7719e9276d4fa72a3ecf94dd396755276.\n\nConflicts:\n\tfs/partitions/check.c\n"
    },
    {
      "commit": "bdf7cf1c83872a0586ce4c4da6889103cc36dbd3",
      "tree": "9311bbcf8b9ffbe7207eba5cca557275f8151ae7",
      "parents": [
        "40efeb4d0bb1993c3c10baff9b7d86839f99171e",
        "ac04fee0b5c55bbac0858727a4154110b55d3f5a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 27 10:24:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 27 10:24:40 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  loop: export module parameters\n  block: export blk_{get,put}_queue()\n  block: remove unused variable in bio_attempt_front_merge()\n  block: always allocate genhd-\u003eev if check_events is implemented\n  brd: export module parameters\n  brd: fix comment on initial device creation\n  brd: handle on-demand devices correctly\n  brd: limit \u0027max_part\u0027 module param to DISK_MAX_PARTS\n  brd: get rid of unused members from struct brd_device\n  block: fix oops on !disk-\u003equeue and sysfs discard alignment display\n"
    },
    {
      "commit": "3eb8e74ec72736b9b9d728bad30484ec89c91dde",
      "tree": "851f9165816e28ce43594a562698dd234e53d486",
      "parents": [
        "658c74cf3c98b1c9bc21e26731052db66251dfd8"
      ],
      "author": {
        "name": "Timo Warns",
        "email": "Warns@pre-sense.de",
        "time": "Thu May 26 16:25:57 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:37 2011 -0700"
      },
      "message": "fs/partitions/efi.c: corrupted GUID partition tables can cause kernel oops\n\nThe kernel automatically evaluates partition tables of storage devices.\nThe code for evaluating GUID partitions (in fs/partitions/efi.c) contains\na bug that causes a kernel oops on certain corrupted GUID partition\ntables.\n\nThis bug has security impacts, because it allows, for example, to\nprepare a storage device that crashes a kernel subsystem upon connecting\nthe device (e.g., a \"USB Stick of (Partial) Death\").\n\n\tcrc \u003d efi_crc32((const unsigned char *) (*gpt), le32_to_cpu((*gpt)-\u003eheader_size));\n\ncomputes a CRC32 checksum over gpt covering (*gpt)-\u003eheader_size bytes.\nThere is no validation of (*gpt)-\u003eheader_size before the efi_crc32 call.\n\nA corrupted partition table may have large values for (*gpt)-\u003eheader_size.\n In this case, the CRC32 computation access memory beyond the memory\nallocated for gpt, which may cause a kernel heap overflow.\n\nValidate value of GUID partition table header size.\n\n[akpm@linux-foundation.org: fix layout and indenting]\nSigned-off-by: Timo Warns \u003cwarns@pre-sense.de\u003e\nCc: Matt Domsch \u003cMatt_Domsch@dell.com\u003e\nCc: Eugene Teo \u003ceugeneteo@kernel.sg\u003e\nCc: Dave Jones \u003cdavej@codemonkey.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f4fa3424c66255ba1e07b26becfc3d6cab0fdf65",
      "tree": "7c16496c0f87bc4f1236c08e264065c776baec73",
      "parents": [
        "4db70f73e56961b9bcdfd0c36c62847a18b7dbb5"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu May 26 21:01:38 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu May 26 21:01:38 2011 +0200"
      },
      "message": "block: fix oops on !disk-\u003equeue and sysfs discard alignment display\n\nEric Dumazet reports:\n\n----\n\nAt boot, I have a crash in part_discard_alignment_show+0x1b/0x50\n\nCR2 : 000006ac\n\nfault in : mov    0x2c(%rcx),%edx\n\nI suspect commit 23ceb5b7719e9276d4 (block: Remove extra\ndiscard_alignment from hd_struct) being in fault\n\n----\n\nNot quite known how -\u003equeue can be NULL while the sysfs entry\nexists, but lets play it safe and check for a NULL queue.\nThe rest of the sysfs show strategies in check.c do not dereference\ndisk-\u003equeue.\n\nReported-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "798ce8f1cca29dcc3f4b55947f611f4ffb32ac2b",
      "tree": "15fba84ba4b930397c29fe562504f66211365699",
      "parents": [
        "22e12bbc9bc38c6d0bd541d061a0f547596fc19d",
        "1547010e6e15a3f44f49381246421a1e19de526e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 09:14:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 09:14:07 2011 -0700"
      },
      "message": "Merge branch \u0027for-2.6.40/core\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.40/core\u0027 of git://git.kernel.dk/linux-2.6-block: (40 commits)\n  cfq-iosched: free cic_index if cfqd allocation fails\n  cfq-iosched: remove unused \u0027group_changed\u0027 in cfq_service_tree_add()\n  cfq-iosched: reduce bit operations in cfq_choose_req()\n  cfq-iosched: algebraic simplification in cfq_prio_to_maxrq()\n  blk-cgroup: Initialize ioc-\u003ecgroup_changed at ioc creation time\n  block: move bd_set_size() above rescan_partitions() in __blkdev_get()\n  block: call elv_bio_merged() when merged\n  cfq-iosched: Make IO merge related stats per cpu\n  cfq-iosched: Fix a memory leak of per cpu stats for root group\n  backing-dev: Kill set but not used var in  bdi_debug_stats_show()\n  block: get rid of on-stack plugging debug checks\n  blk-throttle: Make no throttling rule group processing lockless\n  blk-cgroup: Make cgroup stat reset path blkg-\u003elock free for dispatch stats\n  blk-cgroup: Make 64bit per cpu stats safe on 32bit arch\n  blk-throttle: Make dispatch stats per cpu\n  blk-throttle: Free up a group only after one rcu grace period\n  blk-throttle: Use helper function to add root throtl group to lists\n  blk-throttle: Introduce a helper function to fill in device details\n  blk-throttle: Dynamically allocate root group\n  blk-cgroup: Allow sleeping while dynamically allocating a group\n  ...\n"
    },
    {
      "commit": "57d19e80f459dd845fb3cfeba8e6df8471bac142",
      "tree": "8254766715720228db3d50f1ef3c7fe003c06d65",
      "parents": [
        "ee9ec4f82049c678373a611ce20ac67fe9ad836e",
        "e64851f5a0ad6ec991f74ebb3108c35aa0323d5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 09:12:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 09:12:26 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)\n  b43: fix comment typo reqest -\u003e request\n  Haavard Skinnemoen has left Atmel\n  cris: typo in mach-fs Makefile\n  Kconfig: fix copy/paste-ism for dell-wmi-aio driver\n  doc: timers-howto: fix a typo (\"unsgined\")\n  perf: Only include annotate.h once in tools/perf/util/ui/browsers/annotate.c\n  md, raid5: Fix spelling error in comment (\u0027Ofcourse\u0027 --\u003e \u0027Of course\u0027).\n  treewide: fix a few typos in comments\n  regulator: change debug statement be consistent with the style of the rest\n  Revert \"arm: mach-u300/gpio: Fix mem_region resource size miscalculations\"\n  audit: acquire creds selectively to reduce atomic op overhead\n  rtlwifi: don\u0027t touch with treewide double semicolon removal\n  treewide: cleanup continuations and remove logging message whitespace\n  ath9k_hw: don\u0027t touch with treewide double semicolon removal\n  include/linux/leds-regulator.h: fix syntax in example code\n  tty: fix typo in descripton of tty_termios_encode_baud_rate\n  xtensa: remove obsolete BKL kernel option from defconfig\n  m68k: fix comment typo \u0027occcured\u0027\n  arch:Kconfig.locks Remove unused config option.\n  treewide: remove extra semicolons\n  ...\n"
    },
    {
      "commit": "cae13fe4cc3f24820ffb990c09110626837e85d4",
      "tree": "db3722f6c3ffc142eb3b931fb41b34d8dab3eaa7",
      "parents": [
        "e6c9366b2adb52cba64b359b3050200743c7568c"
      ],
      "author": {
        "name": "Timo Warns",
        "email": "Warns@pre-sense.de",
        "time": "Thu May 19 09:24:17 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 16:40:36 2011 -0700"
      },
      "message": "Fix for buffer overflow in ldm_frag_add not sufficient\n\nAs Ben Hutchings discovered [1], the patch for CVE-2011-1017 (buffer\noverflow in ldm_frag_add) is not sufficient.  The original patch in\ncommit c340b1d64000 (\"fs/partitions/ldm.c: fix oops caused by corrupted\npartition table\") does not consider that, for subsequent fragments,\npreviously allocated memory is used.\n\n[1] http://lkml.org/lkml/2011/5/6/407\n\nReported-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: Timo Warns \u003cwarns@pre-sense.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "698567f3fa790fea37509a54dea855302dd88331",
      "tree": "7a1df976a0eb12cab03e82c18809a30d5482fee4",
      "parents": [
        "d70d0711edd8076ec2ce0ed109106e2df950681b",
        "61c4f2c81c61f73549928dfd9f3e8f26aa36a8cf"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri May 20 20:33:15 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri May 20 20:33:15 2011 +0200"
      },
      "message": "Merge commit \u0027v2.6.39\u0027 into for-2.6.40/core\n\nSince for-2.6.40/core was forked off the 2.6.39 devel tree, we\u0027ve\nhad churn in the core area that makes it difficult to handle\npatches for eg cfq or blk-throttle. Instead of requiring that they\nbe based in older versions with bugs that have been fixed later\nin the rc cycle, merge in 2.6.39 final.\n\nAlso fixes up conflicts in the below files.\n\nConflicts:\n\tdrivers/block/paride/pcd.c\n\tdrivers/cdrom/viocd.c\n\tdrivers/ide/ide-cd.c\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "bbdd304cf66fbf2b4b2d28418dc619d443635e83",
      "tree": "c0740b29423b04a5d675539d5d841139b538c30a",
      "parents": [
        "23ceb5b7719e9276d4fa72a3ecf94dd396755276"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Mon May 09 08:28:13 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Mon May 09 08:28:13 2011 +0200"
      },
      "message": "fs: fixup warning part_discard_alignment_show()\n\nStephen reports:\n\n-----\n\nAfter merging the block tree, today\u0027s linux-next build (x86_64\nallmodconfig) produced this warning:\n\nfs/partitions/check.c: In function \u0027part_discard_alignment_show\u0027:\nfs/partitions/check.c:263: warning: format \u0027%u\u0027 expects type \u0027unsigned int\u0027, but argument 3 has type \u0027long long unsigned int\u0027\n\nIntroduced by commit  (\"block: Remove extra discard_alignment from\nhd_struct\")\n\n-----\n\nFix it up by just removing the cast, we return an int already.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "23ceb5b7719e9276d4fa72a3ecf94dd396755276",
      "tree": "f0613021d10b9e8464a26a78fcabf48e0f0b715b",
      "parents": [
        "8af1954d172a46a63e5e79dae523a6d74715e458"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Fri May 06 19:30:02 2011 -0600"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri May 06 19:30:02 2011 -0600"
      },
      "message": "block: Remove extra discard_alignment from hd_struct.\n\nCurrently, hd_struct.discard_alignment is only used when we\nshow /sys/block/sdx/sdx/discard_alignment. So remove it and\ncalculate when it is asked to show.\n\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "fa039d5f6b126fbd65eefa05db2f67e44df8f121",
      "tree": "bfd1fcc3bca88d6d43650a76575b04c21c2d2c24",
      "parents": [
        "bfd412db9e7b0d8f7b9c09d12d07aa2ac785f1d0"
      ],
      "author": {
        "name": "Timo Warns",
        "email": "Warns@pre-sense.de",
        "time": "Fri May 06 13:47:35 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 06 07:46:37 2011 -0700"
      },
      "message": "Validate size of EFI GUID partition entries.\n\nOtherwise corrupted EFI partition tables can cause total confusion.\n\nSigned-off-by: Timo Warns \u003cwarns@pre-sense.de\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "07f9479a40cc778bc1462ada11f95b01360ae4ff",
      "tree": "0676cf38df3844004bb3ebfd99dfa67a4a8998f5",
      "parents": [
        "9d5e6bdb3013acfb311ab407eeca0b6a6a3dedbf",
        "cd2e49e90f1cae7726c9a2c54488d881d7f1cd1c"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Apr 26 10:22:15 2011 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Apr 26 10:22:59 2011 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n\nFast-forwarded to current state of Linus\u0027 tree as there are patches to be\napplied for files that didn\u0027t exist on the old branch.\n"
    },
    {
      "commit": "c340b1d640001c8c9ecff74f68fd90422ae2448a",
      "tree": "2615bb9abb9fb956197c8f357dee388d15d82d81",
      "parents": [
        "c344180c9e77145a9e7eab0050169c68afae04b2"
      ],
      "author": {
        "name": "Timo Warns",
        "email": "Warns@pre-sense.de",
        "time": "Thu Apr 14 15:21:56 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 14 16:06:54 2011 -0700"
      },
      "message": "fs/partitions/ldm.c: fix oops caused by corrupted partition table\n\nThe kernel automatically evaluates partition tables of storage devices.\nThe code for evaluating LDM partitions (in fs/partitions/ldm.c) contains\na bug that causes a kernel oops on certain corrupted LDM partitions.\nA kernel subsystem seems to crash, because, after the oops, the kernel no\nlonger recognizes newly connected storage devices.\n\nThe patch validates the value of vblk_size.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Timo Warns \u003cwarns@pre-sense.de\u003e\nCc: Eugene Teo \u003ceugeneteo@kernel.sg\u003e\nCc: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nCc: Richard Russon \u003crich@flatcap.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1dd45aae79b821620ce45765e6210d77173fcecd",
      "tree": "f4f505e1a9f318139451e6e4fa1d9ea22d0dd5a4",
      "parents": [
        "853a1378ed6d6c9214d3a8f62d33186c6283cb51"
      ],
      "author": {
        "name": "Nikanth Karthikesan",
        "email": "knikanth@suse.de",
        "time": "Thu Mar 17 11:04:14 2011 +0530"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Sun Apr 10 17:01:03 2011 +0200"
      },
      "message": "ldm: Silence \"ldm_validate_partition_table(): Disk read failed\" when booting with \"quiet\"\n\nWhen the kernel does partition detection, on certain configurations with\nexternal fibre channel raid systems (e.g. clariion from EMC) the read\nwould fail. And \"ldm_validate_partition_table(): Disk read failed\"\nmessages are printed to the console.\n\nBut the failure to read is not a critical error. Now since the message\nis flagged as KERN_CRIT, it gets printed even when booting with the\n\"quiet\" kernel parameter. Fix it by using KERN_INFO, as the failure to\nread here is not really an error.\n\nSigned-off-by: Nikanth Karthikesan \u003cknikanth@suse.de\u003e\nReported-by : Klaus Hartmann \u003cKlaus.Hartmann@ts.fujitsu.com\u003e\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "6c5103890057b1bb781b26b7aae38d33e4c517d8",
      "tree": "e6e57961dcddcb5841acb34956e70b9dc696a880",
      "parents": [
        "3dab04e6978e358ad2307bca563fabd6c5d2c58b",
        "9d2e157d970a73b3f270b631828e03eb452d525e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 24 10:16:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 24 10:16:26 2011 -0700"
      },
      "message": "Merge branch \u0027for-2.6.39/core\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.39/core\u0027 of git://git.kernel.dk/linux-2.6-block: (65 commits)\n  Documentation/iostats.txt: bit-size reference etc.\n  cfq-iosched: removing unnecessary think time checking\n  cfq-iosched: Don\u0027t clear queue stats when preempt.\n  blk-throttle: Reset group slice when limits are changed\n  blk-cgroup: Only give unaccounted_time under debug\n  cfq-iosched: Don\u0027t set active queue in preempt\n  block: fix non-atomic access to genhd inflight structures\n  block: attempt to merge with existing requests on plug flush\n  block: NULL dereference on error path in __blkdev_get()\n  cfq-iosched: Don\u0027t update group weights when on service tree\n  fs: assign sb-\u003es_bdi to default_backing_dev_info if the bdi is going away\n  block: Require subsystems to explicitly allocate bio_set integrity mempool\n  jbd2: finish conversion from WRITE_SYNC_PLUG to WRITE_SYNC and explicit plugging\n  jbd: finish conversion from WRITE_SYNC_PLUG to WRITE_SYNC and explicit plugging\n  fs: make fsync_buffers_list() plug\n  mm: make generic_writepages() use plugging\n  blk-cgroup: Add unaccounted time to timeslice_used.\n  block: fixup plugging stubs for !CONFIG_BLOCK\n  block: remove obsolete comments for blkdev_issue_zeroout.\n  blktrace: Use rq-\u003ecmd_flags directly in blk_add_trace_rq.\n  ...\n\nFix up conflicts in fs/{aio.c,super.c}\n"
    },
    {
      "commit": "1e9bb8808ac11094d711d20d580e7b45a4992d0c",
      "tree": "d0e228b619664b7f507e37e5eba4a5ebeef103a0",
      "parents": [
        "5e84ea3a9c662dc2d7a48703a4468fad954a3b7f"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Tue Mar 22 08:35:35 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Mar 22 08:35:35 2011 +0100"
      },
      "message": "block: fix non-atomic access to genhd inflight structures\n\nAfter the stack plugging introduction, these are called lockless.\nEnsure that the counters are updated atomically.\n\nSigned-off-by: Shaohua Li\u003cshaohua.li@intel.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "34d211a2d5df4984a35b18d8ccacbe1d10abb067",
      "tree": "aac4a192b633860419fc2429d6c8b37beb3390a5",
      "parents": [
        "bab1d9444d9a147f1dc3478dd06c16f490227f3e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 08:04:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 08:04:07 2011 -0700"
      },
      "message": "Increase OSF partition limit from 8 to 18\n\nIt turns out that while a maximum of 8 partitions may be what people\n\"should\" have had, you can actually fit up to 18 entries(*) in a sector.\n\nAnd some people clearly were taking advantage of that, like Michael\nCree, who had ten partitions on one of his OSF disks.\n\n(*) The OSF partition data starts at byte offset 64 in the first sector,\n    and the array of 16-byte partition entries start at offset 148 in\n    the on-disk partition structure.\n\nReported-by: Michael Cree \u003cmcree@orcon.net.nz\u003e\nCc: stable@kernel.org (v2.6.38)\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1eafbfeb7bdf59cfe173304c76188f3fd5f1fd05",
      "tree": "eae0a7cdf358b1b0396e9c3ec935d0e6be72bdb2",
      "parents": [
        "2fbfac4e053861925fa3fffcdc327649b09af54c"
      ],
      "author": {
        "name": "Timo Warns",
        "email": "Warns@pre-sense.de",
        "time": "Mon Mar 14 14:59:33 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 14 10:14:28 2011 -0700"
      },
      "message": "Fix corrupted OSF partition table parsing\n\nThe kernel automatically evaluates partition tables of storage devices.\nThe code for evaluating OSF partitions contains a bug that leaks data\nfrom kernel heap memory to userspace for certain corrupted OSF\npartitions.\n\nIn more detail:\n\n  for (i \u003d 0 ; i \u003c le16_to_cpu(label-\u003ed_npartitions); i++, partition++) {\n\niterates from 0 to d_npartitions - 1, where d_npartitions is read from\nthe partition table without validation and partition is a pointer to an\narray of at most 8 d_partitions.\n\nAdd the proper and obvious validation.\n\nSigned-off-by: Timo Warns \u003cwarns@pre-sense.de\u003e\nCc: stable@kernel.org\n[ Changed the patch trivially to not repeat the whole le16_to_cpu()\n  thing, and to use an explicit constant for the magic value \u00278\u0027 ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "294f6cf48666825d23c9372ef37631232746e40d",
      "tree": "2190540b4d02534d17d1c4ee11b1ce96dba16daa",
      "parents": [
        "2876592f231d436c295b67726313f6f3cfb6e243"
      ],
      "author": {
        "name": "Timo Warns",
        "email": "Warns@pre-sense.de",
        "time": "Fri Feb 25 14:44:21 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 15:07:36 2011 -0800"
      },
      "message": "ldm: corrupted partition table can cause kernel oops\n\nThe kernel automatically evaluates partition tables of storage devices.\nThe code for evaluating LDM partitions (in fs/partitions/ldm.c) contains\na bug that causes a kernel oops on certain corrupted LDM partitions.  A\nkernel subsystem seems to crash, because, after the oops, the kernel no\nlonger recognizes newly connected storage devices.\n\nThe patch changes ldm_parse_vmdb() to Validate the value of vblk_size.\n\nSigned-off-by: Timo Warns \u003cwarns@pre-sense.de\u003e\nCc: Eugene Teo \u003ceugeneteo@kernel.sg\u003e\nAcked-by: Richard Russon \u003cldm@flatcap.org\u003e\nCc: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fa7ea87a057958a8b7926c1a60a3ca6d696328ed",
      "tree": "4795fb5b14dfd3112b650456007e167eb90c1645",
      "parents": [
        "ee715087024b91a6ceb85ba2d02f6c35d354a48c"
      ],
      "author": {
        "name": "Timo Warns",
        "email": "warns@pre-sense.de",
        "time": "Thu Feb 17 22:27:40 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 17 17:50:51 2011 -0800"
      },
      "message": "fs/partitions: Validate map_count in Mac partition tables\n\nValidate number of blocks in map and remove redundant variable.\n\nSigned-off-by: Timo Warns \u003cwarns@pre-sense.de\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "81c5e2ae33c4b19e53966b427e33646bf6811830",
      "tree": "a602a6dd100165c8948bfa713e6f0b422dcba5d8",
      "parents": [
        "797a455d2c682476c3797dbfecf5bf84c1e3b9d3",
        "fcc57045d53edc35bcce456e60ac4aa802712934"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Jan 13 14:47:54 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Jan 13 14:47:54 2011 +0100"
      },
      "message": "Merge branch \u0027for-2.6.38/event-handling\u0027 into for-2.6.38/core\n"
    },
    {
      "commit": "6c23a9681c0fe7fb7dd331b39dda11926f43746e",
      "tree": "bf113a475a17faa866e7e59806378107dcb3aa40",
      "parents": [
        "09e099d4bafea3b15be003d548bdf94b4b6e0e17"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri Jan 07 08:43:37 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri Jan 07 08:43:37 2011 +0100"
      },
      "message": "block: add internal hd part table references\n\nWe can\u0027t use krefs since it\u0027s apparently restricted to very basic\nreference counting.\n\nThis reverts commit e4a683c8.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "09e099d4bafea3b15be003d548bdf94b4b6e0e17",
      "tree": "a4199338ad73e88c0863bbfc6604c4972055f16d",
      "parents": [
        "e4a683c899cd5a49f8d684a054c95bd115a0c005"
      ],
      "author": {
        "name": "Jerome Marchand",
        "email": "jmarchan@redhat.com",
        "time": "Wed Jan 05 16:57:38 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Jan 05 16:57:38 2011 +0100"
      },
      "message": "block: fix accounting bug on cross partition merges\n\n/proc/diskstats would display a strange output as follows.\n\n$ cat /proc/diskstats |grep sda\n   8       0 sda 90524 7579 102154 20464 0 0 0 0 0 14096 20089\n   8       1 sda1 19085 1352 21841 4209 0 0 0 0 4294967064 15689 4293424691\n                                                ~~~~~~~~~~\n   8       2 sda2 71252 3624 74891 15950 0 0 0 0 232 23995 1562390\n   8       3 sda3 54 487 2188 92 0 0 0 0 0 88 92\n   8       4 sda4 4 0 8 0 0 0 0 0 0 0 0\n   8       5 sda5 81 2027 2130 138 0 0 0 0 0 87 137\n\nIts reason is the wrong way of accounting hd_struct-\u003ein_flight. When a bio is\nmerged into a request belongs to different partition by ELEVATOR_FRONT_MERGE.\n\nThe detailed root cause is as follows.\n\nAssuming that there are two partition, sda1 and sda2.\n\n1. A request for sda2 is in request_queue. Hence sda1\u0027s hd_struct-\u003ein_flight\n   is 0 and sda2\u0027s one is 1.\n\n        | hd_struct-\u003ein_flight\n   ---------------------------\n   sda1 |          0\n   sda2 |          1\n   ---------------------------\n\n2. A bio belongs to sda1 is issued and is merged into the request mentioned on\n   step1 by ELEVATOR_BACK_MERGE. The first sector of the request is changed\n   from sda2 region to sda1 region. However the two partition\u0027s\n   hd_struct-\u003ein_flight are not changed.\n\n        | hd_struct-\u003ein_flight\n   ---------------------------\n   sda1 |          0\n   sda2 |          1\n   ---------------------------\n\n3. The request is finished and blk_account_io_done() is called. In this case,\n   sda2\u0027s hd_struct-\u003ein_flight, not a sda1\u0027s one, is decremented.\n\n        | hd_struct-\u003ein_flight\n   ---------------------------\n   sda1 |         -1\n   sda2 |          1\n   ---------------------------\n\nThe patch fixes the problem by caching the partition lookup\ninside the request structure, hence making sure that the increment\nand decrement will always happen on the same partition struct. This\nalso speeds up IO with accounting enabled, since it cuts down on\nthe number of lookups we have to do.\n\nAlso add a refcount to struct hd_struct to keep the partition in\nmemory as long as users exist. We use kref_test_and_get() to ensure\nwe don\u0027t add a reference to a partition which is going away.\n\nSigned-off-by: Jerome Marchand \u003cjmarchan@redhat.com\u003e\nSigned-off-by: Yasuaki Ishimatsu \u003cisimatu.yasuaki@jp.fujitsu.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "d2bf1b6723ed0eab378363649d15b7893bf14e91",
      "tree": "4a4144b09ab747ad661605aa761753d9a805e77f",
      "parents": [
        "dddd9dc340ae1a41d90e084529ca979c77c4ecfe"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Dec 08 20:57:36 2010 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Dec 16 17:53:38 2010 +0100"
      },
      "message": "block: move register_disk() and del_gendisk() to block/genhd.c\n\nThere\u0027s no reason for register_disk() and del_gendisk() to be in\nfs/partitions/check.c.  Move both to genhd.c.  While at it, collapse\nunlink_gendisk(), which was artificially in a separate function due to\ngenhd.c / check.c split, into del_gendisk().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "f30195c50245d8ace628e1978b1daa8df86e7224",
      "tree": "edf4f91c4356c41d50fb07f15cebd1e6442538ad",
      "parents": [
        "d07335e51df0c6dec202d315fc4f1f7e100eec4e",
        "d4d77629953eabd3c14f6fa5746f6b28babfc55f"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Nov 27 19:49:18 2010 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Nov 27 19:49:18 2010 +0100"
      },
      "message": "Merge branch \u0027cleanup-bd_claim\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc into for-2.6.38/core\n"
    },
    {
      "commit": "a02056349cdea2252cd2b21643ebf025e83a29f2",
      "tree": "b7c889d6cbe8e7188d07d99a5c9da858c53a5b6c",
      "parents": [
        "34db1d595ef6f183fbc1e42cda45a3dfa0035258",
        "e53beacd23d9cb47590da6a7a7f6d417b941a994"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Nov 16 10:09:42 2010 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Nov 16 10:09:42 2010 +0100"
      },
      "message": "Merge branch \u0027v2.6.37-rc2\u0027 into for-2.6.38/core\n"
    },
    {
      "commit": "e525fd89d380c4a94c0d63913a1dd1a593ed25e7",
      "tree": "d226ef40d3f99e42fcf272ad432585cbd641ebec",
      "parents": [
        "e09b457bdb7e8d23fc54dcef0930ac697d8de895"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sat Nov 13 11:55:17 2010 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sat Nov 13 11:55:17 2010 +0100"
      },
      "message": "block: make blkdev_get/put() handle exclusive access\n\nOver time, block layer has accumulated a set of APIs dealing with bdev\nopen, close, claim and release.\n\n* blkdev_get/put() are the primary open and close functions.\n\n* bd_claim/release() deal with exclusive open.\n\n* open/close_bdev_exclusive() are combination of open and claim and\n  the other way around, respectively.\n\n* bd_link/unlink_disk_holder() to create and remove holder/slave\n  symlinks.\n\n* open_by_devnum() wraps bdget() + blkdev_get().\n\nThe interface is a bit confusing and the decoupling of open and claim\nmakes it impossible to properly guarantee exclusive access as\nin-kernel open + claim sequence can disturb the existing exclusive\nopen even before the block layer knows the current open if for another\nexclusive access.  Reorganize the interface such that,\n\n* blkdev_get() is extended to include exclusive access management.\n  @holder argument is added and, if is @FMODE_EXCL specified, it will\n  gain exclusive access atomically w.r.t. other exclusive accesses.\n\n* blkdev_put() is similarly extended.  It now takes @mode argument and\n  if @FMODE_EXCL is set, it releases an exclusive access.  Also, when\n  the last exclusive claim is released, the holder/slave symlinks are\n  removed automatically.\n\n* bd_claim/release() and close_bdev_exclusive() are no longer\n  necessary and either made static or removed.\n\n* bd_link_disk_holder() remains the same but bd_unlink_disk_holder()\n  is no longer necessary and removed.\n\n* open_bdev_exclusive() becomes a simple wrapper around lookup_bdev()\n  and blkdev_get().  It also has an unexpected extra bdev_read_only()\n  test which probably should be moved into blkdev_get().\n\n* open_by_devnum() is modified to take @holder argument and pass it to\n  blkdev_get().\n\nMost of bdev open/close operations are unified into blkdev_get/put()\nand most exclusive accesses are tested atomically at the open time (as\nit should).  This cleans up code and removes some, both valid and\ninvalid, but unnecessary all the same, corner cases.\n\nopen_bdev_exclusive() and open_by_devnum() can use further cleanup -\nrename to blkdev_get_by_path() and blkdev_get_by_devt() and drop\nspecial features.  Well, let\u0027s leave them for another day.\n\nMost conversions are straight-forward.  drbd conversion is a bit more\ninvolved as there was some reordering, but the logic should stay the\nsame.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nAcked-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nAcked-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nCc: Peter Osterlund \u003cpetero2@telia.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Andreas Dilger \u003cadilger.kernel@dilger.ca\u003e\nCc: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Mark Fasheh \u003cmfasheh@suse.com\u003e\nCc: Joel Becker \u003cjoel.becker@oracle.com\u003e\nCc: Alex Elder \u003caelder@sgi.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: dm-devel@redhat.com\nCc: drbd-dev@lists.linbit.com\nCc: Leo Chen \u003cleochen@broadcom.com\u003e\nCc: Scott Branden \u003csbranden@broadcom.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nCc: Joern Engel \u003cjoern@logfs.org\u003e\nCc: reiserfs-devel@vger.kernel.org\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "34db1d595ef6f183fbc1e42cda45a3dfa0035258",
      "tree": "1fd9131f685dadd249c8bbb10c0c91eb6dc08a35",
      "parents": [
        "2b9408a45978dcda77407859148deeccf403c372"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Thu Nov 11 09:58:57 2010 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Nov 11 09:58:57 2010 +0100"
      },
      "message": "block: export \u0027ro\u0027 sysfs attribute for partitions\n\nWe already export \u0027ro\u0027 for the disk. This adds the same attribute\nfor partitions.\n\nCc: Karel Zak \u003ckzak@redhat.com\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "8e775167d54e6521e7cdbc03ee7ec42a8c67b49a",
      "tree": "a49914306fb28505c6e21a456df8bdc40d6eac23",
      "parents": [
        "4b37ba90f49d4157ac5628f8d730d3505f176724",
        "f253b86b4ad1b3220544e75880510fd455ebd23f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 07:45:10 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 07:45:10 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  Revert \"block: fix accounting bug on cross partition merges\"\n"
    },
    {
      "commit": "229aebb873e29726b91e076161649cf45154b0bf",
      "tree": "acc02a3702215bce8d914f4c8cc3d7a1382b1c67",
      "parents": [
        "8de547e1824437f3c6af180d3ed2162fa4b3f389",
        "50a23e6eec6f20d55a3a920e47adb455bff6046e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 24 13:41:39 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 24 13:41:39 2010 -0700"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)\n  Update broken web addresses in arch directory.\n  Update broken web addresses in the kernel.\n  Revert \"drivers/usb: Remove unnecessary return\u0027s from void functions\" for musb gadget\n  Revert \"Fix typo: configuation \u003d\u003e configuration\" partially\n  ida: document IDA_BITMAP_LONGS calculation\n  ext2: fix a typo on comment in ext2/inode.c\n  drivers/scsi: Remove unnecessary casts of private_data\n  drivers/s390: Remove unnecessary casts of private_data\n  net/sunrpc/rpc_pipe.c: Remove unnecessary casts of private_data\n  drivers/infiniband: Remove unnecessary casts of private_data\n  drivers/gpu/drm: Remove unnecessary casts of private_data\n  kernel/pm_qos_params.c: Remove unnecessary casts of private_data\n  fs/ecryptfs: Remove unnecessary casts of private_data\n  fs/seq_file.c: Remove unnecessary casts of private_data\n  arm: uengine.c: remove C99 comments\n  arm: scoop.c: remove C99 comments\n  Fix typo configue \u003d\u003e configure in comments\n  Fix typo: configuation \u003d\u003e configuration\n  Fix typo interrest[ing|ed] \u003d\u003e interest[ing|ed]\n  Fix various typos of valid in comments\n  ...\n\nFix up trivial conflicts in:\n\tdrivers/char/ipmi/ipmi_si_intf.c\n\tdrivers/usb/gadget/rndis.c\n\tnet/irda/irnet/irnet_ppp.c\n"
    },
    {
      "commit": "f253b86b4ad1b3220544e75880510fd455ebd23f",
      "tree": "cc2dd76b8ffc8df4356c1e95bd15276169dd335e",
      "parents": [
        "35da7a307c535f9c2929cae277f3df425c9f9b1e"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sun Oct 24 22:06:02 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sun Oct 24 22:06:02 2010 +0200"
      },
      "message": "Revert \"block: fix accounting bug on cross partition merges\"\n\nThis reverts commit 7681bfeeccff5efa9eb29bf09249a3c400b15327.\n\nConflicts:\n\n\tinclude/linux/genhd.h\n\nIt has numerous issues with the cleanup path and non-elevator\ndevices. Revert it for now so we can come up with a clean\nversion without rushing things.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "b9da0571050c09863e59f94d0b8594a290d61b88",
      "tree": "3632c4fee768db9a27a5c872bd42133692e2f3d0",
      "parents": [
        "f8cae0f03f75adb54b1d48ddbc90f84a1f5de186",
        "5abd935661e01289ba143c3b2c1ba300c65bcc5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 19:36:42 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 19:36:42 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (31 commits)\n  driver core: Display error codes when class suspend fails\n  Driver core: Add section count to memory_block struct\n  Driver core: Add mutex for adding/removing memory blocks\n  Driver core: Move find_memory_block routine\n  hpilo: Despecificate driver from iLO generation\n  driver core: Convert link_mem_sections to use find_memory_block_hinted.\n  driver core: Introduce find_memory_block_hinted which utilizes kset_find_obj_hinted.\n  kobject: Introduce kset_find_obj_hinted.\n  driver core: fix build for CONFIG_BLOCK not enabled\n  driver-core: base: change to new flag variable\n  sysfs: only access bin file vm_ops with the active lock\n  sysfs: Fail bin file mmap if vma close is implemented.\n  FW_LOADER: fix kconfig dependency warning on HOTPLUG\n  uio: Statically allocate uio_class and use class .dev_attrs.\n  uio: Support 2^MINOR_BITS minors\n  uio: Cleanup irq handling.\n  uio: Don\u0027t clear driver data\n  uio: Fix lack of locking in init_uio_class\n  SYSFS: Allow boot time switching between deprecated and modern sysfs layout\n  driver core: remove CONFIG_SYSFS_DEPRECATED_V2 but keep it for block devices\n  ...\n"
    },
    {
      "commit": "e52eec13cd6b7f30ab19081b387813e03e592ae5",
      "tree": "7b327e0b9283c578fb10922edcf6e10b3b8fd943",
      "parents": [
        "39aba963d937edb20db7d9d93e6dda5d2adfdcdd"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Wed Sep 08 16:54:17 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 22 10:16:43 2010 -0700"
      },
      "message": "SYSFS: Allow boot time switching between deprecated and modern sysfs layout\n\nI have some systems which need legacy sysfs due to old tools that are\nmaking assumptions that a directory can never be a symlink to another\ndirectory, and it\u0027s a big hazzle to compile separate kernels for them.\n\nThis patch turns CONFIG_SYSFS_DEPRECATED into a run time option\nthat can be switched on/off the kernel command line. This way\nthe same binary can be used in both cases with just a option\non the command line.\n\nThe old CONFIG_SYSFS_DEPRECATED_V2 option is still there to set\nthe default. I kept the weird name to not break existing\nconfig files.\n\nAlso the compat code can be still completely disabled by undefining\nCONFIG_SYSFS_DEPRECATED_SWITCH -- just the optimizer takes\ncare of this now instead of lots of ifdefs. This makes the code\nlook nicer.\n\nv2: This is an updated version on top of Kay\u0027s patch to only\nhandle the block devices. I tested it on my old systems\nand that seems to work.\n\nCc: axboe@kernel.dk\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7681bfeeccff5efa9eb29bf09249a3c400b15327",
      "tree": "8557964a2df96e253dcf1a61734b98dbfbf192d6",
      "parents": [
        "495d2b3883682fcd1c3dee3a45e38fd00154ae25"
      ],
      "author": {
        "name": "Yasuaki Ishimatsu",
        "email": "isimatu.yasuaki@jp.fujitsu.com",
        "time": "Tue Oct 19 09:05:00 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Oct 19 09:07:02 2010 +0200"
      },
      "message": "block: fix accounting bug on cross partition merges\n\n/proc/diskstats would display a strange output as follows.\n\n$ cat /proc/diskstats |grep sda\n   8       0 sda 90524 7579 102154 20464 0 0 0 0 0 14096 20089\n   8       1 sda1 19085 1352 21841 4209 0 0 0 0 4294967064 15689 4293424691\n                                                ~~~~~~~~~~\n   8       2 sda2 71252 3624 74891 15950 0 0 0 0 232 23995 1562390\n   8       3 sda3 54 487 2188 92 0 0 0 0 0 88 92\n   8       4 sda4 4 0 8 0 0 0 0 0 0 0 0\n   8       5 sda5 81 2027 2130 138 0 0 0 0 0 87 137\n\nIts reason is the wrong way of accounting hd_struct-\u003ein_flight. When a bio is\nmerged into a request belongs to different partition by ELEVATOR_FRONT_MERGE.\n\nThe detailed root cause is as follows.\n\nAssuming that there are two partition, sda1 and sda2.\n\n1. A request for sda2 is in request_queue. Hence sda1\u0027s hd_struct-\u003ein_flight\n   is 0 and sda2\u0027s one is 1.\n\n        | hd_struct-\u003ein_flight\n   ---------------------------\n   sda1 |          0\n   sda2 |          1\n   ---------------------------\n\n2. A bio belongs to sda1 is issued and is merged into the request mentioned on\n   step1 by ELEVATOR_BACK_MERGE. The first sector of the request is changed\n   from sda2 region to sda1 region. However the two partition\u0027s\n   hd_struct-\u003ein_flight are not changed.\n\n        | hd_struct-\u003ein_flight\n   ---------------------------\n   sda1 |          0\n   sda2 |          1\n   ---------------------------\n\n3. The request is finished and blk_account_io_done() is called. In this case,\n   sda2\u0027s hd_struct-\u003ein_flight, not a sda1\u0027s one, is decremented.\n\n        | hd_struct-\u003ein_flight\n   ---------------------------\n   sda1 |         -1\n   sda2 |          1\n   ---------------------------\n\nThe patch fixes the problem by caching the partition lookup\ninside the request structure, hence making sure that the increment\nand decrement will always happen on the same partition struct. This\nalso speeds up IO with accounting enabled, since it cuts down on\nthe number of lookups we have to do.\n\nWhen reloading partition tables, quiesce IO to ensure that no\nrequest references to the partition struct exists. When it is safe\nto free the partition table, the IO for that device is restarted\nagain.\n\nSigned-off-by: Yasuaki Ishimatsu \u003cisimatu.yasuaki@jp.fujitsu.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "631dd1a885b6d7e9f6f51b4e5b311c2bb04c323c",
      "tree": "c431fa3479c1d35842fb5635ed7ccd487d063a62",
      "parents": [
        "d7eccbbae84b2ee7dbb756e60287c4b47071444e"
      ],
      "author": {
        "name": "Justin P. Mattock",
        "email": "justinmattock@gmail.com",
        "time": "Mon Oct 18 11:03:14 2010 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Oct 18 11:03:14 2010 +0200"
      },
      "message": "Update broken web addresses in the kernel.\n\nThe patch below updates broken web addresses in the kernel\n\nSigned-off-by: Justin P. Mattock \u003cjustinmattock@gmail.com\u003e\nCc: Maciej W. Rozycki \u003cmacro@linux-mips.org\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Finn Thain \u003cfthain@telegraphics.com.au\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: Matt Turner \u003cmattst88@gmail.com\u003e\nCc: Dimitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\nCc: Mike Frysinger \u003cvapier.adi@gmail.com\u003e\nAcked-by: Ben Pfaff \u003cblp@cs.stanford.edu\u003e\nAcked-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nReviewed-by: Finn Thain \u003cfthain@telegraphics.com.au\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "eec7ecfede74bb996060efefd5c157acd5794e8a",
      "tree": "ecbe81ba3143aa8a90936a8acc51cc6a1cc6e01c",
      "parents": [
        "6d1d8050b4bc89d0165d29b58e894aeba2564a97"
      ],
      "author": {
        "name": "Will Drewry",
        "email": "wad@chromium.org",
        "time": "Tue Aug 31 15:47:06 2010 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Sep 15 16:13:28 2010 +0200"
      },
      "message": "genhd, efi: add efi partition metadata to hd_structs\n\nThis change extends the partition_meta_info structure to\nsupport EFI GPT-specific metadata and ensures that data\nis copied in on partition scanning.\n\nSigned-off-by: Will Drewry \u003cwad@chromium.org\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "6d1d8050b4bc89d0165d29b58e894aeba2564a97",
      "tree": "b5c5b730bd7b80fe9041c031a6fcf08f42fff0d5",
      "parents": [
        "144177991ca624841ddbd1e7edff958fc0f6d1fe"
      ],
      "author": {
        "name": "Will Drewry",
        "email": "wad@chromium.org",
        "time": "Tue Aug 31 15:47:05 2010 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Sep 15 16:13:18 2010 +0200"
      },
      "message": "block, partition: add partition_meta_info to hd_struct\n\nI\u0027m reposting this patch series as v4 since there have been no additional\ncomments, and I cleaned up one extra bit of unneeded code (in 3/3). The patches\nare against Linus\u0027s tree: 2bfc96a127bc1cc94d26bfaa40159966064f9c8c\n(2.6.36-rc3).\n\nWould this patchset be suitable for inclusion in an mm branch?\n\nThis changes adds a partition_meta_info struct which itself contains a\nunion of structures that provide partition table specific metadata.\n\nThis change leaves the union empty. The subsequent patch includes an\nimplementation for CONFIG_EFI_PARTITION-based metadata.\n\nSigned-off-by: Will Drewry \u003cwad@chromium.org\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "2041f657aa4dc77afd63bbb34b34ed9476cf9ab9",
      "tree": "41daa865d0fffaf5ae9215614262aaa8500d5b33",
      "parents": [
        "e402e38c6b148febf8c3c39546e24584eaa23e42"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Aug 13 10:06:43 2010 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "sky@mschwide.boeblingen.de.ibm.com",
        "time": "Fri Aug 13 10:06:55 2010 +0200"
      },
      "message": "[S390] partitions: fix build error in ibm partition detection code\n\n9c867fbe \"partitions: fix sometimes unreadable partition strings\" coverted\none line within the ibm partition code incorrectly. Fix this to get rid of\na build error.\n\nfs/partitions/ibm.c: In function \u0027ibm_partition\u0027:\n[...]\nfs/partitions/ibm.c:185: error: too many arguments to function \u0027strlcat\u0027\n\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "9c867fbe06458a8957024236b574733fae0cefed",
      "tree": "6eae6def53e4ca9e30f90f6e9c07d8044581f08f",
      "parents": [
        "ecd6269174c04da5efbd17d6bff793e428eb45ef"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Aug 10 18:03:14 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:20 2010 -0700"
      },
      "message": "partitions: fix sometimes unreadable partition strings\n\nFix this garbage happening quite often:\n\n\u003d\u003d\u003e\t sda:\n\tscsi 3:0:0:0: CD-ROM            TOSHIBA\n\u003d\u003d\u003e\t sda1 sda2 sda3 sda4 \u003csr0: scsi3-mmc drive: 24x/24x writer dvd-ram cd/rw xa/form2 cdda tray\n\t\t\t    ^^^\n\tUniform CD-ROM driver Revision: 3.20\n\tsr 3:0:0:0: Attached scsi CD-ROM sr0\n\u003d\u003d\u003e\t sda5 sda6 sda7 \u003e\n\nMake \"sda: sda1 ...\" lines actually lines.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@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": "3a3527b6461b1298cc53ce72f336346739297ac8",
      "tree": "30bea5dd7163f13d6c962888feaf53f50ead4cce",
      "parents": [
        "cc77b4db0017dab014ad7ea3d297e10f5b5bf028",
        "a53f4b61a76a7e95139b8e8abba02e9bfe87a58a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 06 09:23:07 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 06 09:23:07 2010 -0700"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  Revert \"net: Make accesses to -\u003ebr_port safe for sparse RCU\"\n  mce: convert to rcu_dereference_index_check()\n  net: Make accesses to -\u003ebr_port safe for sparse RCU\n  vfs: add fs.h to define struct file\n  lockdep: Add an in_workqueue_context() lockdep-based test function\n  rcu: add __rcu API for later sparse checking\n  rcu: add an rcu_dereference_index_check()\n  tree/tiny rcu: Add debug RCU head objects\n  mm: remove all rcu head initializations\n  fs: remove all rcu head initializations, except on_stack initializations\n  powerpc: remove all rcu head initializations\n"
    },
    {
      "commit": "cffab6bc5511cd6f67a60bf16b62de4267b68c4c",
      "tree": "edcc2a5ed2ef5865e98c8fa01bcb866a579edf89",
      "parents": [
        "a9f7f2e74ae0e6a801a2433dc8e9124d73da0cb4"
      ],
      "author": {
        "name": "Peter Oberparleiter",
        "email": "peter.oberparleiter@de.ibm.com",
        "time": "Mon Jul 19 09:22:35 2010 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "sky@mschwide.boeblingen.de.ibm.com",
        "time": "Mon Jul 19 09:22:50 2010 +0200"
      },
      "message": "[S390] dasd: use correct label location for diag fba disks\n\nPartition boundary calculation fails for DASD FBA disks under the\nfollowing conditions:\n- disk is formatted with CMS FORMAT with a blocksize of more than\n  512 bytes\n- all of the disk is reserved to a single CMS file using CMS RESERVE\n- the disk is accessed using the DIAG mode of the DASD driver\n\nUnder these circumstances, the partition detection code tries to\nread the CMS label block containing partition-relevant information\nfrom logical block offset 1, while it is in fact located at physical\nblock offset 1.\n\nFix this problem by using the correct CMS label block location\ndepending on the device type as determined by the DASD SENSE ID\ninformation.\n\nSigned-off-by: Peter Oberparleiter \u003cpeter.oberparleiter@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "b97181f24212f4c29197890ce1b2b9100bcc184d",
      "tree": "4c743f8492d14e05a6a5bb9dba4a6177571ebcec",
      "parents": [
        "9161e329ef004343250e3db17b8d12c252af88fc"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon May 10 17:09:25 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Jun 14 16:37:26 2010 -0700"
      },
      "message": "fs: remove all rcu head initializations, except on_stack initializations\n\nRemove all rcu head inits. We don\u0027t care about the RCU head state before passing\nit to call_rcu() anyway. Only leave the \"on_stack\" variants so debugobjects can\nkeep track of objects on stack.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Andries Brouwer \u003caeb@cwi.nl\u003e\n"
    },
    {
      "commit": "91f06e66805dd94825885b3ec392c693fe9ef4d9",
      "tree": "047e315e863085b74413af3534a8c682a3bcedc5",
      "parents": [
        "1356de06cea80ffc84cde6a4f8779414f20f211e"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "ext-andriy.shevchenko@nokia.com",
        "time": "Mon May 24 14:33:27 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:06 2010 -0700"
      },
      "message": "fs: ldm: don\u0027t use own implementation of hex_to_bin()\n\nRemove own implementation of hex_to_bin().\n\nSigned-off-by: Andy Shevchenko \u003cext-andriy.shevchenko@nokia.com\u003e\nCc: \"Richard Russon (FlatCap)\" \u003cldm@flatcap.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e8bebe2f71d26871b0970ae1d9cf0ed3cdd9569d",
      "tree": "c0d82cbd11daaf579b74121c6641d58947091094",
      "parents": [
        "6109e2ce2600e2db26cd0424bb9c6ed019723288",
        "82f3952c02add60b15eea9151d4d99b6b82066c6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 19:37:45 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 19:37:45 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (69 commits)\n  fix handling of offsets in cris eeprom.c, get rid of fake on-stack files\n  get rid of home-grown mutex in cris eeprom.c\n  switch ecryptfs_write() to struct inode *, kill on-stack fake files\n  switch ecryptfs_get_locked_page() to struct inode *\n  simplify access to ecryptfs inodes in -\u003ereadpage() and friends\n  AFS: Don\u0027t put struct file on the stack\n  Ban ecryptfs over ecryptfs\n  logfs: replace inode uid,gid,mode initialization with helper function\n  ufs: replace inode uid,gid,mode initialization with helper function\n  udf: replace inode uid,gid,mode init with helper\n  ubifs: replace inode uid,gid,mode initialization with helper function\n  sysv: replace inode uid,gid,mode initialization with helper function\n  reiserfs: replace inode uid,gid,mode initialization with helper function\n  ramfs: replace inode uid,gid,mode initialization with helper function\n  omfs: replace inode uid,gid,mode initialization with helper function\n  bfs: replace inode uid,gid,mode initialization with helper function\n  ocfs2: replace inode uid,gid,mode initialization with helper function\n  nilfs2: replace inode uid,gid,mode initialization with helper function\n  minix: replace inode uid,gid,mode init with helper\n  ext4: replace inode uid,gid,mode init with helper\n  ...\n\nTrivial conflict in fs/fs-writeback.c (mark bitfields unsigned)\n"
    },
    {
      "commit": "cc9106247de92549e50abb0ba12d6b2fdbf0be55",
      "tree": "f0e76e94e4b0041c255b9f3d4f3e5217b37951d2",
      "parents": [
        "8018ab057480974e7f26a387bf4ce040e9a5f6f1"
      ],
      "author": {
        "name": "Cesar Eduardo Barros",
        "email": "cesarb@cesarb.net",
        "time": "Sat Apr 17 19:28:09 2010 -0300"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri May 21 18:31:21 2010 -0400"
      },
      "message": "fs/partitions: use ADDPART_FLAG_RAID instead of magic number\n\nADDPART_FLAG_RAID was introduced in commit d18d768, and most places were\nconverted to use it instead of a hardcoded value. However, some places seem\nto have been missed.\n\nChange all of them to the symbolic names via the following semantic patch:\n\n@@\nstruct parsed_partitions *state;\nexpression E;\n@@\n(\n- state-\u003eparts[E].flags \u003d 1\n+ state-\u003eparts[E].flags \u003d ADDPART_FLAG_RAID\n|\n- state-\u003eparts[E].flags |\u003d 1\n+ state-\u003eparts[E].flags |\u003d ADDPART_FLAG_RAID\n|\n- state-\u003eparts[E].flags \u003d 2\n+ state-\u003eparts[E].flags \u003d ADDPART_FLAG_WHOLEDISK\n|\n- state-\u003eparts[E].flags |\u003d 2\n+ state-\u003eparts[E].flags |\u003d ADDPART_FLAG_WHOLEDISK\n)\n\nSigned-off-by: Cesar Eduardo Barros \u003ccesarb@cesarb.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b403a98e260f3a8c7c33f58a07c7ae549852170f",
      "tree": "b6672b43cc1808632547f2f16c917d33d85e1399",
      "parents": [
        "1493bf217f7f59a5d9e2095a7dbcec00fb36ca8b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sat May 15 20:09:31 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 21 20:01:03 2010 +0200"
      },
      "message": "block: improve automatic native capacity unlocking\n\nCurrently, native capacity unlocking is initiated only when a\nrecognized partition extends beyond the end of the disk.  However,\nthere are several other unhandled cases where truncated capacity can\nlead to misdetection of partitions.\n\n* Partition table is fully beyond EOD.\n\n* Partition table is partially beyond EOD (daisy chained ones).\n\n* Recognized partition starts beyond EOD.\n\nThis patch updates generic partition check code such that all the\nabove three cases are handled too.  For the first two, @state tracks\nwhether low level partition check code tried to read beyond EOD during\npartition scan and triggers native capacity unlocking accordingly.\nThe third is now handled similarly to the original unlocking case.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Ben Hutchings \u003cben@decadent.org.uk\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1493bf217f7f59a5d9e2095a7dbcec00fb36ca8b",
      "tree": "9c03b0bd903a338d061958f8d65d196b14c81376",
      "parents": [
        "c3e33e043f5e9c583aa59d5591a614b2a8243d3a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sat May 15 20:09:30 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 21 20:01:02 2010 +0200"
      },
      "message": "block: use struct parsed_partitions *state universally in partition check code\n\nMake the following changes to partition check code.\n\n* Add -\u003ebdev to struct parsed_partitions.\n\n* Introduce read_part_sector() which is a simple wrapper around\n  read_dev_sector() which takes struct parsed_partitions *state\n  instead of @bdev.\n\n* For functions which used to take @state and @bdev, drop @bdev.  For\n  functions which used to take @bdev, replace it with @state.\n\n* While updating, drop superflous checks on NULL state/bdev in ldm.c.\n\nThis cleans up the API a bit and enables better handling of IO errors\nduring partition check as the generic partition check code now has\nmuch better visibility into what went wrong in the low level code\npaths.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Ben Hutchings \u003cben@decadent.org.uk\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c3e33e043f5e9c583aa59d5591a614b2a8243d3a",
      "tree": "fe8fef91dafb670fad1f433ae48514472b8d23e5",
      "parents": [
        "56bca01738733709bef076e2e97bbd01e5659f24"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sat May 15 20:09:29 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 21 20:01:02 2010 +0200"
      },
      "message": "block,ide: simplify bdops-\u003eset_capacity() to -\u003eunlock_native_capacity()\n\nbdops-\u003eset_capacity() is unnecessarily generic.  All that\u0027s required\nis a simple one way notification to lower level driver telling it to\ntry to unlock native capacity.  There\u0027s no reason to pass in target\ncapacity or return the new capacity.  The former is always the\ninherent native capacity and the latter can be handled via the usual\ndevice resize / revalidation path.  In fact, the current API is always\nused that way.\n\nReplace -\u003eset_capacity() with -\u003eunlock_native_capacity() which take\nonly @disk and doesn\u0027t return anything.  IDE which is the only current\nuser of the API is converted accordingly.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Ben Hutchings \u003cben@decadent.org.uk\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "56bca01738733709bef076e2e97bbd01e5659f24",
      "tree": "d4444fe75c7571a0fd9dd24df0ae7017b26cb7c5",
      "parents": [
        "fa4b9074cd8428958c2adf9dc0c831f46e27c193"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sat May 15 20:09:28 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 21 20:01:02 2010 +0200"
      },
      "message": "block: restart partition scan after resizing a device\n\nDevice resize via -\u003eset_capacity() can reveal new partitions (e.g. in\nchained partition table formats such as dos extended parts).  Restart\npartition scan from the beginning after resizing a device.  This\nchange also makes libata always revalidate the disk after resize which\nmakes lower layer native capacity unlocking implementation simpler and\nmore robust as resize can be handled in the usual path.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "8e0cc811e0f8029a7225372fb0951fab102c012f",
      "tree": "05fa64ca2e4f5087552a799fcea899a40dd9e19a",
      "parents": [
        "3fbf586cf7f245392142e5407c2a56f1cff979b6"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Tue Mar 23 13:35:50 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 24 16:31:22 2010 -0700"
      },
      "message": "fs/partition/msdos: fix unusable extended partition for \u003e 512B sector\n\nSmaller size than a minimum blocksize can\u0027t be used, after all it\u0027s\nhandled like 0 size.\n\nFor extended partition itself, this makes sure to use bigger size than one\nlogical sector size at least.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Daniel Taylor \u003cDaniel.Taylor@wdc.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3fbf586cf7f245392142e5407c2a56f1cff979b6",
      "tree": "b158129f5ed92f4be7e15afb9d1552e967bc4cc7",
      "parents": [
        "b5c26f97ec4a17c650055c83cfc1f2ee6d8818eb"
      ],
      "author": {
        "name": "Daniel Taylor",
        "email": "Daniel.Taylor@wdc.com",
        "time": "Tue Mar 23 13:35:50 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 24 16:31:22 2010 -0700"
      },
      "message": "fs/partitions/msdos: add support for large disks\n\nIn order to use disks larger than 2TiB on Windows XP, it is necessary to\nuse 4096-byte logical sectors in an MBR.\n\nAlthough the kernel storage and functions called from msdos.c used\n\"sector_t\" internally, msdos.c still used u32 variables, which results in\nthe ability to handle XP-compatible large disks.\n\nThis patch changes the internal variables to \"sector_t\".\n\nDaniel said: \"In the near future, WD will be releasing products that need\nthis patch\".\n\n[hirofumi@mail.parknet.co.jp: tweaks and fix]\nSigned-off-by: Daniel Taylor \u003cdaniel.taylor@wdc.com\u003e\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e03a72e13648ac6277bf2bab6b8324d51f89c0fa",
      "tree": "a01a2e072a5b225f22bd8bfa75f5270a527a4e4b",
      "parents": [
        "ce289321b7dc1eb108e3df0dec872b7429ef49f7"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Mon Jan 11 03:21:51 2010 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 11 14:30:09 2010 +0100"
      },
      "message": "block: Stop using byte offsets\n\nAll callers of the stacking functions use 512-byte sector units rather\nthan byte offsets.  Simplify the code so the stacking functions take\nsectors when specifying data offsets.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "87038c2d5bda2418fda8b1456a0ae81cc3ff5bd8",
      "tree": "13a2250971f1309faae76ff2bbebda058ca99b32",
      "parents": [
        "7d13af3279985f554784a45cc961f706dbcdbdd1"
      ],
      "author": {
        "name": "Karel Zak",
        "email": "kzak@redhat.com",
        "time": "Mon Nov 23 09:29:58 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Nov 23 09:29:58 2009 +0100"
      },
      "message": "partitions: read whole sector with EFI GPT header\n\nThe size of EFI GPT header is not static, but whole sector is\nallocated for the header. The HeaderSize field must be greater\nthan 92 (\u003d sizeof(struct gpt_header) and must be less than or\nequal to the logical block size.\n\nIt means we have to read whole sector with the header, because the\nheader crc32 checksum is calculated according to HeaderSize.\n\nFor more details see UEFI standard (version 2.3, May 2009):\n  - 5.3.1 GUID Format overview, page 93\n  - Table 13. GUID Partition Table Header, page 96\n\nSigned-off-by: Karel Zak \u003ckzak@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7d13af3279985f554784a45cc961f706dbcdbdd1",
      "tree": "9f3fd0374429d92bfe830d57ca58b1350a2dc869",
      "parents": [
        "8721c81f6480e2c9acbf92078383953f825d1057"
      ],
      "author": {
        "name": "Karel Zak",
        "email": "kzak@redhat.com",
        "time": "Mon Nov 23 09:29:13 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Nov 23 09:29:13 2009 +0100"
      },
      "message": "partitions: use sector size for EFI GPT\n\nCurrently, kernel uses strictly 512-byte sectors for EFI GPT parsing.\nThat\u0027s wrong.\n\nUEFI standard (version 2.3, May 2009, 5.3.1 GUID Format overview, page\n95) defines that LBA is always based on the logical block size. It\nmeans bdev_logical_block_size() (aka BLKSSZGET) for Linux.\n\nThis patch removes static sector size from EFI GPT parser.\n\nThe problem is reproducible with the latest GNU Parted:\n\n # modprobe scsi_debug dev_size_mb\u003d50 sector_size\u003d4096\n\n  # ./parted /dev/sdb print\n  Model: Linux scsi_debug (scsi)\n  Disk /dev/sdb: 52.4MB\n  Sector size (logical/physical): 4096B/4096B\n  Partition Table: gpt\n\n  Number  Start   End     Size    File system  Name     Flags\n   1      24.6kB  3002kB  2978kB               primary\n   2      3002kB  6001kB  2998kB               primary\n   3      6001kB  9003kB  3002kB               primary\n\n  # blockdev --rereadpt /dev/sdb\n  # dmesg | tail -1\n   sdb: unknown partition table      \u003c---- !!!\n\nwith this patch:\n\n  # blockdev --rereadpt /dev/sdb\n  # dmesg | tail -1\n   sdb: sdb1 sdb2 sdb3\n\nSigned-off-by: Karel Zak \u003ckzak@redhat.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": "83d5cde47dedf01b6a4a4331882cbc0a7eea3c2e",
      "tree": "f8ba5e263717d35cd444fcc65898d2ed352af1ae",
      "parents": [
        "7b021967c5e1463936042c8da72b550d3cabe9ac"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 21 17:01:13 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:25 2009 -0700"
      },
      "message": "const: make block_device_operations const\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@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": "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": "f8c73c790c588fd70fda1632c8927a87b3d31dcd",
      "tree": "c50472e07f8e941cc6c31c5cb6532d6bb2f9cec3",
      "parents": [
        "eb8d3c604fe7496323efb9a858bef84c489ca584"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Thu Jun 11 15:14:40 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jul 12 13:02:09 2009 -0700"
      },
      "message": "partitions: fix broken uevent_suppress conversion\n\ngit commit f67f129e \"Driver core: implement uevent suppress in kobject\"\ncontains this chunk for fs/partitions/check.c:\n\n \t/* suppress uevent if the disk supresses it */\n-\tif (!ddev-\u003euevent_suppress)\n+\tif (!dev_get_uevent_suppress(pdev))\n \t\tkobject_uevent(\u0026pdev-\u003ekobj, KOBJ_ADD);\n\nHowever that should have been\n\n-\tif (!ddev-\u003euevent_suppress)\n+\tif (!dev_get_uevent_suppress(ddev))\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nAcked-by: Ming Lei \u003ctom.leiming@gmail.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d614aec4752f8c61b2e7cb77806b6bd59aa50836",
      "tree": "3b0cfb3085c43415931dbf18666d582fb8ae3c75",
      "parents": [
        "db8e7f10ed67933ca272f4030eb7057b7f13de07",
        "ad7c52d0988a8965989dc06d630c52a5bde849d5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:29:42 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:29:42 2009 -0700"
      },
      "message": "Merge branch \u0027for-2.6.31\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* \u0027for-2.6.31\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (29 commits)\n  ide: re-implement ide_pci_init_one() on top of ide_pci_init_two()\n  ide: unexport ide_find_dma_mode()\n  ide: fix PowerMac bootup oops\n  ide: skip probe if there are no devices on the port (v2)\n  sl82c105: add printk() logging facility\n  ide-tape: fix proc warning\n  ide: add IDE_DFLAG_NIEN_QUIRK device flag\n  ide: respect quirk_drives[] list on all controllers\n  hpt366: enable all quirks for devices on quirk_drives[] list\n  hpt366: sync quirk_drives[] list with pdc202xx_{new,old}.c\n  ide: remove superfluous SELECT_MASK() call from do_rw_taskfile()\n  ide: remove superfluous SELECT_MASK() call from ide_driveid_update()\n  icside: remove superfluous -\u003emaskproc method\n  ide-tape: fix IDE_AFLAG_* atomic accesses\n  ide-tape: change IDE_AFLAG_IGNORE_DSC non-atomically\n  pdc202xx_old: kill resetproc() method\n  pdc202xx_old: don\u0027t call pdc202xx_reset() on IRQ timeout\n  pdc202xx_old: use ide_dma_test_irq()\n  ide: preserve Host Protected Area by default (v2)\n  ide-gd: implement block device -\u003eset_capacity method (v2)\n  ...\n"
    },
    {
      "commit": "db429e9ec0f9dee2d8e50c154f04f29f880fc9d6",
      "tree": "363328c6aa85f7a15cc061f7c71f3cc3a8cde970",
      "parents": [
        "02c33b123e59cab5771e52a012aeb810500260a2"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sun Jun 07 13:52:52 2009 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sun Jun 07 13:52:52 2009 +0200"
      },
      "message": "partitions: add -\u003eset_capacity block device method\n\n* Add -\u003eset_capacity block device method and use it in rescan_partitions()\n  to attempt enabling native capacity of the device upon detecting the\n  partition which exceeds device capacity.\n\n* Add GENHD_FL_NATIVE_CAPACITY flag to try limit attempts of enabling\n  native capacity during partition scan.\n\nTogether with the consecutive patch implementing -\u003eset_capacity method in\nide-gd device driver this allows automatic disabling of Host Protected Area\n(HPA) if any partitions overlapping HPA are detected.\n\nCc: Robert Hancock \u003chancockrwd@gmail.com\u003e\nCc: Frans Pop \u003celendil@planet.nl\u003e\nCc: \"Andries E. Brouwer\" \u003cAndries.Brouwer@cwi.nl\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nEmphatically-Acked-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "02c33b123e59cab5771e52a012aeb810500260a2",
      "tree": "e9920f58c500a88820d2e1df29d464df21e650a1",
      "parents": [
        "669165daad2ec839df85b8c5f7bc155e76a2f404"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sun Jun 07 13:52:51 2009 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sun Jun 07 13:52:51 2009 +0200"
      },
      "message": "partitions: warn about the partition exceeding device capacity\n\nThe current warning message says only about the kernel\u0027s action taken\nwithout mentioning the underlying reason behind it.\n\nNoticed-by: Robert Hancock \u003chancockrwd@gmail.com\u003e\nCc: Frans Pop \u003celendil@planet.nl\u003e\nCc: \"Andries E. Brouwer\" \u003cAndries.Brouwer@cwi.nl\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nEmphatically-Acked-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\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": "e1defc4ff0cf57aca6c5e3ff99fa503f5943c1f1",
      "tree": "d60d15a082171c58ac811d547d51a9c3119f23e3",
      "parents": [
        "9bd7de51ee8537094656149eaf45338cadb7d7d4"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri May 22 17:17:49 2009 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 22 23:22:54 2009 +0200"
      },
      "message": "block: Do away with the notion of hardsect_size\n\nUntil now we have had a 1:1 mapping between storage device physical\nblock size and the logical block sized used when addressing the device.\nWith SATA 4KB drives coming out that will no longer be the case.  The\nsector size will be 4KB but the logical block size will remain\n512-bytes.  Hence we need to distinguish between the physical block size\nand the logical ditto.\n\nThis patch renames hardsect_size to logical_block_size.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "8302294f43250dc337108c51882a6007f2b1e2e0",
      "tree": "85acd4440799c46a372df9cad170fa0c21e59096",
      "parents": [
        "4fe70410d9a219dabb47328effccae7e7f2a6e26",
        "2e572895bf3203e881356a4039ab0fa428ed2639"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 01 21:54:19 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 02 00:49:02 2009 +0200"
      },
      "message": "Merge branch \u0027tracing/core-v2\u0027 into tracing-for-linus\n\nConflicts:\n\tinclude/linux/slub_def.h\n\tlib/Kconfig.debug\n\tmm/slob.c\n\tmm/slub.c\n"
    },
    {
      "commit": "21cdbc1378e8aa96e1ed4a606dce1a8e7daf7fdf",
      "tree": "55b6c294b912ccdc3eede15960b0ece53a69d902",
      "parents": [
        "86d9c070175de65890794fa227b68297da6206d8",
        "ef3500b2b2955af4fa6b0564b51c0c604e38c571"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 16:04:22 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 16:04:22 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6\n\n* \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6: (81 commits)\n  [S390] remove duplicated #includes\n  [S390] cpumask: use mm_cpumask() wrapper\n  [S390] cpumask: Use accessors code.\n  [S390] cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.\n  [S390] cpumask: remove cpu_coregroup_map\n  [S390] fix clock comparator save area usage\n  [S390] Add hwcap flag for the etf3 enhancement facility\n  [S390] Ensure that ipl panic notifier is called late.\n  [S390] fix dfp elf hwcap/facility bit detection\n  [S390] smp: perform initial cpu reset before starting a cpu\n  [S390] smp: fix memory leak on __cpu_up\n  [S390] ipl: Improve checking logic and remove switch defaults.\n  [S390] s390dbf: Remove needless check for NULL pointer.\n  [S390] s390dbf: Remove redundant initilizations.\n  [S390] use kzfree()\n  [S390] BUG to BUG_ON changes\n  [S390] zfcpdump: Prevent zcore from beeing built as a kernel module.\n  [S390] Use csum_partial in checksum.h\n  [S390] cleanup lowcore.h\n  [S390] eliminate ipl_device from lowcore\n  ...\n"
    },
    {
      "commit": "b44b0ab3bac16356f03e94b1b49ba9305710c445",
      "tree": "66dfc19e2164a6a30d19b958ccf4e4a5d210c8d8",
      "parents": [
        "f9a28f7bc5225af476f8d4bb669038da8801b7c4"
      ],
      "author": {
        "name": "Stefan Weinhuber",
        "email": "wein@de.ibm.com",
        "time": "Thu Mar 26 15:23:47 2009 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Mar 26 15:24:05 2009 +0100"
      },
      "message": "[S390] dasd: add large volume support\n\nThe dasd device driver will now support ECKD devices with more then\n65520 cylinders.\nIn the traditional ECKD adressing scheme each track is addressed\nby a 16-bit cylinder and 16-bit head number. The new addressing\nscheme makes use of the fact that the actual number of heads is\nnever larger then 15, so 12 bits of the head number can be redefined\nto be part of the cylinder address.\n\nSigned-off-by: Stefan Weinhuber \u003cwein@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "f67f129e519fa87f8ebd236b6336fe43f31ee141",
      "tree": "e2832f6d012044f5d05c6130416832235c7d2730",
      "parents": [
        "4995f8ef9d3aac72745e12419d7fbaa8d01b1d81"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "tom.leiming@gmail.com",
        "time": "Sun Mar 01 21:10:49 2009 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:26 2009 -0700"
      },
      "message": "Driver core: implement uevent suppress in kobject\n\nThis patch implements uevent suppress in kobject and removes it\nfrom struct device, based on the following ideas:\n\n1,Uevent sending should be one attribute of kobject, so suppressing it\nin kobject layer is more natural than in device layer. By this way,\nwe can do it for other objects embedded with kobject.\n\n2,It may save several bytes for each instance of struct device.(On my\nomap3(32bit ARM) based box, can save 8bytes per device object)\n\nThis patch also introduces dev_set|get_uevent_suppress() helpers to\nset and query uevent_suppress attribute in case to help kobject\nas private part of struct device in future.\n\n[This version is against the latest driver-core patch set of Greg,please\nignore the last version.]\n\nSigned-off-by: Ming Lei \u003ctom.leiming@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "157f9c00e88529ed84bd7d581a40d411e5414cf0",
      "tree": "7d7360cd76c5339c831e0e5ffd3cce5a659a9614",
      "parents": [
        "c71a896154119f4ca9e89d6078f5f63ad60ef199"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Jan 26 15:00:56 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 26 18:30:01 2009 +0100"
      },
      "message": "tracing/blktrace: fix up checkpatch reported problems in ftrace plugin patch\n\nAlso make sure sparse (make C\u003d2 block/blktrace.o) is happy too.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c71a896154119f4ca9e89d6078f5f63ad60ef199",
      "tree": "0018ea80af12d6385fd0aa5295dddefdb284eebe",
      "parents": [
        "9011262a37cb438f0fa9394b5e83840db8f9680a"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Jan 23 12:06:27 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 26 14:40:53 2009 +0100"
      },
      "message": "blktrace: add ftrace plugin\n\nImpact: New way of using the blktrace infrastructure\n\nThis drops the requirement of userspace utilities to use the blktrace\nfacility.\n\nConfiguration is done thru sysfs, adding a \"trace\" directory to the\npartition directory where blktrace can be enabled for the associated\nrequest_queue.\n\nThe same filters present in the IOCTL interface are present as sysfs\ndevice attributes.\n\nThe /sys/block/sdX/sdXN/trace/enable file allows tracing without any\nfilters.\n\nThe other files in this directory: pid, act_mask, start_lba and end_lba\ncan be used with the same meaning as with the IOCTL interface.\n\nUsing the sysfs interface will only setup the request_queue-\u003eblk_trace\nfields, tracing will only take place when the \"blk\" tracer is selected\nvia the ftrace interface, as in the following example:\n\nTo see the trace, one can use the /d/tracing/trace file or the\n/d/tracign/trace_pipe file, with semantics defined in the ftrace\ndocumentation in Documentation/ftrace.txt.\n\n[root@f10-1 ~]# cat /t/trace\n       kjournald-305   [000]  3046.491224:   8,1    A WBS 6367 + 8 \u003c- (8,1) 6304\n       kjournald-305   [000]  3046.491227:   8,1    Q   R 6367 + 8 [kjournald]\n       kjournald-305   [000]  3046.491236:   8,1    G  RB 6367 + 8 [kjournald]\n       kjournald-305   [000]  3046.491239:   8,1    P  NS [kjournald]\n       kjournald-305   [000]  3046.491242:   8,1    I RBS 6367 + 8 [kjournald]\n       kjournald-305   [000]  3046.491251:   8,1    D  WB 6367 + 8 [kjournald]\n       kjournald-305   [000]  3046.491610:   8,1    U  WS [kjournald] 1\n          \u003cidle\u003e-0     [000]  3046.511914:   8,1    C  RS 6367 + 8 [6367]\n[root@f10-1 ~]#\n\nThe default line context (prefix) format is the one described in the ftrace\ndocumentation, with the blktrace specific bits using its existing format,\ndescribed in blkparse(8).\n\nIf one wants to have the classic blktrace formatting, this is possible by\nusing:\n\n[root@f10-1 ~]# echo blk_classic \u003e /t/trace_options\n[root@f10-1 ~]# cat /t/trace\n  8,1    0  3046.491224   305  A WBS 6367 + 8 \u003c- (8,1) 6304\n  8,1    0  3046.491227   305  Q   R 6367 + 8 [kjournald]\n  8,1    0  3046.491236   305  G  RB 6367 + 8 [kjournald]\n  8,1    0  3046.491239   305  P  NS [kjournald]\n  8,1    0  3046.491242   305  I RBS 6367 + 8 [kjournald]\n  8,1    0  3046.491251   305  D  WB 6367 + 8 [kjournald]\n  8,1    0  3046.491610   305  U  WS [kjournald] 1\n  8,1    0  3046.511914     0  C  RS 6367 + 8 [6367]\n[root@f10-1 ~]#\n\nUsing the ftrace standard format allows more flexibility, such\nas the ability of asking for backtraces via trace_options:\n\n[root@f10-1 ~]# echo noblk_classic \u003e /t/trace_options\n[root@f10-1 ~]# echo stacktrace \u003e /t/trace_options\n\n[root@f10-1 ~]# cat /t/trace\n       kjournald-305   [000]  3318.826779:   8,1    A WBS 6375 + 8 \u003c- (8,1) 6312\n       kjournald-305   [000]  3318.826782:\n \u003c\u003d submit_bio\n \u003c\u003d submit_bh\n \u003c\u003d sync_dirty_buffer\n \u003c\u003d journal_commit_transaction\n \u003c\u003d kjournald\n \u003c\u003d kthread\n \u003c\u003d child_rip\n       kjournald-305   [000]  3318.826836:   8,1    Q   R 6375 + 8 [kjournald]\n       kjournald-305   [000]  3318.826837:\n \u003c\u003d generic_make_request\n \u003c\u003d submit_bio\n \u003c\u003d submit_bh\n \u003c\u003d sync_dirty_buffer\n \u003c\u003d journal_commit_transaction\n \u003c\u003d kjournald\n \u003c\u003d kthread\n\nPlease read the ftrace documentation to use aditional, standardized\ntracing filters such as /d/tracing/trace_cpumask, etc.\n\nSee also /d/tracing/trace_mark to add comments in the trace stream,\nthat is equivalent to the /d/block/sdaN/msg interface.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "54b0d127696aba2ef1ec5430301c968ab539fa0d",
      "tree": "be6d3ddccce6a17a053ea6e286bf2822bc6ee912",
      "parents": [
        "2150edc6c5cf00f7adb54538b9ea2a3e9cedca3f"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Wed Jan 07 08:55:39 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jan 09 21:46:13 2009 +0100"
      },
      "message": "block: fix bug in ptbl lookup cache\n\nNeil writes:\n\n   Hi Jens,\n\n    I\u0027ve found a little bug for you.  It was introduced by\n        a6f23657d3072bde6844055bbc2290e497f33fbc\n\n        block: add one-hit cache for disk partition lookup\n\n    and has the effect of killing my machine whenever I try to assemble\n    an md array :-(\n    One of the devices in the array has partitions, and mdadm always\n    deletes partitions before putting a whole-device in an array (as it\n    can cause confusion).  The next IO to that device locks the machine.\n    I don\u0027t really understand exactly why it locks up, but it happens in\n    disk_map_sector_rcu().  This patch fixes it.\n\nWhich is due to a missing clear of the (now) stale partition lookup\ndata. So clear that when we delete a partition.\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": "55e8e30c382d25c34f8aafcc78efec948571a941",
      "tree": "c044242b34590e3b5ceff03a2891f9afccc95e9e",
      "parents": [
        "ba32929a91fe2c0628f5be62d1597b379c8d3062"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "teheo@suse.de",
        "time": "Mon Nov 10 15:30:47 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Nov 18 15:08:56 2008 +0100"
      },
      "message": "block/md: fix md autodetection\n\nBlock ext devt conversion missed md_autodetect_dev() call in\nrescan_partitions() leaving md autodetect unable to see partitions.\nFix it.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ba32929a91fe2c0628f5be62d1597b379c8d3062",
      "tree": "09ea54ed2d2299d25b92fee6a6dde4d7527a3d37",
      "parents": [
        "eb60fa1066622ddb2278732cf61e0c4544e82c6f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 10 15:29:58 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Nov 18 15:08:56 2008 +0100"
      },
      "message": "block: make add_partition() return pointer to hd_struct\n\nMake add_partition() return pointer to the new hd_struct on success\nand ERR_PTR() value on failure.  This change will be used to fix md\nautodetection bug.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "eb60fa1066622ddb2278732cf61e0c4544e82c6f",
      "tree": "4297d3c2e8876897c51843df148725909a356a08",
      "parents": [
        "4e14e833ac3b97a4aa8803eea49f899adc5bb5f4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 10 15:28:59 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Nov 18 15:08:55 2008 +0100"
      },
      "message": "block: fix add_partition() error path\n\nPartition stats structure was not freed on devt allocation failure\npath.  Fix it.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "572c48921574dbe6dceb958cf965aa962baefde4",
      "tree": "c1d889288d567cb6b596d10041526d2a8031bae3",
      "parents": [
        "e5eb8caa83a76191feb9705c1a0a689ca260b91e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 08 13:24:05 2007 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:49:06 2008 -0400"
      },
      "message": "[PATCH] sanitize blkdev_get() and friends\n\n* get rid of fake struct file/struct dentry in __blkdev_get()\n* merge __blkdev_get() and do_open()\n* get rid of flags argument of blkdev_get()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9a1c3542768b5a58e45a9216921cd10a3bae1205",
      "tree": "c20ffda950db868ec7e1e35aed532962de2ecfd9",
      "parents": [
        "511de73ff09034fb89c8d54bed201a10d057328c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 22 20:40:24 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:48:58 2008 -0400"
      },
      "message": "[PATCH] pass fmode_t to blkdev_put()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0fc71e3d6520ba7abad5cfbc9a33db0190e4d5b8",
      "tree": "4793789ea94ffec2c5169378fd6ed7228fb31eeb",
      "parents": [
        "0e11e342bac31f51ea055b147d20f77b59b9dd2c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Oct 13 13:27:59 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Oct 17 08:46:56 2008 +0200"
      },
      "message": "block: add partition attribute for partition number\n\nWith extended devt, finding out the partition number becomes a bit\nmore challenging as subtracting the minor number from that of the\nparent device doesn\u0027t work anymore.  The only thing left is parsing\nthe partition name which is brittle and not exactly universal (some\nhave \u0027-\u0027 between the device name and partition number while others\ndon\u0027t).  This patch introduced partition attribute which contains the\npartition number of the device.  This should make finding partitions\nand its index easier.\n\nThis problem and solution were suggested by H. Peter Anvin.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ac0d86f5809598ddcd6bfa0ea8245ccc910e9eac",
      "tree": "09d874a29ca655faefc5fc5cb637aebd1a732744",
      "parents": [
        "6722e45c2de622eaf5f26d370b9de19632ac7478"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Wed Oct 15 22:04:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:47 2008 -0700"
      },
      "message": "block: sanitize invalid partition table entries\n\nWe currently follow blindly what the partition table lies about the\ndisk, and let the kernel create block devices which can not be accessed.\nTrying to identify the device leads to kernel logs full of:\n  sdb: rw\u003d0, want\u003d73392, limit\u003d28800\n  attempt to access beyond end of device\n\nHere is an example of a broken partition table, where sda2 starts\nbehind the end of the disk, and sdb3 is larger than the entire disk:\n  Disk /dev/sdb: 14 MB, 14745600 bytes\n  1 heads, 29 sectors/track, 993 cylinders, total 28800 sectors\n     Device Boot      Start         End      Blocks   Id  System\n  /dev/sdb1              29        7800        3886   83  Linux\n  /dev/sdb2           37801       45601        3900+  83  Linux\n  /dev/sdb3           15602       73402       28900+  83  Linux\n  /dev/sdb4           23403       28796        2697   83  Linux\n\nThe kernel creates these completely invalid devices, which can not be\naccessed, or may lead to other unpredictable failures:\n  grep . /sys/class/block/sdb*/{start,size}\n  /sys/class/block/sdb/size:28800\n  /sys/class/block/sdb1/start:29\n  /sys/class/block/sdb1/size:7772\n  /sys/class/block/sdb2/start:37801\n  /sys/class/block/sdb2/size:7801\n  /sys/class/block/sdb3/start:15602\n  /sys/class/block/sdb3/size:57801\n  /sys/class/block/sdb4/start:23403\n  /sys/class/block/sdb4/size:5394\n\nWith this patch, we ignore partitions which start behind the end of the disk,\nand limit partitions to the end of the disk if they pretend to be larger:\n  grep . /sys/class/block/sdb*/{start,size}\n  /sys/class/block/sdb/size:28800\n  /sys/class/block/sdb1/start:29\n  /sys/class/block/sdb1/size:7772\n  /sys/class/block/sdb3/start:15602\n  /sys/class/block/sdb3/size:13198\n  /sys/class/block/sdb4/start:23403\n  /sys/class/block/sdb4/size:5394\n\nThese warnings are printed to the kernel log:\n  sdb: p2 ignored, start 37801 is behind the end of the disk\n  sdb: p3 size 57801 limited to end of disk\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Herton Ronaldo Krzesinski \u003cherton@mandriva.com.br\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6722e45c2de622eaf5f26d370b9de19632ac7478",
      "tree": "a378b34f2e5045530462ecc05613d370ac7484fb",
      "parents": [
        "266a813c083d67886d89f1066ea6355857b51f83"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Oct 15 22:04:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:47 2008 -0700"
      },
      "message": "fs/partitions/acorn.c: remove dead code\n\nI missed this when I did the arm26 removal.\n\nReported-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9bc3ffbfbdf71fefda8a261ef8d6fdc388a29b42",
      "tree": "c6f4ffdb3351a379fc5aee8fd6f91ba6caee83d0",
      "parents": [
        "c3279d1454cdfed02a557d789d8a6d08ab4cbe70"
      ],
      "author": {
        "name": "Andrew Patterson",
        "email": "andrew.patterson@hp.com",
        "time": "Thu Sep 04 14:27:30 2008 -0600"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:12 2008 +0200"
      },
      "message": "Check for device resize when rescanning partitions\n\nCheck for device resize in the rescan_partitions() routine. If the device\nhas been resized, the bdev size is set to match. The rescan_partitions()\nroutine is called when opening the device and when calling the\nBLKRRPART ioctl.\n\nSigned-off-by: Andrew Patterson \u003candrew.patterson@hp.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": "0762b8bde9729f10f8e6249809660ff2ec3ad735",
      "tree": "12aa94ef16b840f713f833c712d335646c816dc1",
      "parents": [
        "4c46501d1659475dc6c89554af6ce7fe6ecf615c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:56:12 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:08 2008 +0200"
      },
      "message": "block: always set bdev-\u003ebd_part\n\nTill now, bdev-\u003ebd_part is set only if the bdev was for parts other\nthan part0.  This patch makes bdev-\u003ebd_part always set so that code\npaths don\u0027t have to differenciate common handling.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "4c46501d1659475dc6c89554af6ce7fe6ecf615c",
      "tree": "03bfdf77e2d20c3190ba62532c783ab7f6a2640d",
      "parents": [
        "b7db9956e57c8151b930d5e5fe5c766e6aad3ff7"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:56:11 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:08 2008 +0200"
      },
      "message": "block: move holder_dir from disk to part0\n\nMove disk-\u003eholder_dir to part0-\u003eholder_dir.  Kill now mostly\nsuperflous bdev_get_holder().\n\nWhile at it, kill superflous kobject_get/put() around holder_dir,\nslave_dir and cmd_filter creation and collapse\ndisk_sysfs_add_subdirs() into register_disk().  These serve no purpose\nbut obfuscating the code.\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": "80795aefb76d10c5d698e60c7e7750b5330787da",
      "tree": "f22a55483cb2fe77580ee1507c1124bc73b93c3d",
      "parents": [
        "b5d0b9df0ba5d9a044f3a21e7544f53d90bd1465"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:56:07 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:07 2008 +0200"
      },
      "message": "block: move capacity from disk to part0\n\nMove disk-\u003ecapacity to part0-\u003enr_sects and convert all users who\ndirectly accessed the field to use {get|set}_capacity().  This is done\nearly to allow the __dev field to be moved.\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"
    }
  ],
  "next": "bcce3de1be61e424deef35d1e86e86a35c4b6e65"
}
