)]}'
{
  "log": [
    {
      "commit": "c7ebf0657b1f47d85aee8349ed6345d940d7232a",
      "tree": "c9425a433bf727aa01a0897856852296cce71f7b",
      "parents": [
        "961515f613f26b7958c56c5c71061a8231e02be7"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon Oct 12 08:20:47 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 12 08:20:47 2009 +0200"
      },
      "message": "blk-settings: fix function parameter kernel-doc notation\n\nFix kernel-doc notation in blk-settings.c::blk_queue_max_discard_sectors().\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "67efc9258010da35b27b3854d0880c7e193004ed",
      "tree": "d98ad032d8c701084539d5673c2d7d7ca5962a3f",
      "parents": [
        "c15227de132f1295f3db6b7df9079956b1020fd8"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Sep 30 13:54:20 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 01 21:19:34 2009 +0200"
      },
      "message": "block: allow large discard requests\n\nCurrently we set the bio size to the byte equivalent of the blocks to\nbe trimmed when submitting the initial DISCARD ioctl.  That means it\nis subject to the max_hw_sectors limitation of the HBA which is\nmuch lower than the size of a DISCARD request we can support.\nAdd a separate max_discard_sectors tunable to limit the size for discard\nrequests.\n\nWe limit the max discard request size in bytes to 32bit as that is the\nlimit for bio-\u003ebi_size.  This could be much larger if we had a way to pass\nthat information through the block layer.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c15227de132f1295f3db6b7df9079956b1020fd8",
      "tree": "ad06f119f283cf8a6313681055e8132ba2851ddb",
      "parents": [
        "3bd0f0c763e497c8674b28e3df2732f48683dabd"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Sep 30 13:52:12 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 01 21:19:30 2009 +0200"
      },
      "message": "block: use normal I/O path for discard requests\n\nprepare_discard_fn() was being called in a place where memory allocation\nwas effectively impossible.  This makes it inappropriate for all but\nthe most trivial translations of Linux\u0027s DISCARD operation to the block\ncommand set.  Additionally adding a payload there makes the ownership\nof the bio backing unclear as it\u0027s now allocated by the device driver\nand not the submitter as usual.\n\nIt is replaced with QUEUE_FLAG_DISCARD which is used to indicate whether\nthe queue supports discard operations or not.  blkdev_issue_discard now\nallocates a one-page, sector-length payload which is the right thing\nfor the common ATA and SCSI implementations.\n\nThe mtd implementation of prepare_discard_fn() is replaced with simply\nchecking for the request being a discard.\n\nLargely based on a previous patch from Matthew Wilcox \u003cmatthew@wil.cx\u003e\nwhich did the prepare_discard_fn but not the different payload allocation\nyet.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5dee2477df5368368b7dba810a17a3c411a1d0f0",
      "tree": "24897963e1e81c9a300633d69f03aa0cb81c90a7",
      "parents": [
        "80ddf247c84fbd7f4371dd15bbbff0adb44a8708"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Mon Sep 21 21:46:05 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 01 21:15:45 2009 +0200"
      },
      "message": "block: Do not clamp max_hw_sectors for stacking devices\n\nStacking devices do not have an inherent max_hw_sector limit.  Set the\ndefault to INT_MAX so we are bounded only by capabilities of the\nunderlying storage.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "80ddf247c84fbd7f4371dd15bbbff0adb44a8708",
      "tree": "77f60af44099d1181ad87bdb2e61cf605df1b78a",
      "parents": [
        "9f792d9f58496161b1b201e2ca440a6b6e116c39"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri Sep 18 22:54:37 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 01 21:15:45 2009 +0200"
      },
      "message": "block: Set max_sectors correctly for stacking devices\n\nThe topology changes unintentionally caused SAFE_MAX_SECTORS to be set\nfor stacking devices.  Set the default limit to BLK_DEF_MAX_SECTORS and\nprovide SAFE_MAX_SECTORS in blk_queue_make_request() for legacy hw\ndrivers that depend on the old behavior.\n\nAcked-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3c5820c743479285ce2678fd3c12b1fd39fe998f",
      "tree": "8f6b3980f5e8da4912b44eee4688d51ce12c97a3",
      "parents": [
        "06d2188644c85c56d243efab914f368d1d23c4a3"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri Sep 11 21:54:52 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Sep 14 08:24:52 2009 +0200"
      },
      "message": "block: Optimal I/O limit wrapper\n\nImplement blk_limits_io_opt() and make blk_queue_io_opt() a wrapper\naround it. DM needs this to avoid poking at the queue_limits directly.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7e5f5fb09e6fc657f21816b5a18ba645a913368e",
      "tree": "90a60c56f3bdc8f40969bda9d87eb3d31a066b8e",
      "parents": [
        "70dd5bf3b99964d52862ad2810c24cc32a553535"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri Jul 31 11:49:13 2009 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sat Aug 01 10:24:35 2009 +0200"
      },
      "message": "block: Update topology documentation\n\nUpdate topology comments and sysfs documentation based upon discussions\nwith Neil Brown.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "70dd5bf3b99964d52862ad2810c24cc32a553535",
      "tree": "912cef9cf7545b9019ad4c54def7f651213f2725",
      "parents": [
        "7c958e32649e0c35801762878fb0b6da8c55a515"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri Jul 31 11:49:12 2009 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sat Aug 01 10:24:35 2009 +0200"
      },
      "message": "block: Stack optimal I/O size\n\nWhen stacking block devices ensure that optimal I/O size is scaled\naccordingly.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nReviewed-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7c958e32649e0c35801762878fb0b6da8c55a515",
      "tree": "610b1e685b5f634ca591865cc9f5ce22f1e3e6c1",
      "parents": [
        "fef246672b009cf3f7a74e2fc9a76932ef2eeed2"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri Jul 31 11:49:11 2009 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sat Aug 01 10:24:35 2009 +0200"
      },
      "message": "block: Add a wrapper for setting minimum request size without a queue\n\nIntroduce blk_limits_io_min() and make blk_queue_io_min() call it.\n\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "fef246672b009cf3f7a74e2fc9a76932ef2eeed2",
      "tree": "41d7dcf1ece710d6e4bf387dee140e47f66e9011",
      "parents": [
        "ed680c4ad478d0fee9740f7d029087f181346564"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri Jul 31 11:49:10 2009 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sat Aug 01 10:24:35 2009 +0200"
      },
      "message": "block: Make blk_queue_stack_limits use the new stacking interface\n\nblk_queue_stack_limits() has been superceded by blk_stack_limits() and\ndisk_stack_limits().  Wrap the function call for now, we\u0027ll deprecate it\nlater.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a4e7d46407d73f35d217013b363b79a8f8eafcaa",
      "tree": "109996edac0c6382e7a7cfb99736e75ea5398b49",
      "parents": [
        "a85a00a699740f6f9863f88aef22060fe1534681"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 28 09:07:29 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 28 09:07:29 2009 +0200"
      },
      "message": "block: always assign default lock to queues\n\nMove the assignment of a default lock below blk_init_queue() to\nblk_queue_make_request(), so we also get to set the default lock\nfor -\u003emake_request_fn() based drivers. This is important since the\nqueue flag locking requires a lock to be in place.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f740f5ca056f0a4eff3abdf272a8a4ba3965d57d",
      "tree": "6340ea4b20227733b380816d0552127de110905c",
      "parents": [
        "90c699a9ee4be165966d40f1837909ccb8890a68"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Jun 19 09:18:32 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jun 19 09:18:32 2009 +0200"
      },
      "message": "Fix kernel-doc parameter name typo in blk-settings.c:\n\nWarning(block/blk-settings.c:108): No description found for parameter \u0027lim\u0027\nWarning(block/blk-settings.c:108): Excess function parameter \u0027limits\u0027 description in \u0027blk_set_default_limits\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3a02c8e8142f7f133d4c6e72bc3e1d830e6b8b9e",
      "tree": "7485ad50ba3b773d186119d48cba2a124e667125",
      "parents": [
        "ddeb9c3e949751992628628d000915a317df52c4"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Thu Jun 18 09:56:03 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jun 18 09:56:20 2009 +0200"
      },
      "message": "block: Fix bounce_pfn setting\n\nCorrect stacking bounce_pfn limit setting and prevent warnings on\n32-bit.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e475bba2fdee9c3dbfe25f026f8fb8de69508ad2",
      "tree": "cb2a050b58fbd8cd7a4d82349164622fedc2c6d0",
      "parents": [
        "6923715ae39ed39ac2fc1993e5061668f4f71ad0"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Tue Jun 16 08:23:52 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jun 16 08:23:52 2009 +0200"
      },
      "message": "block: Introduce helper to reset queue limits to default values\n\nDM reuses the request queue when swapping in a new device table\nIntroduce blk_set_default_limits() which can be used to reset the the\nqueue_limits prior to stacking devices.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nAcked-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nAcked-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0989a025d2f4f9f51ea641bd26c563c53dc63f55",
      "tree": "5b4f29d3b1a3d09d3052e0c18d63dba8a946da86",
      "parents": [
        "81be834713a7d6b9463663145d493fe9daee2d61"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jun 12 14:42:56 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jun 16 08:21:03 2009 +0200"
      },
      "message": "block: don\u0027t overwrite bdi-\u003estate after bdi_init() has been run\n\nMove the defaults to where we do the init of the backing_dev_info.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "8ebf975608aaebd7feb33d77f07ba21a6380e086",
      "tree": "6de4ee1dd3ede890169644ea586ed7c8c9d8f7b2",
      "parents": [
        "4b4f1d017815f96737ca4a62f90e5a1f0b9f02d6"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu Jun 11 20:00:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 20:14:23 2009 -0700"
      },
      "message": "block: fix kernel-doc in recent block/ changes\n\nFix kernel-doc warnings in recently changed block/ source code.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "77634f33d4078542cf1087995cced0ffdae25aa2",
      "tree": "43d15cfb43bcfb6af567e1203419ad60ef2cb160",
      "parents": [
        "9df1bb9b516daeece159ab7fb262d01a0359247c"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Tue Jun 09 06:23:22 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jun 09 06:23:22 2009 +0200"
      },
      "message": "block: Add missing bounce_pfn stacking and fix comments\n\nDM no longer needs to set limits explicitly when calling blk_stack_limits.\nLet the latter automatically deal with bounce_pfn scaling.\n\nFix kerneldoc variable names.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "9df1bb9b516daeece159ab7fb262d01a0359247c",
      "tree": "602c7b02e85b031d0269a1f70ece81bac524c0ac",
      "parents": [
        "3969251b80a7b143d01576780073fe0cc9ef6253"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jun 09 06:22:57 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jun 09 06:22:57 2009 +0200"
      },
      "message": "Revert \"block: Fix bounce limit setting in DM\"\n\nThis reverts commit a05c0205ba031c01bba33a21bf0a35920eb64833.\n\nDM doesn\u0027t need to access the bounce_pfn directly.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a05c0205ba031c01bba33a21bf0a35920eb64833",
      "tree": "517c7682fc415cdb122ee7fcfc75eff674cc7b78",
      "parents": [
        "dbdc9dd342f0a7e32f40f0d4ade662bdfe057484"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Wed Jun 03 09:33:18 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Jun 03 09:33:18 2009 +0200"
      },
      "message": "block: Fix bounce limit setting in DM\n\nblk_queue_bounce_limit() is more than a wrapper about the request queue\nlimits.bounce_pfn variable.  Introduce blk_queue_bounce_pfn() which can\nbe called by stacking drivers that wish to set the bounce limit\nexplicitly.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5d85d3247cc3555215d7d11c78576a396c98e4d9",
      "tree": "4db90509907b51425706add2239ad02d57cbef4a",
      "parents": [
        "3c4198e874cde694f5ea1463706873e7907bdb18"
      ],
      "author": {
        "name": "Mike Snitzer",
        "email": "snitzer@redhat.com",
        "time": "Thu May 28 11:04:53 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu May 28 11:04:53 2009 +0200"
      },
      "message": "block: export blk_stack_limits()\n\nDM needs to use blk_stack_limits(), so it needs to be exported.\n\nAcked-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.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": "025146e13b63483add912706c101fb0fb6f015cc",
      "tree": "42d2d42e2222f0a2d6373a0ddf0cbf733f75dcba",
      "parents": [
        "ae03bf639a5027d27270123f5f6e3ee6a412781d"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri May 22 17:17:51 2009 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 22 23:22:55 2009 +0200"
      },
      "message": "block: Move queue limits to an embedded struct\n\nTo accommodate stacking drivers that do not have an associated request\nqueue we\u0027re moving the limits to a separate, embedded structure.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\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": "cd0aca2d550f238d80ba58e7dcade4ea3d0a3aa7",
      "tree": "9581a77ce54247a18963c9d827063923a667add7",
      "parents": [
        "25636e282fe95508cae96bb27f86407aef935817"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Apr 15 22:10:25 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 22 08:35:09 2009 +0200"
      },
      "message": "block: fix queue bounce limit setting\n\nImpact: don\u0027t set GFP_DMA in q-\u003ebounce_gfp unnecessarily\n\nAll DMA address limits are expressed in terms of the last addressable\nunit (byte or page) instead of one plus that.  However, when\ndetermining bounce_gfp for 64bit machines in blk_queue_bounce_limit(),\nit compares the specified limit against 0x100000000UL to determine\nwhether it\u0027s below 4G ending up falsely setting GFP_DMA in\nq-\u003ebounce_gfp.\n\nAs DMA zone is very small on x86_64, this makes larger SG_IO transfers\nvery eager to trigger OOM killer.  Fix it.  While at it, rename the\nparameter to @dma_mask for clarity and convert comment to proper\nwinged style.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "8feb4d20b4b867e7a44f7486ecb028cc01a564ae",
      "tree": "7ffc0f18d3b336260f405b95faa1a518e99d0c84",
      "parents": [
        "0221c81b1b8eb0cbb6b30a0ced52ead32d2b4e4c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Wed Apr 01 15:01:39 2009 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Mon Apr 06 20:00:29 2009 -0400"
      },
      "message": "pata_artop: typo\n\nFix a typo (this was in the original patch but was not merged when the code\nfixes were for some reason)\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "18af8b2ca34b831c32c6fa01e7ce33143c33bb63",
      "tree": "0feb71c891dea467c88181b1974d15cf58243f9a",
      "parents": [
        "a6f23657d3072bde6844055bbc2290e497f33fbc"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Thu Dec 04 08:56:35 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:29:51 2008 +0100"
      },
      "message": "block: use min_not_zero in blk_queue_stack_limits\n\nzero is invalid for max_phys_segments, max_hw_segments, and\nmax_segment_size. It\u0027s better to use use min_not_zero instead of\nmin. min() works though (because the commit 0e435ac makes sure that\nthese values are set to the default values, non zero, if a queue is\ninitialized properly).\n\nWith this patch, blk_queue_stack_limits does the almost same thing\nthat dm\u0027s combine_restrictions_low() does. I think that it\u0027s easy to\nremove dm\u0027s combine_restrictions_low.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0e435ac26e3f951d83338ed3d4ab7dc0fe0055bc",
      "tree": "8f208a3093de1a314a981ae47e5ef92a5909c13b",
      "parents": [
        "53a08807c01989c6847bb135d8d43f61c5dfdda5"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Wed Dec 03 12:55:08 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Dec 03 12:55:55 2008 +0100"
      },
      "message": "block: fix setting of max_segment_size and seg_boundary mask\n\nFix setting of max_segment_size and seg_boundary mask for stacked md/dm\ndevices.\n\nWhen stacking devices (LVM over MD over SCSI) some of the request queue\nparameters are not set up correctly in some cases by default, namely\nmax_segment_size and and seg_boundary mask.\n\nIf you create MD device over SCSI, these attributes are zeroed.\n\nProblem become when there is over this mapping next device-mapper mapping\n- queue attributes are set in DM this way:\n\nrequest_queue   max_segment_size  seg_boundary_mask\nSCSI                65536             0xffffffff\nMD RAID1                0                      0\nLVM                 65536                 -1 (64bit)\n\nUnfortunately bio_add_page (resp.  bio_phys_segments) calculates number of\nphysical segments according to these parameters.\n\nDuring the generic_make_request() is segment cout recalculated and can\nincrease bio-\u003ebi_phys_segments count over the allowed limit.  (After\nbio_clone() in stack operation.)\n\nThi is specially problem in CCISS driver, where it produce OOPS here\n\n    BUG_ON(creq-\u003enr_phys_segments \u003e MAXSGENTRIES);\n\n(MAXSEGENTRIES is 31 by default.)\n\nSometimes even this command is enough to cause oops:\n\n  dd iflag\u003ddirect if\u003d/dev/\u003cvg\u003e/\u003clv\u003e of\u003d/dev/null bs\u003d128000 count\u003d10\n\nThis command generates bios with 250 sectors, allocated in 32 4k-pages\n(last page uses only 1024 bytes).\n\nFor LVM layer, it allocates bio with 31 segments (still OK for CCISS),\nunfortunatelly on lower layer it is recalculated to 32 segments and this\nviolates CCISS restriction and triggers BUG_ON().\n\nThe patch tries to fix it by:\n\n * initializing attributes above in queue request constructor\n   blk_queue_make_request()\n\n * make sure that blk_queue_stack_limits() inherits setting\n\n (DM uses its own function to set the limits because it\n blk_queue_stack_limits() was introduced later.  It should probably switch\n to use generic stack limit function too.)\n\n * sets the default seg_boundary value in one place (blkdev.h)\n\n * use this mask as default in DM (instead of -1, which differs in 64bit)\n\nBugs related to this:\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d471639\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d8672\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nReviewed-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Mike Miller \u003cmike.miller@hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "713ada9ba94f2ad874cffd074b83e3dc681ca82f",
      "tree": "e94cae4cb7d6d8bee404feb869bceee74b402f93",
      "parents": [
        "0997f1c5fec0b540784611036d458a84a1f7029a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 16 13:44:57 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Oct 17 08:46:57 2008 +0200"
      },
      "message": "block: move q-\u003eunplug_work initialization\n\nmodprobe loop; rmmod loop effectively creates a blk_queue and destroys it\nwhich results in q-\u003eunplug_work being canceled without it ever being\ninitialized.\n\nTherefore, move the initialization of q-\u003eunplug_work from\nblk_queue_make_request() to blk_alloc_queue*().\n\nReported-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ef9e3facdf1fe1228721a7c295a76d1b7a0e57ec",
      "tree": "33847b1e267895ea58c2399c06cdd23365c7dc73",
      "parents": [
        "336c3d8ce771608815b65bcfa27a17a83b297328"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Wed Oct 01 16:12:15 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:20 2008 +0200"
      },
      "message": "block: add lld busy state exporting interface\n\nThis patch adds an new interface, blk_lld_busy(), to check lld\u0027s\nbusy state from the block layer.\nblk_lld_busy() calls down into low-level drivers for the checking\nif the drivers set q-\u003elld_busy_fn() using blk_queue_lld_busy().\n\nThis resolves a performance problem on request stacking devices below.\n\nSome drivers like scsi mid layer stop dispatching request when\nthey detect busy state on its low-level device like host/target/device.\nIt allows other requests to stay in the I/O scheduler\u0027s queue\nfor a chance of merging.\n\nRequest stacking drivers like request-based dm should follow\nthe same logic.\nHowever, there is no generic interface for the stacked device\nto check if the underlying device(s) are busy.\nIf the request stacking driver dispatches and submits requests to\nthe busy underlying device, the requests will stay in\nthe underlying device\u0027s queue without a chance of merging.\nThis causes performance problem on burst I/O load.\n\nWith this patch, busy state of the underlying device is exported\nvia q-\u003elld_busy_fn().  So the request stacking driver can check it\nand stop dispatching requests if busy.\n\nThe underlying device driver must return the busy state appropriately:\n    1: when the device driver can\u0027t process requests immediately.\n    0: when the device driver can process requests immediately,\n       including abnormal situations where the device driver needs\n       to kill all requests.\n\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "242f9dcb8ba6f68fcd217a119a7648a4f69290e9",
      "tree": "1bfe245ffbc50d204d76665cd8f90d85100f86a1",
      "parents": [
        "608aeef17a91747d6303de4df5e2c2e6899a95e8"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sun Sep 14 05:55:09 2008 -0700"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:13 2008 +0200"
      },
      "message": "block: unify request timeout handling\n\nRight now SCSI and others do their own command timeout handling.\nMove those bits to the block layer.\n\nInstead of having a timer per command, we try to be a bit more clever\nand simply have one per-queue. This avoids the overhead of having to\ntear down and setup a timer for each command, so it will result in a lot\nless timer fiddling.\n\nSigned-off-by: Mike Anderson \u003candmike@linux.vnet.ibm.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "aeb3d3a81e81c6323a17fe914e91eb228b3f1aa1",
      "tree": "9cacfa989eaad1611f61e5707fd432e7f1fde685",
      "parents": [
        "01cfcddd98f09e05a2e36031654ed46643b76f23"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Thu Aug 28 09:27:42 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:11 2008 +0200"
      },
      "message": "block: kmalloc args reversed, small function definition fixes\n\nNoticed by sparse:\nblock/blk-softirq.c:156:12: warning: symbol \u0027blk_softirq_init\u0027 was not declared. Should it be static?\nblock/genhd.c:583:28: warning: function \u0027bdget_disk\u0027 with external linkage has definition\nblock/genhd.c:659:17: warning: incorrect type in argument 1 (different base types)\nblock/genhd.c:659:17:    expected unsigned int [unsigned] [usertype] size\nblock/genhd.c:659:17:    got restricted gfp_t\nblock/genhd.c:659:29: warning: incorrect type in argument 2 (different base types)\nblock/genhd.c:659:29:    expected restricted gfp_t [usertype] flags\nblock/genhd.c:659:29:    got unsigned int\nblock: kmalloc args reversed\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c7c22e4d5c1fdebfac4dba76de7d0338c2b0d832",
      "tree": "ecc3d2517b3471ccc35d4cb4e3b48d4b57205061",
      "parents": [
        "18887ad910e56066233a07fd3cfb2fa11338b782"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sat Sep 13 20:26:01 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:09 2008 +0200"
      },
      "message": "block: add support for IO CPU affinity\n\nThis patch adds support for controlling the IO completion CPU of\neither all requests on a queue, or on a per-request basis. We export\na sysfs variable (rq_affinity) which, if set, migrates completions\nof requests to the CPU that originally submitted it. A bio helper\n(bio_set_completion_cpu()) is also added, so that queuers can ask\nfor completion on that specific CPU.\n\nIn testing, this has been show to cut the system time by as much\nas 20-40% on synthetic workloads where CPU affinity is desired.\n\nThis requires a little help from the architecture, so it\u0027ll only\nwork as designed for archs that are using the new generic smp\nhelper infrastructure.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "710027a48ede75428cc68eaa8ae2269b1e356e2c",
      "tree": "22cba18860b83b03613bad97c405fb5146a2d686",
      "parents": [
        "5b99c2ffa980528a197f26c7d876cceeccce8dd5"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Aug 19 20:13:11 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:03 2008 +0200"
      },
      "message": "Add some block/ source files to the kernel-api docbook. Fix kernel-doc notation in them as needed. Fix changed function parameter names. Fix typos/spellos. In comments, change REQ_SPECIAL to REQ_TYPE_SPECIAL and REQ_BLOCK_PC to REQ_TYPE_BLOCK_PC.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "fb2dce862d9f9a68e6b9374579056ec9eca02a63",
      "tree": "888e0fd7248c9329fa1aa3981043a2dc2457d488",
      "parents": [
        "d628eaef310533767ce68664873869c2d7f78f09"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Tue Aug 05 18:01:53 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:01 2008 +0200"
      },
      "message": "Add \u0027discard\u0027 request handling\n\nSome block devices benefit from a hint that they can forget the contents\nof certain sectors. Add basic support for this to the block core, along\nwith a \u0027blkdev_issue_discard()\u0027 helper function which issues such\nrequests.\n\nThe caller doesn\u0027t get to provide an end_io functio, since\nblkdev_issue_discard() will automatically split the request up into\nmultiple bios if appropriate. Neither does the function wait for\ncompletion -- it\u0027s expected that callers won\u0027t care about when, or even\n_if_, the request completes. It\u0027s only a hint to the device anyway. By\ndefinition, the file system doesn\u0027t _care_ about these sectors any more.\n\n[With feedback from OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e and\nJens Axboe \u003cjens.axboe@oracle.com]\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "27f8221af406e43b529a5425bc99c9b1e9bdf521",
      "tree": "6e847b9359327449b77d4b6350cc9d44fd9208b6",
      "parents": [
        "2610324fcacf38a24b630090ebcb802538763187"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Fri Jul 04 09:30:03 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jul 04 09:52:13 2008 +0200"
      },
      "message": "block: add blk_queue_update_dma_pad\n\nThis adds blk_queue_update_dma_pad to prevent LLDs from overwriting\nthe dma pad mask wrongly (we added blk_queue_update_dma_alignment due\nto the same reason).\n\nThis also converts libata to use blk_queue_update_dma_pad instead of\nblk_queue_dma_pad.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nCc: Thomas Bogendoerfer \u003ctsbogend@alpha.franken.de\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e7e72bf641b1fc7b9df6f40bd2c36dfccd8d647c",
      "tree": "81b1db5434c9635bf23fb40415056e10390cd692",
      "parents": [
        "4920916f728fe3c51f54c25ab7b3d271254aab5a"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Wed May 14 16:05:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 14 19:11:15 2008 -0700"
      },
      "message": "Remove blkdev warning triggered by using md\n\nAs setting and clearing queue flags now requires that we hold a spinlock\non the queue, and as blk_queue_stack_limits is called without that lock,\nget the lock inside blk_queue_stack_limits.\n\nFor blk_queue_stack_limits to be able to find the right lock, each md\npersonality needs to set q-\u003equeue_lock to point to the appropriate lock.\nThose personalities which didn\u0027t previously use a spin_lock, us\nq-\u003e__queue_lock.  So always initialise that lock when allocated.\n\nWith this in place, setting/clearing of the QUEUE_FLAG_PLUGGED bit will no\nlonger cause warnings as it will be clear that the proper lock is held.\n\nThanks to Dan Williams for review and fixing the silly bugs.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nCc: Dan Williams \u003cdan.j.williams@intel.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Alistair John Strachan \u003calistair@devzero.co.uk\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Jacek Luczak \u003cdifrost.kernel@gmail.com\u003e\nCc: Prakash Punnoor \u003cprakash@punnoor.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "24c03d47d0481ed7b172b398f6c9b7ca1fafb9fa",
      "tree": "d24b94e09b12a2c16cc0cf49c273af846fcc6f13",
      "parents": [
        "e37d05dad7ff9744efd8ea95a70d389e9a65a6fc"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Thu May 01 04:35:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:04:02 2008 -0700"
      },
      "message": "block: remove remaining __FUNCTION__ occurrences\n\n__FUNCTION__ is gcc specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@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": "75ad23bc0fcb4f992a5d06982bf0857ab1738e9e",
      "tree": "8668ef63b1f420252ae41aed9e13737d49fd8054",
      "parents": [
        "68154e90c9d1492d570671ae181d9a8f8530da55"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Apr 29 14:48:33 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 29 14:48:33 2008 +0200"
      },
      "message": "block: make queue flags non-atomic\n\nWe can save some atomic ops in the IO path, if we clearly define\nthe rules of how to modify the queue flags.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "657e93be356f51888f56a58d2b374caefbf2fe86",
      "tree": "3a7f5ffae7e12616c090d528a97ecb21e0064d19",
      "parents": [
        "31e103c595c0fa0d23eea5a4168362fba4c5ba62"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Apr 25 12:46:58 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 29 09:50:34 2008 +0200"
      },
      "message": "unexport blk_max_pfn\n\nblk_max_pfn can now be unexported.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "00d61e3e8c12d5f395b167856d2b3c430816afb0",
      "tree": "757df09b076810b40ee3431a394882a2be860a68",
      "parents": [
        "0e81a8ae37687845f7cdfa2adce14ea6a5f1dd34"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "andrea@qumranet.com",
        "time": "Wed Apr 02 09:06:44 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 02 09:06:44 2008 +0200"
      },
      "message": "Fix bounce setting for 64-bit\n\nLooking a bit closer into this regression the reason this can\u0027t be\nright is that dma_addr common default is BLK_BOUNCE_HIGH and most\nmachines have less than 4G. So if you do:\n\n    if (b_pfn \u003c\u003d (min_t(u64, 0xffffffff, BLK_BOUNCE_HIGH) \u003e\u003e PAGE_SHIFT))\n\tdma \u003d 1\n\nthat will translate to:\n\n     if (BLK_BOUNCE_HIGH \u003c\u003d BLK_BOUNCE_HIGH)\n     \tdma \u003d 1\n\nSo for 99% of hardware this will trigger unnecessary GFP_DMA\nallocations and isa pooling operations.\n\nAlso note how the 32bit code still does b_pfn \u003c blk_max_low_pfn.\n\nI guess this is what you were looking after. I didn\u0027t verify but as\nfar as I can tell, this will stop the regression with isa dma\noperations at boot for 99% of blkdev/memory combinations out there and\nI guess this fixes the setups with \u003e4G of ram and 32bit pci cards as\nwell (this also retains symmetry with the 32bit code).\n\nSigned-off-by: Andrea Arcangeli \u003candrea@qumranet.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "448da4d262b5db90817ce853726ff4d9b0c2bf48",
      "tree": "01fecb0f9a1d89eb6c418320d3124d2ff92fae83",
      "parents": [
        "68d95b585f1b67b3c89ce0eb934e221ebeeb5c61"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Mar 04 11:30:18 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Mar 04 11:30:18 2008 +0100"
      },
      "message": "block: remove extern on function definition\n\nIntoduced between 2.6.25-rc2 and -rc3\nblock/blk-settings.c:319:12: warning: function \u0027blk_queue_dma_drain\u0027 with external linkage has definition\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "419c434c35614609fd0c79d335c134bf4b88b30b",
      "tree": "c2e076f6d0c61051dac3184f9f1255db1c680902",
      "parents": [
        "e3790c7d42a545e8fe8b38b513613ca96687b670"
      ],
      "author": {
        "name": "Yang Shi",
        "email": "yang.shi@windriver.com",
        "time": "Tue Mar 04 11:20:51 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Mar 04 11:20:51 2008 +0100"
      },
      "message": "Fix DMA access of block device in 64-bit kernel on some non-x86 systems with 4GB or upper 4GB memory\n\nFor some non-x86 systems with 4GB or upper 4GB memory,\nwe need increase the range of addresses that can be\nused for direct DMA in 64-bit kernel.\n\nSigned-off-by: Yang Shi \u003cyang.shi@windriver.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e3790c7d42a545e8fe8b38b513613ca96687b670",
      "tree": "0b849ba46007c4d7f7a34271a76d58e7406cbad7",
      "parents": [
        "7a85f8896f4b4a4a0249563b92af9e3161a6b467"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Mar 04 11:18:17 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Mar 04 11:18:17 2008 +0100"
      },
      "message": "block: separate out padding from alignment\n\nBlock layer alignment was used for two different purposes - memory\nalignment and padding.  This causes problems in lower layers because\ndrivers which only require memory alignment ends up with adjusted\nrq-\u003edata_len.  Separate out padding such that padding occurs iff\ndriver explicitly requests it.\n\nTomo: restorethe code to update bio in blk_rq_map_user\n      introduced by the commit 40b01b9bbdf51ae543a04744283bf2d56c4a6afa\n      according to padding alignment.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5d87a052c7e5f245bbb3018721b4b0afe0afc252",
      "tree": "3d24eaf1409518e1a0b36d8cd9e7131d5f5a8044",
      "parents": [
        "976dde010e513a9c7c3117a32b7b015f84b37430"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Feb 20 09:01:22 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Tue Mar 04 11:14:39 2008 +0100"
      },
      "message": "block: fix kernel-docbook parameters and files\n\nkernel-doc for block/:\n- add missing parameters\n- fix one function\u0027s parameter list (remove blank line)\n- add 2 source files to docbook for non-exported kernel-doc functions\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2fb98e8414c42cb14698833aac640b143b9ade4f",
      "tree": "ab241305b5ce3ea5ef3e76df7abe04b831cd9e34",
      "parents": [
        "6b00769fe1502b4ad97bb327ef7ac971b208bfb5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Feb 19 11:36:53 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Feb 19 11:36:53 2008 +0100"
      },
      "message": "block: implement request_queue-\u003edma_drain_needed\n\nDraining shouldn\u0027t be done for commands where overflow may indicate\ndata integrity issues.  Add dma_drain_needed callback to\nrequest_queue.  Drain buffer is appened iff this function returns\nnon-zero.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "52ff4cae65b45dcdfa23de09619754d6f380f31e",
      "tree": "090e67d7b0219d1f3a5c943a6d4e23df6920f18b",
      "parents": [
        "13341598263011e079386b22ea35e482f97714c0"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Feb 18 13:45:55 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Feb 19 10:04:00 2008 +0100"
      },
      "message": "make blk_settings_init() static\n\nblk_settings_init() can become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003caxboe@carl.home.kernel.dk\u003e\n"
    },
    {
      "commit": "6728cb0e6343d4068ccec13f07212e6382d3ff33",
      "tree": "5a7826dc91cf2d9cf54e8c24b40aa3c4d892c797",
      "parents": [
        "22b132102f1540dd40f3e41df88796829b685f1a"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jan 31 13:03:55 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 01 09:26:33 2008 +0100"
      },
      "message": "block: make core bits checkpatch compliant\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "86db1e29772372155db08ff48a9ceb76e11a2ad1",
      "tree": "312f38eb3245873c476c50f816b85610fef9615a",
      "parents": [
        "8324aa91d1e11a1fc25f209687a0b2e6c2ed47d0"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 14:53:40 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 21:55:08 2008 +0100"
      },
      "message": "block: continue ll_rw_blk.c splitup\n\nAdds files for barrier handling, rq execution, io context handling,\nmapping data to requests, and queue settings.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    }
  ]
}
