)]}'
{
  "log": [
    {
      "commit": "6c5103890057b1bb781b26b7aae38d33e4c517d8",
      "tree": "e6e57961dcddcb5841acb34956e70b9dc696a880",
      "parents": [
        "3dab04e6978e358ad2307bca563fabd6c5d2c58b",
        "9d2e157d970a73b3f270b631828e03eb452d525e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 24 10:16:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 24 10:16:26 2011 -0700"
      },
      "message": "Merge branch \u0027for-2.6.39/core\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.39/core\u0027 of git://git.kernel.dk/linux-2.6-block: (65 commits)\n  Documentation/iostats.txt: bit-size reference etc.\n  cfq-iosched: removing unnecessary think time checking\n  cfq-iosched: Don\u0027t clear queue stats when preempt.\n  blk-throttle: Reset group slice when limits are changed\n  blk-cgroup: Only give unaccounted_time under debug\n  cfq-iosched: Don\u0027t set active queue in preempt\n  block: fix non-atomic access to genhd inflight structures\n  block: attempt to merge with existing requests on plug flush\n  block: NULL dereference on error path in __blkdev_get()\n  cfq-iosched: Don\u0027t update group weights when on service tree\n  fs: assign sb-\u003es_bdi to default_backing_dev_info if the bdi is going away\n  block: Require subsystems to explicitly allocate bio_set integrity mempool\n  jbd2: finish conversion from WRITE_SYNC_PLUG to WRITE_SYNC and explicit plugging\n  jbd: finish conversion from WRITE_SYNC_PLUG to WRITE_SYNC and explicit plugging\n  fs: make fsync_buffers_list() plug\n  mm: make generic_writepages() use plugging\n  blk-cgroup: Add unaccounted time to timeslice_used.\n  block: fixup plugging stubs for !CONFIG_BLOCK\n  block: remove obsolete comments for blkdev_issue_zeroout.\n  blktrace: Use rq-\u003ecmd_flags directly in blk_add_trace_rq.\n  ...\n\nFix up conflicts in fs/{aio.c,super.c}\n"
    },
    {
      "commit": "eba2ed9c9636d9e7ed203a2498ed230b48341709",
      "tree": "c989fdc098b09947888f67badbfeecb1e04cd1fc",
      "parents": [
        "805f6b5e1cbfedfb9b3d354013e7f4b13a79270f"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Fri Mar 11 20:13:54 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri Mar 11 20:13:54 2011 +0100"
      },
      "message": "block: remove obsolete comments for blkdev_issue_zeroout.\n\nbarrier is already removed, so remove the obsolete comments\nin blkdev_issue_zeroout.\n\nCc: Jens Axboe \u003cjaxboe@fusionio.com\u003e\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "0aeea18964173715a1037034ef6838198f319319",
      "tree": "62ff402a41a675f0269bf5172d14b7db8c4e47ee",
      "parents": [
        "9179746652faf0aba07b8b7f770dcf29892a24c6"
      ],
      "author": {
        "name": "Lukas Czerner",
        "email": "lczerner@redhat.com",
        "time": "Fri Mar 11 10:23:53 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri Mar 11 15:36:08 2011 +0100"
      },
      "message": "block: fix mis-synchronisation in blkdev_issue_zeroout()\n\nBZ29402\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d29402\n\nWe can hit serious mis-synchronization in bio completion path of\nblkdev_issue_zeroout() leading to a panic.\n\nThe problem is that when we are going to wait_for_completion() in\nblkdev_issue_zeroout() we check if the bb.done equals issued (number of\nsubmitted bios). If it does, we can skip the wait_for_completition()\nand just out of the function since there is nothing to wait for.\nHowever, there is a ordering problem because bio_batch_end_io() is\ncalling atomic_inc(\u0026bb-\u003edone) before complete(), hence it might seem to\nblkdev_issue_zeroout() that all bios has been completed and exit. At\nthis point when bio_batch_end_io() is going to call complete(bb-\u003ewait),\nbb and wait does not longer exist since it was allocated on stack in\nblkdev_issue_zeroout() \u003d\u003d\u003e panic!\n\n(thread 1)                      (thread 2)\nbio_batch_end_io()              blkdev_issue_zeroout()\n  if(bb) {                      ...\n    if (bb-\u003eend_io)             ...\n      bb-\u003eend_io(bio, err);     ...\n    atomic_inc(\u0026bb-\u003edone);      ...\n    ...                         while (issued !\u003d atomic_read(\u0026bb.done))\n    ...                         (let issued \u003d\u003d bb.done)\n    ...                         (do the rest of the function)\n    ...                         return ret;\n    complete(bb-\u003ewait);\n    ^^^^^^^^\n    panic\n\nWe can fix this easily by simplifying bio_batch and completion counting.\n\nAlso remove bio_end_io_t *end_io since it is not used.\n\nSigned-off-by: Lukas Czerner \u003clczerner@redhat.com\u003e\nReported-by: Eric Whitney \u003ceric.whitney@hp.com\u003e\nTested-by: Eric Whitney \u003ceric.whitney@hp.com\u003e\nReviewed-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nCC: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "291d24f6d9e7bbef81454fade8a44720665c7302",
      "tree": "8e23a24b51e9a0106cbd7e5375e53a972794b8cd",
      "parents": [
        "450adcbe518ab3a3953d8475309525d22de77cba"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Tue Mar 01 13:45:24 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Mar 01 13:45:24 2011 -0500"
      },
      "message": "block: fix kernel-doc format for blkdev_issue_zeroout\n\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "dd3932eddf428571762596e17b65f5dc92ca361b",
      "tree": "57cec5ae2f862037f78b7e993323d77955bb6463",
      "parents": [
        "8786fb70ccb36c7cff64680bb80c46d3a09d44db"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Sep 16 20:51:46 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Sep 16 20:52:58 2010 +0200"
      },
      "message": "block: remove BLKDEV_IFL_WAIT\n\nAll the blkdev_issue_* helpers can only sanely be used for synchronous\ncaller.  To issue cache flushes or barriers asynchronously the caller needs\nto set up a bio by itself with a completion callback to move the asynchronous\nstate machine ahead.  So drop the BLKDEV_IFL_WAIT flag that is always\nspecified when calling blkdev_issue_* and also remove the now unused flags\nargument to blkdev_issue_flush and blkdev_issue_zeroout.  For\nblkdev_issue_discard we need to keep it for the secure discard flag, which\ngains a more descriptive name and loses the bitops vs flag confusion.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "8c5553678237b7121355108e03c36086037d8975",
      "tree": "7ecbc41837bf2dac6010230839e3312d6d33dd35",
      "parents": [
        "31725e65c7214b52b607eba705fc4f306be4d5a5"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Aug 18 05:29:22 2010 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri Sep 10 12:35:40 2010 +0200"
      },
      "message": "block: remove the BLKDEV_IFL_BARRIER flag\n\nRemove support for barriers on discards, which is unused now.  Also\nremove the DISCARD_NOBARRIER I/O type in favour of just setting the\nrw flags up locally in blkdev_issue_discard.\n\ntj: Also remove DISCARD_SECURE and use REQ_SECURE directly.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nAcked-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "8d57a98ccd0b4489003473979da8f5a1363ba7a3",
      "tree": "2982997ce66bb6a92c020b7189966c3097095fd7",
      "parents": [
        "93caf8e69eac763f6a20cf253ace8e7fc1ab7953"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "adrian.hunter@nokia.com",
        "time": "Wed Aug 11 14:17:49 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 12 08:43:30 2010 -0700"
      },
      "message": "block: add secure discard\n\nSecure discard is the same as discard except that all copies of the\ndiscarded sectors (perhaps created by garbage collection) must also be\nerased.\n\nSigned-off-by: Adrian Hunter \u003cadrian.hunter@nokia.com\u003e\nAcked-by: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Kyungmin Park \u003ckmpark@infradead.org\u003e\nCc: Madhusudhan Chikkature \u003cmadhu.cr@ti.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Ben Gardiner \u003cbengardiner@nanometrics.ca\u003e\nCc: \u003clinux-mmc@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "18edc8eaa68070771bdb2098260e44efe74de722",
      "tree": "989c6560f5e9bf5e7156853fccb9c4e1bb30adaf",
      "parents": [
        "3383977fadc4027f20907f6208a9033cd043adab"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Fri Aug 06 13:23:25 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sun Aug 08 12:31:08 2010 -0400"
      },
      "message": "blkdev: fix blkdev_issue_zeroout return value\n\n- If function called without barrier option retvalue is incorrect\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "10d1f9e2ccfff40665a00ea0e0a0d11e54c9cbb1",
      "tree": "222c661376d8530a1bdf4e18cf5ff84267529bb3",
      "parents": [
        "f10d9f617a65905c556c3b37c9b9646ae7d04ed7"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Jul 15 10:49:31 2010 -0600"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:26:33 2010 +0200"
      },
      "message": "block: fix problem with sending down discard that isn\u0027t of correct granularity\n\nIf the queue doesn\u0027t have a limit set, or it just set UINT_MAX like\nwe default to, we coud be sending down a discard request that isn\u0027t\nof the correct granularity if the block size is \u003e 512b.\n\nFix this by adjusting max_discard_sectors down to the proper\nalignment.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "66ac0280197981f88774e74b60c8e5f9f07c1dba",
      "tree": "d093ce493146779926df88b5831805c6f9ee14e1",
      "parents": [
        "082439004b31adc146e96e5f1c574dd2b57dcd93"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 18 16:59:42 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:23:08 2010 +0200"
      },
      "message": "block: don\u0027t allocate a payload for discard request\n\nAllocating a fixed payload for discard requests always was a horrible hack,\nand it\u0027s not coming to byte us when adding support for discard in DM/MD.\n\nSo change the code to leave the allocation of a payload to the lowlevel\ndriver.  Unfortunately that means we\u0027ll need another hack, which allows\nus to update the various block layer length fields indicating that we\nhave a payload.  Instead of hiding this in sd.c, which we already partially\ndo for UNMAP support add a documented helper in the core block layer for it.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nAcked-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "0341aafb7f3313bcedc6811a098500be85f3fc77",
      "tree": "844d674e4f4a9f5200d71f0e71f15e1e9e0daad9",
      "parents": [
        "50eaeb323a170e231263ccb433bb2f99bd9e27ac"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 29 09:28:21 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 29 09:28:21 2010 +0200"
      },
      "message": "block: fix bad use of min() on different types\n\nJust cast the page size to sector_t, that will always fit.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3f14d792f9a8fede64ce918dbb517f934497a4f8",
      "tree": "1eb1d1803ebe21c05f38bc75c70ee966701a1fe8",
      "parents": [
        "f31e7e4022841c43c53b847b86b1bf97a08b2c94"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Wed Apr 28 17:55:09 2010 +0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 28 19:47:36 2010 +0200"
      },
      "message": "blkdev: add blkdev_issue_zeroout helper function\n\n- Add bio_batch helper primitive. This is rather generic primitive\n  for submitting/waiting a complex request which consists of several\n  bios.\n- blkdev_issue_zeroout() generate number of zero filed write bios.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f31e7e4022841c43c53b847b86b1bf97a08b2c94",
      "tree": "738821236a4e84f790d597bb2cc04bd812668b6a",
      "parents": [
        "f17e232e9237c231daf9f0f4b177c61218bcb2e4"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Wed Apr 28 17:55:08 2010 +0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 28 19:47:36 2010 +0200"
      },
      "message": "blkdev: move blkdev_issue helper functions to separate file\n\nMove blkdev_issue_discard from blk-barrier.c because it is\nnot barrier related.\nLater the file will be populated by other helpers.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    }
  ]
}
