)]}'
{
  "commit": "cb98fc8bb9c141009e2bda99c0db39d387e142cf",
  "tree": "8957f8a79f39c3e6633a0dbb165ced8b530aca0c",
  "parents": [
    "cb19833dccb32f97cacbfff834b53523915f13f6"
  ],
  "author": {
    "name": "Tejun Heo",
    "email": "htejun@gmail.com",
    "time": "Fri Oct 28 08:29:39 2005 +0200"
  },
  "committer": {
    "name": "Jens Axboe",
    "email": "axboe@nelson.home.kernel.dk",
    "time": "Fri Oct 28 08:48:12 2005 +0200"
  },
  "message": "[BLOCK] Reimplement elevator switch\n\n This patch reimplements elevator switch.  This patch assumes generic\ndispatch queue patchset is applied.\n\n * Each request is tagged with REQ_ELVPRIV flag if it has its elevator\n   private data set.\n * Requests which doesn\u0027t have REQ_ELVPRIV flag set never enter\n   iosched.  They are always directly back inserted to dispatch queue.\n   Of course, elevator_put_req_fn is called only for requests which\n   have its REQ_ELVPRIV set.\n * Request queue maintains the current number of requests which have\n   its elevator data set (elevator_set_req_fn called) in\n   q-\u003erq-\u003eelvpriv.\n * If a request queue has QUEUE_FLAG_BYPASS set, elevator private data\n   is not allocated for new requests.\n\n To switch to another iosched, we set QUEUE_FLAG_BYPASS and wait until\nelvpriv goes to zero; then, we attach the new iosched and clears\nQUEUE_FLAG_BYPASS.  New implementation is much simpler and main code\npaths are less cluttered, IMHO.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "af2388e73f614343a2ec6540085591f49084b0ee",
      "old_mode": 33188,
      "old_path": "drivers/block/elevator.c",
      "new_id": "272d939466211a73e0f97ef5f24b5a60e6d5586c",
      "new_mode": 33188,
      "new_path": "drivers/block/elevator.c"
    },
    {
      "type": "modify",
      "old_id": "d2a66fd309c3df6c323dbb00156450679e623227",
      "old_mode": 33188,
      "old_path": "drivers/block/ll_rw_blk.c",
      "new_id": "f7c9931cb3803e64590d6998e9645ffff153b6e2",
      "new_mode": 33188,
      "new_path": "drivers/block/ll_rw_blk.c"
    },
    {
      "type": "modify",
      "old_id": "159dbcd2eb5915e461ccdef889f5b00ef791cfd9",
      "old_mode": 33188,
      "old_path": "include/linux/blkdev.h",
      "new_id": "6186d5e2110fed06a5315a3692b75fdf21504b02",
      "new_mode": 33188,
      "new_path": "include/linux/blkdev.h"
    }
  ]
}
