)]}'
{
  "log": [
    {
      "commit": "c69d48540c201394d08cb4d48b905e001313d9b8",
      "tree": "6ad78b44cd7fc5d65a0c3bded49f8cb14f4790a9",
      "parents": [
        "c2553b5844b06910435e40cfab9e6f384840cb97"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Apr 24 08:12:19 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:37 2009 +0200"
      },
      "message": "block: include discard requests in IO accounting\n\nWe currently don\u0027t do merging on discard requests, but we potentially\ncould. If we do, then we need to include discard requests in the IO\naccounting, or merging would end up decrementing in_flight IO counters\nfor an IO which never incremented them.\n\nSo enable accounting for discard requests.\n\nProblem found by Nikanth Karthikesan \u003cknikanth@suse.de\u003e\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c2553b5844b06910435e40cfab9e6f384840cb97",
      "tree": "00a6a1f0c056f19050a8b7c7a1db7b7e0e502062",
      "parents": [
        "731ec497e5888c6792ad62613ae9be97eebcd7ca"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Apr 24 08:10:11 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:37 2009 +0200"
      },
      "message": "block: make blk_do_io_stat() do the full \"is this rq accountable\" checks\n\nWe currently check for file system requests outside of blk_do_io_stat(rq),\nbut we may as well just include it.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "158dbda0068e63c7cce7bd47c123bd1dfa5a902c",
      "tree": "2665f31350ba4f0875c7611c980b0831c22d8c98",
      "parents": [
        "5efccd17ceb0fc43837a331297c2c407969d7201"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Apr 23 11:05:18 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:34 2009 +0200"
      },
      "message": "block: reorganize request fetching functions\n\nImpact: code reorganization\n\nelv_next_request() and elv_dequeue_request() are public block layer\ninterface than actual elevator implementation.  They mostly deal with\nhow requests interact with block layer and low level drivers at the\nbeginning of rqeuest processing whereas __elv_next_request() is the\nactual eleveator request fetching interface.\n\nMove the two functions to blk-core.c.  This prepares for further\ninterface cleanup.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "42dad7647aec49b3ad20dd0cb832b232a6ae514f",
      "tree": "b70d4cb7706f2647e65426e24f078ddf14d6e139",
      "parents": [
        "097102c2d04974bdfcfa16a5f3062d499842139c"
      ],
      "author": {
        "name": "Jerome Marchand",
        "email": "jmarchan@redhat.com",
        "time": "Wed Apr 22 14:01:49 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Apr 24 08:54:21 2009 +0200"
      },
      "message": "block: simplify I/O stat accounting\n\nThis simplifies I/O stat accounting switching code and separates it\ncompletely from I/O scheduler switch code.\n\nRequests are accounted according to the state of their request queue\nat the time of the request allocation. There is no need anymore to\nflush the request queue when switching I/O accounting state.\n\nSigned-off-by: Jerome Marchand \u003cjmarchan@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f600abe2de81628c40effbb3f8eaf5af0d291e57",
      "tree": "db8e27854110b68bac454d8dc79c756800dc4afb",
      "parents": [
        "8f3d8ba20e67991b531e9c0227dcd1f99271a32c"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 08 14:22:01 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 15 08:28:09 2009 +0200"
      },
      "message": "block: fix bad spelling of quiesce\n\nCredit goes to Andrew Morton for spotting this one.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "26308eab69aa193f7b3fb50764a64ae14544a39b",
      "tree": "758f6100395a23228d042c3a9d6f7dc1922d7530",
      "parents": [
        "6c7e8cee6a9128eeb7f83c3ad1cb243f77f5cb16"
      ],
      "author": {
        "name": "Jerome Marchand",
        "email": "jmarchan@redhat.com",
        "time": "Fri Mar 27 10:31:51 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 07 08:12:38 2009 +0200"
      },
      "message": "block: fix inconsistency in I/O stat accounting code\n\nThis forces in_flight to be zero when turning off or on the I/O stat\naccounting and stops updating I/O stats in attempt_merge() when\naccounting is turned off.\n\nSigned-off-by: Jerome Marchand \u003cjmarchan@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6c7e8cee6a9128eeb7f83c3ad1cb243f77f5cb16",
      "tree": "f57ac6ab9e57a4e3317a54d04c39151d3bb942cf",
      "parents": [
        "d508afb437daee7cf07da085b635c44a4ebf9b38"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Mar 27 10:30:47 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 07 08:12:37 2009 +0200"
      },
      "message": "block: elevator quiescing helpers\n\nSimple helper functions to quiesce the request queue. These are\ncurrently only used for switching IO schedulers on-the-fly, but\nwe can use them to properly switch IO accounting on and off as well.\n\nSigned-off-by: Jerome Marchand \u003cjmarchan@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c69fc56de1df5769f2ec69c915c7ad5afe63804c",
      "tree": "18cc8d2ad5d6643edf8b73a3a7d26c55b2125d25",
      "parents": [
        "d95c3578120e5bc4784069439f00ccb1b5f87717"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Mar 13 14:49:46 2009 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Mar 13 14:49:46 2009 +1030"
      },
      "message": "cpumask: use topology_core_cpumask/topology_thread_cpumask instead of cpu_core_map/cpu_sibling_map\n\nImpact: cleanup\n\nThis is presumably what those definitions are for, and while all archs\ndefine cpu_core_map/cpu_sibling map, that\u0027s changing (eg. x86 wants to\nchange it to a pointer).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "fb8ec18c316d869271137c97320dbfd2def56569",
      "tree": "8cf6a84747e10f0cf78a1cb73b1ea69681da0d70",
      "parents": [
        "45c82b5a770be66845687a7d027c8b52946d59af"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Feb 02 08:42:32 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Feb 02 08:42:32 2009 +0100"
      },
      "message": "block: fix oops in blk_queue_io_stat()\n\nSome initial probe requests don\u0027t have disk-\u003equeue mapped yet, so we\ncan\u0027t rely on a non-NULL queue in blk_queue_io_stat(). Wrap it in\nblk_do_io_stat().\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "be4d638c1597580ed2294d899d9f1a2cd10e462c",
      "tree": "2a4800b70c1e2a1249915f74f8e45f62de319457",
      "parents": [
        "9be3eec2c83848a1ca57ebad13c63c95d0df01e2"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Dec 26 22:23:43 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Dec 26 22:23:43 2008 +1030"
      },
      "message": "cpumask: Replace cpu_coregroup_map with cpu_coregroup_mask\n\ncpu_coregroup_map returned a cpumask_t: it\u0027s going away.\n\n(Note, the sched part of this patch won\u0027t apply meaningfully to the\nsched tree, but I\u0027m posting it to show the goal).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\n"
    },
    {
      "commit": "f73e2d13a16cc88c4faa4729967f92bfeec8a142",
      "tree": "6844c0e85b9b4ecdc8f2fc30ce8e7d2152d0c417",
      "parents": [
        "713ada9ba94f2ad874cffd074b83e3dc681ca82f"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Oct 17 14:03:08 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Oct 17 14:03:08 2008 +0200"
      },
      "message": "block: remove __generic_unplug_device() from exports\n\nThe only out-of-core user is IDE, and that should be using\nblk_start_queueing() instead.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "581d4e28d9195aa8b2231383dbabc288988d615e",
      "tree": "093bcac9a538ef67edcf91826f7532bdb88e6248",
      "parents": [
        "0a0d96b03a1f3bfd6bc3ea08008699e8e59fccd9"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sun Sep 14 05:56:33 2008 -0700"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:17 2008 +0200"
      },
      "message": "block: add fault injection mechanism for faking request timeouts\n\nOnly works for the generic request timer handling. Allows one to\nsporadically ignore request completions, thus exercising the timeout\nhandling.\n\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": "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": "7ba1ba12eeef0aa7113beb16410ef8b7c748e18b",
      "tree": "4629aabe88bf095d58eabd2f451207695bb35b08",
      "parents": [
        "51d654e1d885607a6edd02b337105fa5c28b6d33"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Mon Jun 30 20:04:41 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jul 03 13:21:13 2008 +0200"
      },
      "message": "block: Block layer data integrity support\n\nSome block devices support verifying the integrity of requests by way\nof checksums or other protection information that is submitted along\nwith the I/O.\n\nThis patch implements support for generating and verifying integrity\nmetadata, as well as correctly merging, splitting and cloning bios and\nrequests that have this extra information attached.\n\nSee Documentation/block/data-integrity.txt for more information.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2a4aa30c5f967eb6ae874c67fa6fceeee84815f9",
      "tree": "fddd67e3b3697874e2a19c0e8e194190957b0e1e",
      "parents": [
        "992b5bceee447a32ef2d617730ae0d03c063eedd"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Apr 29 09:54:36 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 29 14:48:55 2008 +0200"
      },
      "message": "block: rename and export rq_init()\n\nThis rename rq_init() blk_rq_init() and export it. Any path that hands\nthe request to the block layer needs to call it to initialize the\nrequest.\n\nThis is a preparation for large command support, which needs to\ninitialize the request in a proper way (that is, just doing a memset()\nwill not work).\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ff88972c850ced92b9c4c7f538d85829c741eeb0",
      "tree": "e7cfb7e15db26f35da6e982b934417f3909017a6",
      "parents": [
        "278caf0120a77e4398762357a8cc522d094fe2f2"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Mar 04 11:23:45 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Mar 04 11:28:29 2008 +0100"
      },
      "message": "proper prototype for blk_dev_init()\n\nThis patch adds a proper prototye for blk_dev_init() in block/blk.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d6d48196961729b79509dcaeeb0f0fb4fbb47d29",
      "tree": "e80f5cdc7f0d682a46b816f5a489357f7d622d62",
      "parents": [
        "db1d08c646e47f3c7835ecdabb51a906ec311f69"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 14:04:06 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 21:55:12 2008 +0100"
      },
      "message": "block: ll_rw_blk.c split, add blk-merge.c\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"
    },
    {
      "commit": "8324aa91d1e11a1fc25f209687a0b2e6c2ed47d0",
      "tree": "c63753df94b741d328840edabde74462591ca0b3",
      "parents": [
        "a168ee84c90b39ece357da127ab388f2f64db19c"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 14:51:59 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 21:55:07 2008 +0100"
      },
      "message": "block: split tag and sysfs handling from blk-core.c\n\nSeperates the tag and sysfs handling from ll_rw_blk.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    }
  ]
}
