)]}'
{
  "commit": "aeb6fafb8fa53266d70ca7474fcda2bdaf96524a",
  "tree": "ebe8e0c616a9dbfdfe5184b64d0150ea02d3d1b2",
  "parents": [
    "644b2d99b7a8677a56909a7b1fde31677eba4471"
  ],
  "author": {
    "name": "Jens Axboe",
    "email": "jens.axboe@oracle.com",
    "time": "Mon Apr 06 14:48:07 2009 +0200"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Mon Apr 06 08:04:54 2009 -0700"
  },
  "message": "block: Add flag for telling the IO schedulers NOT to anticipate more IO\n\nBy default, CFQ will anticipate more IO from a given io context if the\npreviously completed IO was sync. This used to be fine, since the only\nsync IO was reads and O_DIRECT writes. But with more \"normal\" sync writes\nbeing used now, we don\u0027t want to anticipate for those.\n\nAdd a bio/request flag that informs the IO scheduler that this is a sync\nrequest that we should not idle for. Introduce WRITE_ODIRECT specifically\nfor O_DIRECT writes, and make sure that the other sync writes set this\nflag.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c4198f083e5bfe75c185772634d1090a3534f5d1",
      "old_mode": 33188,
      "old_path": "block/blk-core.c",
      "new_id": "25572802dac2bccc42fff74b91a915b7bd001693",
      "new_mode": 33188,
      "new_path": "block/blk-core.c"
    },
    {
      "type": "modify",
      "old_id": "664ebfd092ec21f95cedc56b6a5259874db0399c",
      "old_mode": 33188,
      "old_path": "block/cfq-iosched.c",
      "new_id": "9e809345f71abd718cecc27f6fd4ea068ed4775c",
      "new_mode": 33188,
      "new_path": "block/cfq-iosched.c"
    },
    {
      "type": "modify",
      "old_id": "b6d43908ff7a890f741c3076308c1a9da965f59b",
      "old_mode": 33188,
      "old_path": "fs/direct-io.c",
      "new_id": "da258e7249cc718b8a46ddec08ba04a62e7e4790",
      "new_mode": 33188,
      "new_path": "fs/direct-io.c"
    },
    {
      "type": "modify",
      "old_id": "b05b1d4d17d2210c67f3ee5ea17b8528e5caf8b6",
      "old_mode": 33188,
      "old_path": "include/linux/bio.h",
      "new_id": "b900d2c67d29ad2dc490977a4d836a684d26fd04",
      "new_mode": 33188,
      "new_path": "include/linux/bio.h"
    },
    {
      "type": "modify",
      "old_id": "67dae3bd881c28c5aa0b2c9d427c0da834d494ad",
      "old_mode": 33188,
      "old_path": "include/linux/blkdev.h",
      "new_id": "e03660964e02002d1724a7fdaef14243407d620e",
      "new_mode": 33188,
      "new_path": "include/linux/blkdev.h"
    },
    {
      "type": "modify",
      "old_id": "ea0510978f764b1846745aabe2201bc007d960d3",
      "old_mode": 33188,
      "old_path": "include/linux/fs.h",
      "new_id": "cae5720f431c5625ee6f306fdc7b0b2c6d2d06bd",
      "new_mode": 33188,
      "new_path": "include/linux/fs.h"
    }
  ]
}
