)]}'
{
  "commit": "ab0fd1debe730ec9998678a0c53caefbd121ed10",
  "tree": "c44de6ef7d876a32c4f733fdc26d40cdcbf7d374",
  "parents": [
    "b59e64d0ddb756af57ea032383bfd393a286a8e8"
  ],
  "author": {
    "name": "Tejun Heo",
    "email": "tj@kernel.org",
    "time": "Fri Jul 03 12:56:18 2009 +0200"
  },
  "committer": {
    "name": "Jens Axboe",
    "email": "axboe@carl.(none)",
    "time": "Fri Jul 03 21:06:45 2009 +0200"
  },
  "message": "block: don\u0027t merge requests of different failfast settings\n\nBlock layer used to merge requests and bios with different failfast\nsettings.  This caused regular IOs to fail prematurely when they were\nmerged into failfast requests for readahead.\n\nNiel Lambrechts could trigger the problem semi-reliably on ext4 when\nresuming from STR.  ext4 uses readahead when reading inodes and\ncombined with the deterministic extra SATA PHY exception cycle during\nresume on the specific configuration, non-readahead inode read would\nfail causing ext4 errors.  Please read the following thread for\ndetails.\n\n  http://lkml.org/lkml/2009/5/23/21\n\nThis patch makes block layer reject merging if the failfast settings\ndon\u0027t match.  This is correct but likely to lower IO performance by\npreventing regular IOs from mingling into surrounding readahead\nrequests.  Changes to allow such mixed merges and handle errors\ncorrectly will be added later.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Niel Lambrechts \u003cniel.lambrechts@gmail.com\u003e\nCc: Theodore Tso \u003ctytso@mit.edu\u003e\nSigned-off-by: Jens Axboe \u003caxboe@carl.(none)\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "39ce64432ba6d4cdcff6427851fe19aac172a2d7",
      "old_mode": 33188,
      "old_path": "block/blk-merge.c",
      "new_id": "e1999679a4d5156b967729c5e2b6b229a8747954",
      "new_mode": 33188,
      "new_path": "block/blk-merge.c"
    },
    {
      "type": "modify",
      "old_id": "ca861927ba41b2dfc9ff80c139f6c8cc162fc251",
      "old_mode": 33188,
      "old_path": "block/elevator.c",
      "new_id": "6f2375339a996a794c17c96d0f32aa724fd1fae2",
      "new_mode": 33188,
      "new_path": "block/elevator.c"
    }
  ]
}
