)]}'
{
  "log": [
    {
      "commit": "ee89f81252179dcbf6cd65bd48299f5e52292d88",
      "tree": "805846cd12821f84cfe619d44c9e3e36e0b0f9e6",
      "parents": [
        "21f3b24da9328415792efc780f50b9f434c12465",
        "de33127d8d3f1d570aad8c2223cd81b206636bc1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 28 12:52:24 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 28 12:52:24 2013 -0800"
      },
      "message": "Merge branch \u0027for-3.9/core\u0027 of git://git.kernel.dk/linux-block\n\nPull block IO core bits from Jens Axboe:\n \"Below are the core block IO bits for 3.9.  It was delayed a few days\n  since my workstation kept crashing every 2-8h after pulling it into\n  current -git, but turns out it is a bug in the new pstate code (divide\n  by zero, will report separately).  In any case, it contains:\n\n   - The big cfq/blkcg update from Tejun and and Vivek.\n\n   - Additional block and writeback tracepoints from Tejun.\n\n   - Improvement of the should sort (based on queues) logic in the plug\n     flushing.\n\n   - _io() variants of the wait_for_completion() interface, using\n     io_schedule() instead of schedule() to contribute to io wait\n     properly.\n\n   - Various little fixes.\n\n  You\u0027ll get two trivial merge conflicts, which should be easy enough to\n  fix up\"\n\nFix up the trivial conflicts due to hlist traversal cleanups (commit\nb67bfe0d42ca: \"hlist: drop the node parameter from iterators\").\n\n* \u0027for-3.9/core\u0027 of git://git.kernel.dk/linux-block: (39 commits)\n  block: remove redundant check to bd_openers()\n  block: use i_size_write() in bd_set_size()\n  cfq: fix lock imbalance with failed allocations\n  drivers/block/swim3.c: fix null pointer dereference\n  block: don\u0027t select PERCPU_RWSEM\n  block: account iowait time when waiting for completion of IO request\n  sched: add wait_for_completion_io[_timeout]\n  writeback: add more tracepoints\n  block: add block_{touch|dirty}_buffer tracepoint\n  buffer: make touch_buffer() an exported function\n  block: add @req to bio_{front|back}_merge tracepoints\n  block: add missing block_bio_complete() tracepoint\n  block: Remove should_sort judgement when flush blk_plug\n  block,elevator: use new hashtable implementation\n  cfq-iosched: add hierarchical cfq_group statistics\n  cfq-iosched: collect stats from dead cfqgs\n  cfq-iosched: separate out cfqg_stats_reset() from cfq_pd_reset_stats()\n  blkcg: make blkcg_print_blkgs() grab q locks instead of blkcg lock\n  block: RCU free request_queue\n  blkcg: implement blkg_[rw]stat_recursive_sum() and blkg_[rw]stat_merge()\n  ...\n"
    },
    {
      "commit": "5577022f4ed8973762450ebe7fe7ebfd953817db",
      "tree": "c6c965101e32bf2b36155da0fc0ad94c696d4606",
      "parents": [
        "686855f5d833178e518d79e7912cdb3268a9fa69"
      ],
      "author": {
        "name": "Vladimir Davydov",
        "email": "vdavydov@parallels.com",
        "time": "Thu Feb 14 18:19:59 2013 +0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Fri Feb 15 16:45:07 2013 +0100"
      },
      "message": "block: account iowait time when waiting for completion of IO request\n\nUsing wait_for_completion() for waiting for a IO request to be executed\nresults in wrong iowait time accounting. For example, a system having\nthe only task doing write() and fdatasync() on a block device can be\nreported being idle instead of iowaiting as it should because\nblkdev_issue_flush() calls wait_for_completion() which in turn calls\nschedule() that does not increment the iowait proc counter and thus does\nnot turn on iowait time accounting.\n\nThe patch makes block layer use wait_for_completion_io() instead of\nwait_for_completion() where appropriate to account iowait time\ncorrectly.\n\nSigned-off-by: Vladimir Davydov \u003cvdavydov@parallels.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "cf4aebc292fac7f34f8345664320e9d4a42ca76c",
      "tree": "6eceb9bb2d8382c4499366a8fee060688aad6107",
      "parents": [
        "b2c77a57e4a0a7877e357dead7ee8acc19944f3e"
      ],
      "author": {
        "name": "Clark Williams",
        "email": "williams@redhat.com",
        "time": "Thu Feb 07 09:46:59 2013 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Feb 07 20:50:54 2013 +0100"
      },
      "message": "sched: Move sched.h sysctl bits into separate header\n\nMove the sysctl-related bits from include/linux/sched.h into\na new file: include/linux/sched/sysctl.h. Then update source\nfiles requiring access to those bits by including the new\nheader file.\n\nSigned-off-by: Clark Williams \u003cwilliams@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLink: http://lkml.kernel.org/r/20130207094659.06dced96@riff.lan\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "60da5bf47dd3d301a1d3bd4f0a4b9e29a184515c",
      "tree": "30de83370440aae5350d9ab3fbe6583abd439ee8",
      "parents": [
        "3c2e81ef344a90bb0a39d84af6878b4aeff568a2",
        "cbae8d45d61f3a8c155caf267d01e5e0f0b2f4b7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 17 08:27:23 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 17 08:27:23 2012 -0800"
      },
      "message": "Merge branch \u0027for-3.8/core\u0027 of git://git.kernel.dk/linux-block\n\nPull block layer core updates from Jens Axboe:\n \"Here are the core block IO bits for 3.8.  The branch contains:\n\n   - The final version of the surprise device removal fixups from Bart.\n\n   - Don\u0027t hide EFI partitions under advanced partition types.  It\u0027s\n     fairly wide spread these days.  This is especially dangerous for\n     systems that have both msdos and efi partition tables, where you\n     want to keep them in sync.\n\n   - Cleanup of using -1 instead of the proper NUMA_NO_NODE\n\n   - Export control of bdi flusher thread CPU mask and default to using\n     the home node (if known) from Jeff.\n\n   - Export unplug tracepoint for MD.\n\n   - Core improvements from Shaohua.  Reinstate the recursive merge, as\n     the original bug has been fixed.  Add plugging for discard and also\n     fix a problem handling non pow-of-2 discard limits.\n\n  There\u0027s a trivial merge in block/blk-exec.c due to a fix that went\n  into 3.7-rc at a later point than -rc4 where this is based.\"\n\n* \u0027for-3.8/core\u0027 of git://git.kernel.dk/linux-block:\n  block: export block_unplug tracepoint\n  block: add plug for blkdev_issue_discard\n  block: discard granularity might not be power of 2\n  deadline: Allow 0ms deadline latency, increase the read speed\n  partitions: enable EFI/GPT support by default\n  bsg: Remove unused function bsg_goose_queue()\n  block: Make blk_cleanup_queue() wait until request_fn finished\n  block: Avoid scheduling delayed work on a dead queue\n  block: Avoid that request_fn is invoked on a dead queue\n  block: Let blk_drain_queue() caller obtain the queue lock\n  block: Rename queue dead flag\n  bdi: add a user-tunable cpu_list for the bdi flusher threads\n  block: use NUMA_NO_NODE instead of -1\n  block: recursive merge requests\n  block CFQ: avoid moving request to different queue\n"
    },
    {
      "commit": "c246e80d86736312933646896c4157daf511dadc",
      "tree": "183119080e120f5a3e98edf5bb824e940e5b8f18",
      "parents": [
        "807592a4fafba1fea6e98b9cf1fb02b7c38fb24c"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@acm.org",
        "time": "Thu Dec 06 14:32:01 2012 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Thu Dec 06 14:32:01 2012 +0100"
      },
      "message": "block: Avoid that request_fn is invoked on a dead queue\n\nA block driver may start cleaning up resources needed by its\nrequest_fn as soon as blk_cleanup_queue() finished, so request_fn\nmust not be invoked after draining finished. This is important\nwhen blk_run_queue() is invoked without any requests in progress.\nAs an example, if blk_drain_queue() and scsi_run_queue() run in\nparallel, blk_drain_queue() may have finished all requests after\nscsi_run_queue() has taken a SCSI device off the starved list but\nbefore that last function has had a chance to run the queue.\n\nSigned-off-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nCc: James Bottomley \u003cJBottomley@Parallels.com\u003e\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: Chanho Min \u003cchanho.min@lge.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "3f3299d5c0268d6cc3f47b446e8aca436e4a5651",
      "tree": "5c962e7f6c6f1e8f17b612bb4c144ec610abfd8e",
      "parents": [
        "8fa72d234da9b6b473bbb1f74d533663e4996e6b"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@acm.org",
        "time": "Wed Nov 28 13:42:38 2012 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Thu Dec 06 14:30:58 2012 +0100"
      },
      "message": "block: Rename queue dead flag\n\nQUEUE_FLAG_DEAD is used to indicate that queuing new requests must\nstop. After this flag has been set queue draining starts. However,\nduring the queue draining phase it is still safe to invoke the\nqueue\u0027s request_fn, so QUEUE_FLAG_DYING is a better name for this\nflag.\n\nThis patch has been generated by running the following command\nover the kernel source tree:\n\ngit grep -lEw \u0027blk_queue_dead|QUEUE_FLAG_DEAD\u0027 |\n    xargs sed -i.tmp -e \u0027s/blk_queue_dead/blk_queue_dying/g\u0027      \\\n        -e \u0027s/QUEUE_FLAG_DEAD/QUEUE_FLAG_DYING/g\u0027;                \\\nsed -i.tmp -e \"s/QUEUE_FLAG_DYING$(printf \\\\t)*5/QUEUE_FLAG_DYING$(printf \\\\t)5/g\" \\\n    include/linux/blkdev.h;                                       \\\nsed -i.tmp -e \u0027s/ DEAD/ DYING/g\u0027 -e \u0027s/dead queue/a dying queue/\u0027 \\\n    -e \u0027s/Dead queue/A dying queue/\u0027 block/blk-core.c\n\nSigned-off-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: James Bottomley \u003cJBottomley@Parallels.com\u003e\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Chanho Min \u003cchanho.min@lge.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "893d290f1d7496db97c9471bc352ad4a11dc8a25",
      "tree": "c6d5444d06949edfd5d13fa0beed0992dd2ae469",
      "parents": [
        "836413e8c78ecbc55aa31f3cb600f8ee1aa355a2"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Nov 22 02:00:11 2012 -0800"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Fri Nov 23 14:32:55 2012 +0100"
      },
      "message": "block: Don\u0027t access request after it might be freed\n\nAfter we\u0027ve done __elv_add_request() and __blk_run_queue() in\nblk_execute_rq_nowait(), the request might finish and be freed\nimmediately.  Therefore checking if the type is REQ_TYPE_PM_RESUME\nisn\u0027t safe afterwards, because if it isn\u0027t, rq might be gone.\nInstead, check beforehand and stash the result in a temporary.\n\nThis fixes crashes in blk_execute_rq_nowait() I get occasionally when\nrunning with lots of memory debugging options enabled -- I think this\nrace is usually harmless because the window for rq to be reallocated\nis so small.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "e81ca6fe85b77109a32489a5db82f575d51dfc98",
      "tree": "a881c5b85b07525f28cc546dfde2038cd900cb45",
      "parents": [
        "6548b0e5b875a07e32e924b22a7df3669892c75a"
      ],
      "author": {
        "name": "Muthukumar Ratty",
        "email": "muthur@gmail.com",
        "time": "Fri Jun 29 15:31:49 2012 +0000"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Fri Jul 20 08:58:39 2012 +0100"
      },
      "message": "[SCSI] block: Fix blk_execute_rq_nowait() dead queue handling\n\nIf the queue is dead blk_execute_rq_nowait() doesn\u0027t invoke the done()\ncallback function. That will result in blk_execute_rq() being stuck\nin wait_for_completion(). Avoid this by initializing rq-\u003eend_io to the\ndone() callback before we check the queue state. Also, make sure the\nqueue lock is held around the invocation of the done() callback. Found\nthis through source code review.\n\nSigned-off-by: Muthukumar Ratty \u003cmuthur@gmail.com\u003e\nSigned-off-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nReviewed-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "8ba61435d73f2274e12d4d823fde06735e8f6a54",
      "tree": "4b63993dc0fdc26918bd990fb47a142b8d24ef80",
      "parents": [
        "481a7d64790cd7ca61a8bbcbd9d017ce58e6fe39"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Dec 14 00:33:37 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Wed Dec 14 00:33:37 2011 +0100"
      },
      "message": "block: add missing blk_queue_dead() checks\n\nblk_insert_cloned_request(), blk_execute_rq_nowait() and\nblk_flush_plug_list() either didn\u0027t check whether the queue was dead\nor did it without holding queue_lock.  Update them so that dead state\nis checked while holding queue_lock.\n\nAFAICS, this plugs all holes (requeue doesn\u0027t matter as the request is\ntransitioning atomically from in_flight to queued).\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "34f6055c80285e4efb3f602a9119db75239744dc",
      "tree": "eb05185976c1941d196d259c3dfc2a4cfa7469d1",
      "parents": [
        "1ba64edef6051d2ec79bb2fbd3a0c8f0df00ab55"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Dec 14 00:33:37 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Wed Dec 14 00:33:37 2011 +0100"
      },
      "message": "block: add blk_queue_dead()\n\nThere are a number of QUEUE_FLAG_DEAD tests.  Add blk_queue_dead()\nmacro and use it.\n\nThis patch doesn\u0027t introduce any functional difference.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "bfe159a51203c15d23cb3158fffdc25ec4b4dda1",
      "tree": "553b2d7b1422545032cf3c048db7dff5f5c8dbd3",
      "parents": [
        "79b9677d885d1a792bc103f2febb06f91f92de43"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Thu Jul 07 15:45:40 2011 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Thu Jul 21 14:21:18 2011 -0700"
      },
      "message": "[SCSI] fix crash in scsi_dispatch_cmd()\n\nUSB surprise removal of sr is triggering an oops in\nscsi_dispatch_command().  What seems to be happening is that USB is\nhanging on to a queue reference until the last close of the upper\ndevice, so the crash is caused by surprise remove of a mounted CD\nfollowed by attempted unmount.\n\nThe problem is that USB doesn\u0027t issue its final commands as part of\nthe SCSI teardown path, but on last close when the block queue is long\ngone.  The long term fix is probably to make sr do the teardown in the\nsame way as sd (so remove all the lower bits on ejection, but keep the\nupper disk alive until last close of user space).  However, the\ncurrent oops can be simply fixed by not allowing any commands to be\nsent to a dead queue.\n\nCc: stable@kernel.org\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "addd0a09fc06179f2e02b4221775d9ab265c9fc7",
      "tree": "4e8c919a2937cd3d37d8a5c2f23e28ab130000a5",
      "parents": [
        "d4dc210f69bcb0b4bef5a83b1c323817be89bad1"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Thu May 05 15:10:05 2011 -0600"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu May 05 15:10:05 2011 -0600"
      },
      "message": "block: Remove \u0027plug/unplug\u0027 comment in blk_execute_rq_nowait\n\nunplug is replaced with blk_run_queue now in blk_execute_rq_nowait,\nso change the comment accordingly.\n\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "24ecfbe27f65563909b14492afda2f1c21f7c044",
      "tree": "a7e51d903c400d0925f87be5f3069a5a44e0af24",
      "parents": [
        "4521cc4ed5173f92714f6999a69910c3385fed68"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Apr 18 11:41:33 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Mon Apr 18 11:41:33 2011 +0200"
      },
      "message": "block: add blk_run_queue_async\n\nInstead of overloading __blk_run_queue to force an offload to kblockd\nadd a new blk_run_queue_async helper to do it explicitly.  I\u0027ve kept\nthe blk_queue_stopped check for now, but I suspect it\u0027s not needed\nas the check we do when the workqueue items runs should be enough.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "4c63f5646e405b5010cc9499419060bf2e838f5b",
      "tree": "df91ba315032c8ec4aafeb3ab96fdfa7c6c656e1",
      "parents": [
        "cafb0bfca1a73efd6d8a4a6a6a716e6134b96c24",
        "69d60eb96ae8a73cf9b79cf28051caf973006011"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:58:35 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:58:35 2011 +0100"
      },
      "message": "Merge branch \u0027for-2.6.39/stack-plug\u0027 into for-2.6.39/core\n\nConflicts:\n\tblock/blk-core.c\n\tblock/blk-flush.c\n\tdrivers/md/raid1.c\n\tdrivers/md/raid10.c\n\tdrivers/md/raid5.c\n\tfs/nilfs2/btnode.c\n\tfs/nilfs2/mdt.c\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "7eaceaccab5f40bbfda044629a6298616aeaed50",
      "tree": "33954d12f63e25a47eb6d86ef3d3d0a5e62bf752",
      "parents": [
        "73c101011926c5832e6e141682180c4debe2cf45"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:52:07 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:52:07 2011 +0100"
      },
      "message": "block: remove per-queue plugging\n\nCode has been converted over to the new explicit on-stack plugging,\nand delay users have been converted to use the new API for that.\nSo lets kill off the old plugging along with aops-\u003esync_page().\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "4b1977698ceb4c4caa800d475127139da49966f9",
      "tree": "9302bafc15dfb6d3923febaa982feb2cb12063cb",
      "parents": [
        "749ef9f8423054e326f3a246327ed2db4b6d395f"
      ],
      "author": {
        "name": "Mark Lord",
        "email": "kernel@teksavvy.com",
        "time": "Fri Sep 24 09:51:13 2010 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri Sep 24 15:52:09 2010 +0200"
      },
      "message": "block: Prevent hang_check firing during long I/O\n\nDuring long I/O operations, the hang_check timer may fire,\ntrigger stack dumps that unnecessarily alarm the user.\n\nEg.  hdparm --security-erase NULL /dev/sdb  ## can take *hours* to complete\n\nSo, if hang_check is armed, we should wake up periodically\nto prevent it from triggering.  This patch uses a wake-up interval\nequal to half the hang_check timer period, which keeps overhead low enough.\n\nSigned-off-by: Mark Lord \u003cmlord@pobox.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "33659ebbae262228eef4e0fe990f393d1f0ed941",
      "tree": "fcb537f09359c8dad3a6f6e16dc4319562dc42cc",
      "parents": [
        "7e005f79791dcd58436c88ded4a7f5aed1b82147"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sat Aug 07 18:17:56 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:17:56 2010 +0200"
      },
      "message": "block: remove wrappers for request type/flags\n\nRemove all the trivial wrappers for the cmd_type and cmd_flags fields in\nstruct requests.  This allows much easier grepping for different request\ntypes instead of unwinding through macros.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "e4025f6c21f1389696c069be2dc647f364925c45",
      "tree": "4d7ee21062293c9a9d398063c22339b47f581283",
      "parents": [
        "a7f557923441186a3cdbabc54f1bcacf42b63bf5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Apr 23 11:05:17 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:33 2009 +0200"
      },
      "message": "block: don\u0027t set REQ_NOMERGE unnecessarily\n\nRQ_NOMERGE_FLAGS already clears defines which REQ flags aren\u0027t\nmergeable.  There is no reason to specify it superflously.  It only\nadds to confusion.  Don\u0027t set REQ_NOMERGE for barriers and requests\nwith specific queueing directive.  REQ_NOMERGE is now exclusively used\nby the merging code.\n\n[ Impact: cleanup ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\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": "681a561b7ec7fdcd8f35b68e44ac6d6c70aecc04",
      "tree": "0bd31a85ccdbbae87f452448bd001e7a4c2b75da",
      "parents": [
        "52a93ba815737e3877f85b46850cffe993a22429"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Jul 15 21:21:45 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jul 15 21:21:45 2008 +0200"
      },
      "message": "block: unexport blk_end_sync_rq\n\nAll the users of blk_end_sync_rq has gone (they are converted to use\nblk_execute_rq). This unexports blk_end_sync_rq.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Borislav Petkov \u003cpetkovbb@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "9a2d43b7566caeeeb414aa628bc2759028897dbb",
      "tree": "829829bb1649b9727f600d076d55e349fd589511",
      "parents": [
        "64ea1b4ab7f51c5de601d291a51508c27d445f70"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jul 15 21:21:43 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Jul 15 21:21:43 2008 +0200"
      },
      "message": "block: handle blk_pm_resume_request() requests in blk_execute_rq_nowait()\n\nFor blk_pm_resume_request() requests (which are used only by IDE subsystem\ncurrently) the queue is stopped so we need to call -\u003erequest_fn explicitly.\n\nThanks to:\n- Rafael for reporting/bisecting the bug\n- Borislav/Rafael for testing the fix\n\nThis is a preparation for converting IDE to use blk_execute_rq().\n\nCc: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Borislav Petkov \u003cpetkovbb@gmail.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\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"
    }
  ]
}
