)]}'
{
  "log": [
    {
      "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": "98262f2762f0067375f83824d81ea929e37e6bfe",
      "tree": "a26618d5c305eed975501c80cb02bc0f1b6e4524",
      "parents": [
        "464191c65b85a8ec68a6e1a6293af625287c807e"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Thu Dec 03 09:24:48 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Dec 03 09:24:48 2009 +0100"
      },
      "message": "block: Allow devices to indicate whether discarded blocks are zeroed\n\nThe discard ioctl is used by mkfs utilities to clear a block device\nprior to putting metadata down.  However, not all devices return zeroed\nblocks after a discard.  Some drives return stale data, potentially\ncontaining old superblocks.  It is therefore important to know whether\ndiscarded blocks are properly zeroed.\n\nBoth ATA and SCSI drives have configuration bits that indicate whether\nzeroes are returned after a discard operation.  Implement a block level\ninterface that allows this information to be bubbled up the stack and\nqueried via a new block device ioctl.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ac481c20ef8f6c6f2be75d581863f40c43874ef7",
      "tree": "90512cadc1c9dea89c0a24149166d3ab464d065e",
      "parents": [
        "61f0c1dcaaac71faabac6ef7c839b29f20204bea"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Sat Oct 03 20:52:01 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sat Oct 03 20:52:01 2009 +0200"
      },
      "message": "block: Topology ioctls\n\nNot all users of the topology information want to use libblkid.  Provide\nthe topology information through bdev ioctls.\n\nAlso clarify sector size comments for existing BLK ioctls.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "746cd1e7e4a555ddaee53b19a46e05c9c61eaf09",
      "tree": "d129194669e0122113a5cc86003a4a7711450284",
      "parents": [
        "3d2257f157c2324acbc0fa0fa54e8626a987edd2"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Sep 12 07:35:43 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Sep 14 08:24:53 2009 +0200"
      },
      "message": "block: use blkdev_issue_discard in blk_ioctl_discard\n\nblk_ioctl_discard duplicates large amounts of code from blkdev_issue_discard,\nthe only difference between the two is that blkdev_issue_discard needs to\nsend a barrier discard request and blk_ioctl_discard a non-barrier one,\nand blk_ioctl_discard needs to wait on the request.  To facilitates this\nadd a flags argument to blkdev_issue_discard to control both aspects of the\nbehaviour.  This will be very useful later on for using the waiting\nfuncitonality for other callers.\n\nBased on an earlier patch from Matthew Wilcox \u003cmatthew@wil.cx\u003e.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ae03bf639a5027d27270123f5f6e3ee6a412781d",
      "tree": "d705f41a188ad656b1f47f7952626a9f992e3b8f",
      "parents": [
        "e1defc4ff0cf57aca6c5e3ff99fa503f5943c1f1"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri May 22 17:17:50 2009 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 22 23:22:54 2009 +0200"
      },
      "message": "block: Use accessor functions for queue limits\n\nConvert all external users of queue limits to using wrapper functions\ninstead of poking the request queue variables directly.\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": "15afd1cc7b624e1c94fdf824ec5af611050b150c",
      "tree": "d6c213d9c218fe20d7533a74751f55f4859cc741",
      "parents": [
        "86c824b9434e764d01489688e4e38aee43b93fcf"
      ],
      "author": {
        "name": "Nikanth Karthikesan",
        "email": "knikanth@suse.de",
        "time": "Wed Apr 15 10:35:31 2009 +0530"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 15 12:10:12 2009 +0200"
      },
      "message": "block: Remove code handling bio_alloc failure with __GFP_WAIT\n\nRemove code handling bio_alloc failure with __GFP_WAIT.\nGFP_KERNEL implies __GFP_WAIT.\n\nSigned-off-by: Nikanth Karthikesan \u003cknikanth@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7c239517d9f18427fc2e7ed259fb3b866595f5af",
      "tree": "cd2149cc2f2eb0faa83d38fe64e1228f7c703a85",
      "parents": [
        "42364690992e592c05f85c76fda4055820b48c1b"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Tue Nov 25 09:08:39 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:28:43 2008 +0100"
      },
      "message": "block: don\u0027t take lock on changing ra_pages\n\nThere\u0027s no need to take queue_lock or kernel_lock when modifying\nbdi-\u003era_pages. So remove them. Also remove out of date comment for\nqueue_max_sectors_store().\n\nSigned-off-by: Wu Fengguang \u003cwfg@linux.intel.com\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": "56b26add02b4bdea81d5e0ebda60db1fe3311ad4",
      "tree": "3e9b5877f77ce24a6d17574ff3d32ae8351fa0ef",
      "parents": [
        "6af3a56e1dd4d95836a47214e5c60d5b749a5501"
      ],
      "author": {
        "name": "Al Viro",
        "email": "al@aretha.pdmi.ras.ru",
        "time": "Fri Sep 19 03:17:36 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:49:14 2008 -0400"
      },
      "message": "[PATCH] kill the rest of struct file propagation in block ioctls\n\nNow we can switch blkdev_ioctl() block_device/mode\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6af3a56e1dd4d95836a47214e5c60d5b749a5501",
      "tree": "757b01fe8668783fcf52a4e8fe82c5d8ebbc6b72",
      "parents": [
        "45048d0961cdbf7ddfba906797ad8cb42489e070"
      ],
      "author": {
        "name": "Al Viro",
        "email": "al@aretha.pdmi.ras.ru",
        "time": "Fri Sep 19 03:08:13 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:49:12 2008 -0400"
      },
      "message": "[PATCH] get rid of struct file use in blkdev_ioctl() BLKBSZSET\n\nWe need to do bd_claim() only if file hadn\u0027t been opened with O_EXCL\nand then we have no need to use file itself as owner.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "45048d0961cdbf7ddfba906797ad8cb42489e070",
      "tree": "d471933ccf9e8c52f608d0cef88de0569982a933",
      "parents": [
        "e436fdae70a31102d2be32969b80fe8545edebd9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "al@aretha.pdmi.ras.ru",
        "time": "Thu Sep 18 15:53:24 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:49:10 2008 -0400"
      },
      "message": "[PATCH] get rid of blkdev_locked_ioctl()\n\nMost of that stuff doesn\u0027t need BKL at all; expand in the (only) caller,\nmerge the switch into one there and leave BKL only around the stuff that\nmight actually need it.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e436fdae70a31102d2be32969b80fe8545edebd9",
      "tree": "ab07320851fc5ae82bc422ab54dbb922a8057452",
      "parents": [
        "572c48921574dbe6dceb958cf965aa962baefde4"
      ],
      "author": {
        "name": "Al Viro",
        "email": "al@aretha.pdmi.ras.ru",
        "time": "Thu Sep 18 03:38:12 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:49:08 2008 -0400"
      },
      "message": "[PATCH] get rid of blkdev_driver_ioctl()\n\nconvert remaining callers to __blkdev_driver_ioctl()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "90b8f2824ce68dd87d304641a1d5a048dfff39f5",
      "tree": "b55ddcb619aac1e16d845dd6796c51721dd6ee56",
      "parents": [
        "40cc51be699e37b78102ce7b2196ec9c32fe1908"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Mar 02 10:43:36 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:48:52 2008 -0400"
      },
      "message": "[PATCH] end of methods switch: remove the old ones\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d4430d62fa77208824a37fe6f85ab2831d274769",
      "tree": "5d4d0bca31e63eb208fbebe4f39c912b964c1e4d",
      "parents": [
        "badf8082c33d18b118d3a6f1b32d5ea6b97d3839"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Mar 02 09:09:22 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:47:32 2008 -0400"
      },
      "message": "[PATCH] beginning of methods conversion\n\nTo keep the size of changesets sane we split the switch by drivers;\nto keep the damn thing bisectable we do the following:\n\t1) rename the affected methods, add ones with correct\nprototypes, make (few) callers handle both.  That\u0027s this changeset.\n\t2) for each driver convert to new methods.  *ALL* drivers\nare converted in this series.\n\t3) kill the old (renamed) methods.\n\nNote that it _is_ a flagday; all in-tree drivers are converted and by the\nend of this series no trace of old methods remain.  The only reason why\nwe do that this way is to keep the damn thing bisectable and allow per-driver\ndebugging if anything goes wrong.\n\nNew methods:\n\topen(bdev, mode)\n\trelease(disk, mode)\n\tioctl(bdev, mode, cmd, arg)\t\t/* Called without BKL */\n\tcompat_ioctl(bdev, mode, cmd, arg)\n\tlocked_ioctl(bdev, mode, cmd, arg)\t/* Called with BKL, legacy */\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "633a08b81206122469365b4c72eaeb71f04f2cb4",
      "tree": "9cd30507efd30645d30d351c7ad0d5966f806532",
      "parents": [
        "a0eb62a0a4470fef5a5f41e7f1442fdd667220ef"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 29 20:34:12 2007 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:47:26 2008 -0400"
      },
      "message": "[PATCH] introduce __blkdev_driver_ioctl()\n\nAnalog of blkdev_driver_ioctl() with sane arguments.  For\nnow uses fake struct file, by the end of the series it won\u0027t\nand blkdev_driver_ioctl() will become a wrapper around it.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\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": "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": "e71bf0d0ee89e51b92776391c5634938236977d5",
      "tree": "9fc62352a40ad388deebdd8ed497cab926cf0470",
      "parents": [
        "f331c0296f2a9fee0d396a70598b954062603015"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Sep 03 09:03:02 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:06 2008 +0200"
      },
      "message": "block: fix disk-\u003epart[] dereferencing race\n\ndisk-\u003epart[] is protected by its matching bdev\u0027s lock.  However,\nnon-critical accesses like collecting stats and printing out sysfs and\nproc information used to be performed without any locking.  As\npartitions can come and go dynamically, partitions can go away\nunderneath those non-critical accesses.  As some of those accesses are\nwrites, this theoretically can lead to silent corruption.\n\nThis patch fixes the race by using RCU for the partition array and dev\nreference counter to hold partitions.\n\n* Rename disk-\u003epart[] to disk-\u003e__part[] to make sure no one outside\n  genhd layer proper accesses it directly.\n\n* Use RCU for disk-\u003e__part[] dereferencing.\n\n* Implement disk_{get|put}_part() which can be used to get and put\n  partitions from gendisk respectively.\n\n* Iterators are implemented to help iterate through all partitions\n  safely.\n\n* Functions which require RCU readlock are marked with _rcu suffix.\n\n* Use disk_put_part() in __blkdev_put() instead of directly putting\n  the contained kobject.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f331c0296f2a9fee0d396a70598b954062603015",
      "tree": "f74c467d58940131d97d90c4ea549843185e6ef0",
      "parents": [
        "cf771cb5a7b716f3f9e532fd42a1e3a0a75adec5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Sep 03 09:01:48 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:05 2008 +0200"
      },
      "message": "block: don\u0027t depend on consecutive minor space\n\n* Implement disk_devt() and part_devt() and use them to directly\n  access devt instead of computing it from -\u003emajor and -\u003efirst_minor.\n\n  Note that all references to -\u003emajor and -\u003efirst_minor outside of\n  block layer is used to determine devt of the disk (the part0) and as\n  -\u003emajor and -\u003efirst_minor will continue to represent devt for the\n  disk, converting these users aren\u0027t strictly necessary.  However,\n  convert them for consistency.\n\n* Implement disk_max_parts() to avoid directly deferencing\n  genhd-\u003eminors.\n\n* Update bdget_disk() such that it doesn\u0027t assume consecutive minor\n  space.\n\n* Move devt computation from register_disk() to add_disk() and make it\n  the only one (all other usages use the initially determined value).\n\nThese changes clean up the code and will help disk-\u003epart dereference\nfix and extended block device numbers.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "cf771cb5a7b716f3f9e532fd42a1e3a0a75adec5",
      "tree": "c16cf6adc4d2e51eaee77088ecf126b721f8f3c7",
      "parents": [
        "310a2c1012934f590192377f65940cad4aa72b15"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Sep 03 09:01:09 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:05 2008 +0200"
      },
      "message": "block: make variable and argument names more consistent\n\nIn hd_struct, @partno is used to denote partition number and a number\nof other places use @part to denote hd_struct.  Functions use @part\nand @index instead.  This causes confusion and makes it difficult to\nuse consistent variable names for hd_struct.  Always use @partno if a\nvariable represents partition number.\n\nAlso, print out functions use @f or @part for seq_file argument.  Use\n@seqf uniformly instead.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "88e341261ca4d39eec21b212961c77eff51105f7",
      "tree": "b65315c446ce592e6a0dc521eab9acd92ae61c5e",
      "parents": [
        "ec2cdedf798385a9397ac50dd0405dd658f8529c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:30:16 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:04 2008 +0200"
      },
      "message": "block: update add_partition() error handling\n\nd805dda4 tried to fix error case handling in add_partition() but had a\nfew problems.\n\n* disk-\u003epart[] entry is set early and left dangling if operation\n  fails.\n\n* Once device initialized, the last put_device() is responsible for\n  freeing all the resources.  The failure path freed part_stats and p\n  regardless of put_device() causing double free.\n\n* holders subdir holds reference to the disk device, so failure path\n  should remove it to release resources properly which was missing.\n\nThis patch fixes the above problems and while at it move partition\nslot busy check into add_partition() for completeness and inlines\nholders subdirectory creation.  Using separate function for it just\nobfuscates the code.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Abdel Benamrouche \u003cdraconux@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ec2cdedf798385a9397ac50dd0405dd658f8529c",
      "tree": "cd1c44d91a2baa4a56e0ca1ce6b854beb7cb3c39",
      "parents": [
        "def4e38ddda9bef20b69bfa939195c2f79da7979"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:30:15 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:04 2008 +0200"
      },
      "message": "block: allow deleting zero length partition\n\ndelete_partition() was noop for zero length partition.  As the\naddition code allows creating zero lenght partition and deletion is\nassumed to always succeed, this causes memory leak for zero length\npartitions.  Allow zero length partitions to end their meaningless\nlives.\n\nWhile at it, allow deleting zero lenght partition via\nBLKPG_DEL_PARTITION ioctl too.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e17fc0a1ccf88f6d4dcb363729f3141b0958c325",
      "tree": "0a7c2dc1c3159c2af14d87c67ca83e158b2c78b5",
      "parents": [
        "d30a2605be9d5132d95944916e8f578fcfe4f976"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Sat Aug 09 16:42:20 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:02 2008 +0200"
      },
      "message": "Allow elevators to sort/merge discard requests\n\nBut blkdev_issue_discard() still emits requests which are interpreted as\nsoft barriers, because naïve callers might otherwise issue subsequent\nwrites to those same sectors, which might cross on the queue (if they\u0027re\nreallocated quickly enough).\n\nCallers still _can_ issue non-barrier discard requests, but they have to\ntake care of queue ordering for themselves.\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d30a2605be9d5132d95944916e8f578fcfe4f976",
      "tree": "91a8161cb09536ab838ef47fceabb0da0bea9256",
      "parents": [
        "2ebca85abcfcbaaf1c0b242e39fc88ad3da90090"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Aug 11 15:58:42 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:02 2008 +0200"
      },
      "message": "Add BLKDISCARD ioctl to allow userspace to discard sectors\n\nWe may well want mkfs tools to use this to mark the whole device as\nunwanted before they format it, for example.\n\nThe ioctl takes a pair of uint64_ts, which are start offset and length\nin _bytes_. Although at the moment it might make sense for them both to\nbe in 512-byte sectors, I don\u0027t want to limit the ABI to that.\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "04ebd4aee52b06a2c38127d9208546e5b96f3a19",
      "tree": "25014f06e7bf53ec0b51d717a6a8d0cfb545d985",
      "parents": [
        "d805dda412346225a50af2d399d958a4bc676c38"
      ],
      "author": {
        "name": "Abdel Benamrouche",
        "email": "draconux@gmail.com",
        "time": "Fri Jul 25 01:48:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:44 2008 -0700"
      },
      "message": "block/ioctl.c and fs/partition/check.c: check value returned by add_partition()\n\nNow that add_partition() has been aught to propagate errors, let\u0027s check them.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Abdel Benamrouche \u003cdraconux@gmail.com\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": "f58c4c0a17e500e767473598b3deafaa1d64051d",
      "tree": "f8fbf3a2ce10a9fccf41f2f96bca1ca71b3dd77e",
      "parents": [
        "d2bbf3da3759d04cd5836955cc59c8ae96092831"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Oct 09 13:23:51 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Wed Oct 10 09:26:00 2007 +0200"
      },
      "message": "compat_ioctl: move common block ioctls to compat_blkdev_ioctl\n\nMake compat_blkdev_ioctl and blkdev_ioctl reflect the respective\nnative versions. This is somewhat more efficient and makes it easier\nto keep the two in sync.\n\nAlso get rid of the bogus handling for broken_blkgetsize and the\nduplicate entry for BLKRASET.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f98393a64ca1392130724c3acb4e3f325801d2b6",
      "tree": "b02838bdf84156ac923bb37b6cf5f5ed6aaa3d48",
      "parents": [
        "0a27a14a62921b438bb6f33772690d345a089be6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sun May 06 14:49:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:55 2007 -0700"
      },
      "message": "mm: remove destroy_dirty_buffers from invalidate_bdev()\n\nRemove the destroy_dirty_buffers argument from invalidate_bdev(), it hasn\u0027t\nbeen used in 6 years (so akpm says).\n\nfind * -name \\*.[ch] | xargs grep -l invalidate_bdev |\nwhile read file; do\n\tquilt add $file;\n\tsed -ie \u0027s/invalidate_bdev(\\([^,]*\\),[^)]*)/invalidate_bdev(\\1)/g\u0027 $file;\ndone\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d740cd5b18bc8128e70f98cfde8c74ebd21cea1",
      "tree": "c3283d3e98b04b66f1d8b15ff76dc7362ea12d2d",
      "parents": [
        "d5c1682f9f8f4aa064f81fda67ea7b91fd829512"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Feb 20 13:58:18 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 20 17:10:16 2007 -0800"
      },
      "message": "[PATCH] lockdep: annotate BLKPG_DEL_PARTITION\n\n\u003e\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\u003e[ INFO: possible recursive locking detected ]\n\u003e2.6.19-1.2909.fc7 #1\n\u003e---------------------------------------------\n\u003eanaconda/587 is trying to acquire lock:\n\u003e (\u0026bdev-\u003ebd_mutex){--..}, at: [\u003cc05fb380\u003e] mutex_lock+0x21/0x24\n\u003e\n\u003ebut task is already holding lock:\n\u003e (\u0026bdev-\u003ebd_mutex){--..}, at: [\u003cc05fb380\u003e] mutex_lock+0x21/0x24\n\u003e\n\u003eother info that might help us debug this:\n\u003e1 lock held by anaconda/587:\n\u003e #0:  (\u0026bdev-\u003ebd_mutex){--..}, at: [\u003cc05fb380\u003e] mutex_lock+0x21/0x24\n\u003e\n\u003estack backtrace:\n\u003e [\u003cc0405812\u003e] show_trace_log_lvl+0x1a/0x2f\n\u003e [\u003cc0405db2\u003e] show_trace+0x12/0x14\n\u003e [\u003cc0405e36\u003e] dump_stack+0x16/0x18\n\u003e [\u003cc043bd84\u003e] __lock_acquire+0x116/0xa09\n\u003e [\u003cc043c960\u003e] lock_acquire+0x56/0x6f\n\u003e [\u003cc05fb1fa\u003e] __mutex_lock_slowpath+0xe5/0x24a\n\u003e [\u003cc05fb380\u003e] mutex_lock+0x21/0x24\n\u003e [\u003cc04d82fb\u003e] blkdev_ioctl+0x600/0x76d\n\u003e [\u003cc04946b1\u003e] block_ioctl+0x1b/0x1f\n\u003e [\u003cc047ed5a\u003e] do_ioctl+0x22/0x68\n\u003e [\u003cc047eff2\u003e] vfs_ioctl+0x252/0x265\n\u003e [\u003cc047f04e\u003e] sys_ioctl+0x49/0x63\n\u003e [\u003cc0404070\u003e] syscall_call+0x7/0xb\n\nAnnotate BLKPG_DEL_PARTITION\u0027s bd_mutex locking and add a little comment\nclarifying the bd_mutex locking, because I confused myself and initially\nthought the lock order was wrong too.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d18d7682c18b617f523df6beea5ea0bd396ed0bd",
      "tree": "8e005fee2e13134e9ebdd1a3b71ef72b84351b19",
      "parents": [
        "66efc5a7e3061c3597ac43a8bb1026488d57e66b"
      ],
      "author": {
        "name": "Fabio Massimo Di Nitto",
        "email": "fabbione@ubuntu.com",
        "time": "Sat Feb 10 23:50:00 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 10 23:50:00 2007 -0800"
      },
      "message": "[PARTITION]: Add whole_disk attribute.\n\nSome partitioning systems create special partitions that\nspan the entire disk.  One example are Sun partitions, and\nthis whole-disk partition exists to tell the firmware the\nextent of the entire device so it can load the boot block\nand do other things.\n\nSuch partitions should not be treated as normal partitions,\nbecause all the other partitions overlap this whole-disk one.\nSo we\u0027d see multiple instances of the same UUID etc. which\nwe do not want.  udev and friends can thus search for this\n\u0027whole_disk\u0027 attribute and use it to decide to ignore the\npartition.\n\nSigned-off-by: Fabio Massimo Di Nitto \u003cfabbione@ubuntu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c5a20b6c26efb58c2ba2ebebcc65748f5b92f662",
      "tree": "5dd1a27835594b7f27620981bfded11255a418ab",
      "parents": [
        "61a8424ab8f611d199bfc8ca329ec0ea77a4d4ea"
      ],
      "author": {
        "name": "Josef Sipek",
        "email": "jsipek@fsl.cs.sunysb.edu",
        "time": "Fri Dec 08 02:36:54 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:44 2006 -0800"
      },
      "message": "[PATCH] struct path: convert block\n\nSigned-off-by: Josef Sipek \u003cjsipek@fsl.cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2e7b651df113c8a463853e4169951c52c39f9d19",
      "tree": "44749ea9d81931cbe5a753b972f6b9fde92a6496",
      "parents": [
        "32694850a91bd4fedcdd4a46292f870588be81d1"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Dec 08 02:36:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:38 2006 -0800"
      },
      "message": "[PATCH] remove the old bd_mutex lockdep annotation\n\nRemove the old complex and crufty bd_mutex annotation.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7006f6eca874cd44d37ccb8cfeb8bed04e3bff22",
      "tree": "2e0827157e770e62493dea144e5d9ef73091e554",
      "parents": [
        "9af4aa30b713a58e5952045f52c41a6e3baa2fdc"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Oct 03 01:15:21 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:04:13 2006 -0700"
      },
      "message": "[PATCH] dm: export blkdev_driver_ioctl\n\nExport blkdev_driver_ioctl for device-mapper.\n\nIf we get as far as the device-mapper ioctl handler, we know the ioctl is not\na standard block layer BLK* one, so we don\u0027t need to check for them a second\ntime and can call blkdev_driver_ioctl() directly.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ddca60c59032b2c2babc0003cf01015aff340b79",
      "tree": "c836af2259cb55ebae060268c52b1d3f4773d819",
      "parents": [
        "7e56a7dcbb974d9725d80e50d70c6eed7f71110b"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Jul 14 00:24:12 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jul 14 21:53:53 2006 -0700"
      },
      "message": "[PATCH] lockdep: annotate the BLKPG_DEL_PARTITION ioctl\n\nThe delete partition IOCTL takes the bd_mutex for both the disk and the\npartition; these have an obvious hierarchical relationship and this patch\nannotates this relationship for lockdep.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2056a782f8e7e65fd4bfd027506b4ce1c5e9ccd4",
      "tree": "d4fe59a7ca0c110690937085548936a4535c39db",
      "parents": [
        "6dac40a7ce2483a47b54af07afebeb84131c7228"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Mar 23 20:00:26 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Mar 23 20:00:26 2006 +0100"
      },
      "message": "[PATCH] Block queue IO tracing support (blktrace) as of 2006-03-23\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "c039e3134ae62863bbc8e8429b29e3c43cf21b2a",
      "tree": "b9bbf4fda0844e3173bf10a5bffbaaec94fb4246",
      "parents": [
        "6f87f0deebaff2716a3ce9232f948d702690562a"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Thu Mar 23 03:00:28 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:11 2006 -0800"
      },
      "message": "[PATCH] sem2mutex: blockdev #2\n\nSemaphore to mutex conversion.\n\nThe conversion was generated via scripts, and the result was validated\nautomatically via a script as well.\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c59ede7b78db329949d9cdcd7064e22d357560ef",
      "tree": "f9dc9d464fdad5bfd464d983e77c1af031389dda",
      "parents": [
        "e16885c5ad624a6efe1b1bf764e075d75f65a788"
      ],
      "author": {
        "name": "Randy.Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Wed Jan 11 12:17:46 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 11 18:42:13 2006 -0800"
      },
      "message": "[PATCH] move capable() to capability.h\n\n- Move capable() from sched.h to capability.h;\n\n- Use \u003clinux/capability.h\u003e where capable() is used\n\t(in include/, block/, ipc/, kernel/, a few drivers/,\n\tmm/, security/, \u0026 sound/;\n\tmany more drivers/ to go)\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a885c8c4316e1c1d2d2c8755da3f3d14f852528d",
      "tree": "e4f4e7a7657c0944d11c259f8f17ffcd6b2da0f5",
      "parents": [
        "5b0ed2c64d8fdafb5fcfb3baabdd288628b1ff9b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sun Jan 08 01:02:50 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:54 2006 -0800"
      },
      "message": "[PATCH] Add block_device_operations.getgeo block device method\n\nHDIO_GETGEO is implemented in most block drivers, and all of them have to\nduplicate the code to copy the structure to userspace, as well as getting\nthe start sector.  This patch moves that to common code [1] and adds a\n-\u003egetgeo method to fill out the raw kernel hd_geometry structure.  For many\ndrivers this means -\u003eioctl can go away now.\n\n[1] the s390 block drivers are odd in this respect.  xpram sets -\u003estart\n    to 4 always which seems more than odd, and the dasd driver shifts\n    the start offset around, probably because of it\u0027s non-standard\n    sector size.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Jens Axboe \u003caxboe@suse.de\u003e\nCc: \u003cmike.miller@hp.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cB.Zolnierkiewicz@elka.pw.edu.pl\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nCc: Markus Lidel \u003cMarkus.Lidel@shadowconnect.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3a65dfe8c088143c7155cfd36a72f4b0ad2fc4b2",
      "tree": "db930c9f71f94d3ee674f65e38c38e95ca97227e",
      "parents": [
        "0f3278d14f0255e4cd9e07ccefc33ff12d8bb59c"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Nov 04 08:43:35 2005 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Nov 04 08:43:35 2005 +0100"
      },
      "message": "[BLOCK] Move all core block layer code to new block/ directory\n\ndrivers/block/ is right now a mix of core and driver parts. Lets move\nthe core parts to a new top level directory. Al will move the fs/\nrelated block parts to block/ next.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "bb93e3a52f8db7210258a1a2134cced0b78a46e1",
      "tree": "b6def4c3fe5624769de64e242bb2007fffea55c8",
      "parents": [
        "0d77e5a2c23da734f5a7925f64afa1c2ed92e0f9"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Jun 23 00:10:15 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:32 2005 -0700"
      },
      "message": "[PATCH] block: add unlocked_ioctl support for block devices\n\nThis patch allows block device drivers to convert their ioctl functions to\nunlocked_ioctl() like character devices and other subsystems.  All\nfunctions that were called with the BKL held before are still used that\nway, but I would not be surprised if it could be removed from the ioctl\nfunctions in drivers/block/ioctl.c themselves.\n\nAs a side note, I found that compat_blkdev_ioctl() acquires the BKL as\nwell, which looks like a bug.  I have checked that every user of\ndisk-\u003efops-\u003ecompat_ioctl() in the current git tree gets the BKL itself, so\nit could easily be removed from compat_blkdev_ioctl().\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "68f66feb300423bb9ee5daecb1951af394425a38",
      "tree": "ae5ce87f061f76da06cb78ce5c9cf3c8284fc0fc",
      "parents": [
        "a84a505956f5c795a9ab3d60d97b6b91a27aa571"
      ],
      "author": {
        "name": "Stephen Tweedie",
        "email": "sct@redhat.com",
        "time": "Fri May 13 23:31:19 2005 -0400"
      },
      "committer": {
        "name": "Greg KH",
        "email": "gregkh@suse.de",
        "time": "Mon May 16 21:07:21 2005 -0700"
      },
      "message": "[PATCH] Fix root hole in raw device\n\n[Patch] Fix raw device ioctl pass-through\n\nRaw character devices are supposed to pass ioctls through to the block\ndevices they are bound to.  Unfortunately, they are using the wrong\nfunction for this: ioctl_by_bdev(), instead of blkdev_ioctl().\n\nioctl_by_bdev() performs a set_fs(KERNEL_DS) before calling the ioctl,\nredirecting the user-space buffer access to the kernel address space.\nThis is, needless to say, a bad thing.\n\nThis was noticed first on s390, where raw IO was non-functioning.  The\ns390 driver config does not actually allow raw IO to be enabled, which\nwas the first part of the problem.  Secondly, the s390 kernel address\nspace is distinct from user, causing legal raw ioctls to fail.  I\u0027ve\nreproduced this on a kernel built with 4G:4G split on x86, which fails\nin the same way (-EFAULT if the address does not exist kernel-side;\nreturns success without actually populating the user buffer if it does.)\n\nThe patch below fixes both the config and address-space problems.  It\u0027s\nbased closely on a patch by Jan Glauber \u003cjang@de.ibm.com\u003e, which has\nbeen tested on s390 at IBM.  I\u0027ve tested it on x86 4G:4G (split address\nspace) and x86_64 (common address space).\n\nKernel-address-space access has been assigned CAN-2005-1264.\n\nSigned-off-by: Stephen Tweedie \u003csct@redhat.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
