)]}'
{
  "log": [
    {
      "commit": "99262a3dafa3290866512ddfb32609198f8973e9",
      "tree": "6f74764150cd9c38d9ffacbeb5054b696537e154",
      "parents": [
        "bf67f3a5c456a18f2e8d062f7e88506ef2cd9837",
        "c6190804f1dc5357b57825f0491eb31fc9ccf130"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 20:20:23 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 20:20:23 2012 -0700"
      },
      "message": "Merge tag \u0027virtio-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\nPull virtio updates from Rusty Russell.\n\n* tag \u0027virtio-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  virtio: fix typo in comment\n  virtio-mmio: Devices parameter parsing\n  virtio_blk: Drop unused request tracking list\n  virtio-blk: Fix hot-unplug race in remove method\n  virtio: Use ida to allocate virtio index\n  virtio: balloon: separate out common code between remove and freeze functions\n  virtio: balloon: drop restore_common()\n  9p: disconnect channel when PCI device is removed\n  virtio: update documentation to v0.9.5 of spec\n"
    },
    {
      "commit": "f65ca1dc6a8c81c6bd72297d4399ec5f4c1f3a01",
      "tree": "e2c1fe6ebc2ec6a9ee6b31f06404b5df2b9f6b3d",
      "parents": [
        "b79d866c8b7014a51f611a64c40546109beaf24a"
      ],
      "author": {
        "name": "Asias He",
        "email": "asias@redhat.com",
        "time": "Fri Mar 30 11:24:10 2012 +0800"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue May 22 12:16:14 2012 +0930"
      },
      "message": "virtio_blk: Drop unused request tracking list\n\nBenchmark shows small performance improvement on fusion io device.\n\nBefore:\n  seq-read : io\u003d1,024MB, bw\u003d19,982KB/s, iops\u003d39,964, runt\u003d 52475msec\n  seq-write: io\u003d1,024MB, bw\u003d20,321KB/s, iops\u003d40,641, runt\u003d 51601msec\n  rnd-read : io\u003d1,024MB, bw\u003d15,404KB/s, iops\u003d30,808, runt\u003d 68070msec\n  rnd-write: io\u003d1,024MB, bw\u003d14,776KB/s, iops\u003d29,552, runt\u003d 70963msec\n\nAfter:\n  seq-read : io\u003d1,024MB, bw\u003d20,343KB/s, iops\u003d40,685, runt\u003d 51546msec\n  seq-write: io\u003d1,024MB, bw\u003d20,803KB/s, iops\u003d41,606, runt\u003d 50404msec\n  rnd-read : io\u003d1,024MB, bw\u003d16,221KB/s, iops\u003d32,442, runt\u003d 64642msec\n  rnd-write: io\u003d1,024MB, bw\u003d15,199KB/s, iops\u003d30,397, runt\u003d 68991msec\n\nSigned-off-by: Asias He \u003casias@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "b79d866c8b7014a51f611a64c40546109beaf24a",
      "tree": "b20a73e60302c74e9a3e0663819cac6c52470c2b",
      "parents": [
        "90e03207f468e84258270ad07095ef50f925c17d"
      ],
      "author": {
        "name": "Asias He",
        "email": "asias@redhat.com",
        "time": "Fri May 04 20:22:04 2012 +0800"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue May 22 12:16:13 2012 +0930"
      },
      "message": "virtio-blk: Fix hot-unplug race in remove method\n\nIf we reset the virtio-blk device before the requests already dispatched\nto the virtio-blk driver from the block layer are finised, we will stuck\nin blk_cleanup_queue() and the remove will fail.\n\nblk_cleanup_queue() calls blk_drain_queue() to drain all requests queued\nbefore DEAD marking. However it will never success if the device is\nalready stopped. We\u0027ll have q-\u003ein_flight[] \u003e 0, so the drain will not\nfinish.\n\nHow to reproduce the race:\n1. hot-plug a virtio-blk device\n2. keep reading/writing the device in guest\n3. hot-unplug while the device is busy serving I/O\n\nTest:\n~1000 rounds of hot-plug/hot-unplug test passed with this patch.\n\nChanges in v3:\n- Drop blk_abort_queue and blk_abort_request\n- Use __blk_end_request_all to complete request dispatched to driver\n\nChanges in v2:\n- Drop req_in_flight\n- Use virtqueue_detach_unused_buf to get request dispatched to driver\n\nSigned-off-by: Asias He \u003casias@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "17eea0df5f7068fc04959e655ef8f0a0ed097e19",
      "tree": "d44b5cceb813dddfd1e62fe9f92556cf113d62fd",
      "parents": [
        "9b905fe68433378032b851c4d81a59187689fa52",
        "76e10d158efb6d4516018846f60c2ab5501900bc"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 20 21:53:04 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 20 21:53:04 2012 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "14e931a264498fbd4baef07ee0644e347252393b",
      "tree": "c202cd976f478fed3d7d786521ab3e32abdc0f9e",
      "parents": [
        "a2ae9787568ac50978c03ce67bfb79ad2e100cca",
        "05c69d298c96703741cac9a5cbbf6c53bd55a6e2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 19 10:12:17 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 19 10:12:17 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-block\n\nPull block layer fixes from Jens Axboe:\n \"A few small, but important fixes.  Most of them are marked for stable\n  as well\n\n   - Fix failure to release a semaphore on error path in mtip32xx.\n   - Fix crashable condition in bio_get_nr_vecs().\n   - Don\u0027t mark end-of-disk buffers as mapped, limit it to i_size.\n   - Fix for build problem with CONFIG_BLOCK\u003dn on arm at least.\n   - Fix for a buffer overlow on UUID partition printing.\n   - Trivial removal of unused variables in dac960.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-block:\n  block: fix buffer overflow when printing partition UUIDs\n  Fix blkdev.h build errors when BLOCK\u003dn\n  bio allocation failure due to bio_get_nr_vecs()\n  block: don\u0027t mark buffers beyond end of disk as mapped\n  mtip32xx: release the semaphore on an error path\n  dac960: Remove unused variables from DAC960_CreateProcEntries()\n"
    },
    {
      "commit": "028940342a906db8da014a7603a0deddc2c323dd",
      "tree": "688dbc38a3e218f2493d311b1d70a67668837347",
      "parents": [
        "be3eed2e96340d3c7a4d1ea1d63e7bd6095d1e34",
        "0e93b4b304ae052ba1bc73f6d34a68556fe93429"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 16 22:17:37 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 16 22:17:37 2012 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "a09ba13eefb155a00d8d50008a0c0a2406985ddd",
      "tree": "1afe2bddb155f43ac9cfbad623aa6550cc4d4e84",
      "parents": [
        "d88a440eddf288c967daed827147e1121c2ab6b5"
      ],
      "author": {
        "name": "Asai Thambi S P",
        "email": "asamymuthupa@micron.com",
        "time": "Mon Apr 16 21:27:55 2012 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Fri May 11 16:42:14 2012 +0200"
      },
      "message": "mtip32xx: release the semaphore on an error path\n\nRelease the semaphore in an error path in mtip_hw_get_scatterlist(). This\nfixes the smatch warning inconsistent returns.\n\nReported-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Asai Thambi S P \u003casamymuthupa@micron.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "d88a440eddf288c967daed827147e1121c2ab6b5",
      "tree": "7e3fbda80c793ff4b21abc1d01996abe5d87874e",
      "parents": [
        "d60b9c16d7bae49b75255520abd7dfd2e94627bc"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Mon Apr 16 21:27:54 2012 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Fri May 11 16:42:14 2012 +0200"
      },
      "message": "dac960: Remove unused variables from DAC960_CreateProcEntries()\n\nThe variables \u0027StatusProcEntry\u0027 and \u0027UserCommandProcEntry\u0027 are\nassigned to once and then never used. This patch gets rid of the\nvariables.\n\nWhile I was there I also fixed the indentation of the function to use\ntabs rather than spaces for the lines that did not already do so.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "38bf1953987c1735f3c9140fca762949a8cae507",
      "tree": "5596d88145226774633d3a2853b6d7caaeffa4f1",
      "parents": [
        "e0268868ba064980488fc8c194db3d8e9fb2959c"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri May 04 11:34:03 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 10 23:21:39 2012 -0400"
      },
      "message": "connector/userns: replace netlink uses of cap_raised() with capable()\n\nIn 2009 Philip Reiser notied that a few users of netlink connector\ninterface needed a capability check and added the idiom\ncap_raised(nsp-\u003eeff_cap, CAP_SYS_ADMIN) to a few of them, on the premise\nthat netlink was asynchronous.\n\nIn 2011 Patrick McHardy noticed we were being silly because netlink is\nsynchronous and removed eff_cap from the netlink_skb_params and changed\nthe idiom to cap_raised(current_cap(), CAP_SYS_ADMIN).\n\nLooking at those spots with a fresh eye we should be calling\ncapable(CAP_SYS_ADMIN).  The only reason I can see for not calling capable\nis that it once appeared we were not in the same task as the caller which\nwould have made calling capable() impossible.\n\nIn the initial user_namespace the only difference between between\ncap_raised(current_cap(), CAP_SYS_ADMIN) and capable(CAP_SYS_ADMIN) are a\nfew sanity checks and the fact that capable(CAP_SYS_ADMIN) sets\nPF_SUPERPRIV if we use the capability.\n\nSince we are going to be using root privilege setting PF_SUPERPRIV seems\nthe right thing to do.\n\nThe motivation for this that patch is that in a child user namespace\ncap_raised(current_cap(),...) tests your capabilities with respect to that\nchild user namespace not capabilities in the initial user namespace and\nthus will allow processes that should be unprivielged to use the kernel\nservices that are only protected with cap_raised(current_cap(),..).\n\nTo fix possible user_namespace issues and to just clean up the code\nreplace cap_raised(current_cap(), CAP_SYS_ADMIN) with\ncapable(CAP_SYS_ADMIN).\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nAcked-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nAcked-by: Andrew G. Morgan \u003cmorgan@kernel.org\u003e\nCc: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-by: James Morris \u003cjames.l.morris@oracle.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f24001941c99776f41bd3f09c07d91205c2ad9d4",
      "tree": "0ab31480ccdf343b61db045e195d096068ef7c73",
      "parents": [
        "a108d5f35adc5c5d5cdc882dc0bb920565551bff",
        "4d634ca35a8b38530b134ae92bc9e3cc9c23c030"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 23 23:14:36 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 23 23:15:17 2012 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nFix merge between commit 3adadc08cc1e (\"net ax25: Reorder ax25_exit to\nremove races\") and commit 0ca7a4c87d27 (\"net ax25: Simplify and\ncleanup the ax25 sysctl handling\")\n\nThe former moved around the sysctl register/unregister calls, the\nlater simply removed them.\n\nWith help from Stephen Rothwell.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4a17fd5229c1b6066aa478f6b690f8293ce811a1",
      "tree": "f6acd00935d2d7a990befb4c77f57fdf39f46689",
      "parents": [
        "59c55bdde856c4000bbeb33ba212c3df6f1997a4"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Thu Apr 19 03:39:36 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 21 15:52:25 2012 -0400"
      },
      "message": "sock: Introduce named constants for sk_reuse\n\nName them in a \"backward compatible\" manner, i.e. reuse or not\nare still 1 and 0 respectively. The reuse value of 2 means that\nthe socket with it will forcibly reuse everyone else\u0027s port.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c1acb0ba330b3bcf4b110c4ae538f4f80b991fda",
      "tree": "dd7d0de2f682b0e88c8636d1817f8f293cc76f5f",
      "parents": [
        "19244ad06b70ed84931df868583547ce1cd3a186",
        "3d81acb1cdb242378a1acb3eb1bc28c6bb5895f1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 20 11:31:00 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 20 11:31:00 2012 -0700"
      },
      "message": "Merge tag \u0027stable/for-linus-3.4-rc3-tag\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen\n\nPull xen fixes from Konrad Rzeszutek Wilk:\n - mechanism to work with misconfigured backends (where they are\n   advertised but in reality don\u0027t exist).\n - two tiny compile warning fixes.\n - proper error handling in gnttab_resume\n - Not using VM_PFNMAP anymore to allow backends in the same domain.\n\n* tag \u0027stable/for-linus-3.4-rc3-tag\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  Revert \"xen/p2m: m2p_find_override: use list_for_each_entry_safe\"\n  xen/resume: Fix compile warnings.\n  xen/xenbus: Add quirk to deal with misconfigured backends.\n  xen/blkback: Fix warning error.\n  xen/p2m: m2p_find_override: use list_for_each_entry_safe\n  xen/gntdev: do not set VM_PFNMAP\n  xen/grant-table: add error-handling code on failure of gnttab_resume\n"
    },
    {
      "commit": "a71e23d9925517e609dfcb72b5874f33cdb0d2ad",
      "tree": "6a9bbe0c5b97947aef8c0799701fd4e6e67a8eae",
      "parents": [
        "681e4a5e13c1c8315694eb4f44e0cdd84c9082d2"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Mon Apr 16 21:55:04 2012 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Wed Apr 18 15:54:08 2012 -0400"
      },
      "message": "xen/blkback: Fix warning error.\n\ndrivers/block/xen-blkback/xenbus.c: In function \u0027xen_blkbk_discard\u0027:\ndrivers/block/xen-blkback/xenbus.c:419:4: warning: passing argument 1 of \u0027dev_warn\u0027 makes pointer from integer without a cast\n+[enabled by default]\ninclude/linux/device.h:894:5: note: expected \u0027const struct device *\u0027 but argument is of type \u0027long int\u0027\n\nIt is unclear how that mistake made it in. It surely is wrong.\n\nAcked-by: Jens Axboe \u003caxboe@kernel.dk\u003e\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "cdd5983063cadf40db63117f4a299881b3bb71c1",
      "tree": "3acf64aaeeceb1e2e3b50749356c3cd05348e1a9",
      "parents": [
        "a6cb9ee7cabe68002c3f2ab07224ea27d2617cf1",
        "3ccc9372ed0fab33d20f10be3c1efd5776ff5913"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 16 18:34:12 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 16 18:34:12 2012 -0700"
      },
      "message": "Merge tag \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost\n\nPull virtio fixes from Michael S. Tsirkin:\n \"Here are some virtio fixes for 3.4: a test build fix, a patch by Ren\n  fixing naming for systems with a massive number of virtio blk devices,\n  and balloon fixes for powerpc by David Gibson.\n\n  There was some discussion about Ren\u0027s patch for virtio disc naming:\n  some people wanted to move the legacy name mangling function to the\n  block core.  But there\u0027s no concensus on that yet, and we can always\n  deduplicate later.  Added comments in the hope that this will stop\n  people from copying this legacy naming scheme into future drivers.\"\n\n* tag \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:\n  virtio_balloon: fix handling of PAGE_SIZE !\u003d 4k\n  virtio_balloon: Fix endian bug\n  virtio_blk: helper function to format disk names\n  tools/virtio: fix up vhost/test module build\n"
    },
    {
      "commit": "c104f1fa1ecf4ee0fc06e31b1f77630b2551be81",
      "tree": "31c9e009409cc0b26b6d69adf48d49b08aded978",
      "parents": [
        "d8dd0b6d4836bce81cece60509ef3b157a420776",
        "63634806519b49bb43f37e53a1e8366eb3e846a4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 13 18:45:13 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 13 18:45:13 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.4/drivers\u0027 of git://git.kernel.dk/linux-block\n\nPull block driver bits from Jens Axboe:\n\n - A series of fixes for mtip32xx.  Most from Asai at Micron, but also\n   one from Greg, getting rid of the dependency on PCIE_HOTPLUG.\n\n - A few bug fixes for xen-blkfront, and blkback.\n\n - A virtio-blk fix for Vivek, making resize actually work.\n\n - Two fixes from Stephen, making larger transfers possible on cciss.\n   This is needed for tape drive support.\n\n* \u0027for-3.4/drivers\u0027 of git://git.kernel.dk/linux-block:\n  block: mtip32xx: remove HOTPLUG_PCI_PCIE dependancy\n  mtip32xx: dump tagmap on failure\n  mtip32xx: fix handling of commands in various scenarios\n  mtip32xx: Shorten macro names\n  mtip32xx: misc changes\n  mtip32xx: Add new sysfs entry \u0027status\u0027\n  mtip32xx: make setting comp_time as common\n  mtip32xx: Add new bitwise flag \u0027dd_flag\u0027\n  mtip32xx: fix error handling in mtip_init()\n  virtio-blk: Call revalidate_disk() upon online disk resize\n  xen/blkback: Make optional features be really optional.\n  xen/blkback: Squash the discard support for \u0027file\u0027 and \u0027phy\u0027 type.\n  mtip32xx: fix incorrect value set for drv_cleanup_done, and re-initialize and start port in mtip_restart_port()\n  cciss: Fix scsi tape io with more than 255 scatter gather elements\n  cciss: Initialize scsi host max_sectors for tape drive support\n  xen-blkfront: make blkif_io_lock spinlock per-device\n  xen/blkfront: don\u0027t put bdev right after getting it\n  xen-blkfront: use bitmap_set() and bitmap_clear()\n  xen/blkback: Enable blkback on HVM guests\n  xen/blkback: use grant-table.c hypercall wrappers\n"
    },
    {
      "commit": "c0aa3e0916d7e531e69b02e426f7162dfb1c6c0f",
      "tree": "08968a635c4d43fb16c071cbcdbe25b302b85924",
      "parents": [
        "5e7045b010bdb56abbfe5714e8debf03a024c016"
      ],
      "author": {
        "name": "Ren Mingxin",
        "email": "renmx@cn.fujitsu.com",
        "time": "Tue Apr 10 15:28:05 2012 +0800"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Apr 12 10:37:05 2012 +0300"
      },
      "message": "virtio_blk: helper function to format disk names\n\nThe current virtio block\u0027s naming algorithm just supports 18278\n(26^3 + 26^2 + 26) disks. If there are more virtio blocks,\nthere will be disks with the same name.\n\nBased on commit 3e1a7ff8a0a7b948f2684930166954f9e8e776fe, add\na function \"virtblk_name_format()\" for virtio block to support mass\nof disks naming.\n\nNotes:\n- Our naming scheme is ugly. We are stuck with it\n  for virtio but don\u0027t use it for any new driver:\n  new drivers should name their devices PREFIX%d\n  where the sequence number can be allocated by ida\n- sd_format_disk_name has exactly the same logic.\n  Moving it to a central place was deferred over worries\n  that this will make people keep using the legacy naming\n  in new drivers.\n  We kept code idential in case someone wants to deduplicate later.\n\nSigned-off-by: Ren Mingxin \u003crenmx@cn.fujitsu.com\u003e\nAcked-by: Asias He \u003casias@redhat.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "63634806519b49bb43f37e53a1e8366eb3e846a4",
      "tree": "f33cfa5cf98b0c3de57eb9b6acf49f91fdca1722",
      "parents": [
        "95fea2f1d90626498e2495a81fe5aab7fba9fb3f"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Apr 12 08:47:05 2012 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Thu Apr 12 08:47:05 2012 +0200"
      },
      "message": "block: mtip32xx: remove HOTPLUG_PCI_PCIE dependancy\n\nThis removes the HOTPLUG_PCI_PCIE dependency on the driver and makes it\ndepend on PCI.\n\nCc: Sam Bradshaw \u003csbradshaw@micron.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nAcked-by: Asai Thambi S P \u003casamymuthupa@micron.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "95fea2f1d90626498e2495a81fe5aab7fba9fb3f",
      "tree": "fd3fe50db4390110c0e028cf81b4529fd2e60afb",
      "parents": [
        "c74b0f586fa3cbc92ca451836fd75ae7a3fa85ac"
      ],
      "author": {
        "name": "Asai Thambi S P",
        "email": "asamymuthupa@micron.com",
        "time": "Mon Apr 09 08:35:39 2012 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Mon Apr 09 08:35:39 2012 +0200"
      },
      "message": "mtip32xx: dump tagmap on failure\n\nDump tagmap on failure, instead of individual tags.\n\nSigned-off-by: Asai Thambi S P \u003casamymuthupa@micron.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "c74b0f586fa3cbc92ca451836fd75ae7a3fa85ac",
      "tree": "75d9e1086d2cc934568df2aef91ec552825adad5",
      "parents": [
        "8a857a880bd83ba4f217d55dd4a623a7e4b5cb47"
      ],
      "author": {
        "name": "Asai Thambi S P",
        "email": "asamymuthupa@micron.com",
        "time": "Mon Apr 09 08:35:39 2012 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Mon Apr 09 08:35:39 2012 +0200"
      },
      "message": "mtip32xx: fix handling of commands in various scenarios\n\n* If a ncq  command time out and a non-ncq command is active, skip restart port\n* Queue(pause) ncq commands during operations spanning more than one non-ncq commands - secure erase, download microcode\n* When a non-ncq command is active, allow incoming non-ncq commands to wait instead of failing back\n* Changed timeout for download microcode and smart commands\n* If the device in write protect mode, fail all writes (do not send to device)\n* Set maximum retries to 2\n\nSigned-off-by: Asai Thambi S P \u003casamymuthupa@micron.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "8a857a880bd83ba4f217d55dd4a623a7e4b5cb47",
      "tree": "931c0d39ef2d68f68edf27342c306490ea086f6c",
      "parents": [
        "8182b495281764ca518781e876c91900e75088d2"
      ],
      "author": {
        "name": "Asai Thambi S P",
        "email": "asamymuthupa@micron.com",
        "time": "Mon Apr 09 08:35:38 2012 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Mon Apr 09 08:35:38 2012 +0200"
      },
      "message": "mtip32xx: Shorten macro names\n\nShortened macros used to represent mtip_port-\u003eflags and dd-\u003edd_flag\n\nSigned-off-by: Asai Thambi S P \u003casamymuthupa@micron.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "8182b495281764ca518781e876c91900e75088d2",
      "tree": "10a48f6b5a9aaf3752362671c410ac684aa75011",
      "parents": [
        "f65872177d838a33e90cbae25625b9bec05134ca"
      ],
      "author": {
        "name": "Asai Thambi S P",
        "email": "asamymuthupa@micron.com",
        "time": "Mon Apr 09 08:35:38 2012 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Mon Apr 09 08:35:38 2012 +0200"
      },
      "message": "mtip32xx: misc changes\n\n* Handle the interrupt completion of polled internal commands\n* Do not check remove pending flag for standby command\n* On rebuild failure,\n    - set corresponding bit dd_flag\n    - do not send standby command\n* Free ida index in remove path\n\nSigned-off-by: Asai Thambi S P \u003casamymuthupa@micron.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "f65872177d838a33e90cbae25625b9bec05134ca",
      "tree": "e4cc29b3395f8c989b5821f132b2fdb91e9931a7",
      "parents": [
        "dad40f16ff683a10f4f2bea55a0b9fd86d3db58e"
      ],
      "author": {
        "name": "Asai Thambi S P",
        "email": "asamymuthupa@micron.com",
        "time": "Mon Apr 09 08:35:38 2012 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Mon Apr 09 08:35:38 2012 +0200"
      },
      "message": "mtip32xx: Add new sysfs entry \u0027status\u0027\n\n* Add support for detecting the following device status\n        - write protect\n        - over temp (thermal shutdown)\n* Add new sysfs entry \u0027status\u0027, possible values - online, write_protect, thermal_shutdown\n* Add new file \u0027sysfs-block-rssd\u0027 to document ABI (Reported-by: Greg Kroah-Hartman)\n\nSigned-off-by: Asai Thambi S P \u003casamymuthupa@micron.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "dad40f16ff683a10f4f2bea55a0b9fd86d3db58e",
      "tree": "f099fbebdca4df4b7d5421443f5f5a6ddd58a8e4",
      "parents": [
        "45038367c271f83b649b16551bf2d8174b203cb9"
      ],
      "author": {
        "name": "Asai Thambi S P",
        "email": "asamymuthupa@micron.com",
        "time": "Mon Apr 09 08:35:38 2012 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Mon Apr 09 08:35:38 2012 +0200"
      },
      "message": "mtip32xx: make setting comp_time as common\n\nMoved setting completion time into mtip_issue_ncq_command()\n\nSigned-off-by: Asai Thambi S P \u003casamymuthupa@micron.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "45038367c271f83b649b16551bf2d8174b203cb9",
      "tree": "3669503784863f51df047f82d4cbce1b4576e65e",
      "parents": [
        "6d27f09a6398ee086b11804aa3a16609876f0c7c"
      ],
      "author": {
        "name": "Asai Thambi S P",
        "email": "asamymuthupa@micron.com",
        "time": "Mon Apr 09 08:35:38 2012 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Mon Apr 09 08:35:38 2012 +0200"
      },
      "message": "mtip32xx: Add new bitwise flag \u0027dd_flag\u0027\n\n* Merged the following flags into one variable \u0027dd_flag\u0027:\n        * drv_cleanup_done\n        * resumeflag\n* Added the following flags into \u0027dd_flag\u0027\n        * remove pending\n        * init done\n* Removed \u0027ftlrebuildflag\u0027 (similar flag is already part of mti_port-\u003eflags)\n\nSigned-off-by: Asai Thambi S P \u003casamymuthupa@micron.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "9479f0f8018a0317b0b5e0c2b338bec6e26fdf2d",
      "tree": "7eab154e6eef458f0612b3f80604be73812e0737",
      "parents": [
        "1ddca05743525689421383d2dda1ec34df26157e",
        "f09d8432e39797abf39531f41ac8a46a3fbf442a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 06 17:54:53 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 06 17:54:53 2012 -0700"
      },
      "message": "Merge tag \u0027stable/for-linus-3.4-rc1-tag\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen\n\nPull xen fixes from Konrad Rzeszutek Wilk:\n \"Two fixes for regressions:\n   * one is a workaround that will be removed in v3.5 with proper fix in\n     the tip/x86 tree,\n   * the other is to fix drivers to load on PV (a previous patch made\n     them only load in PVonHVM mode).\n\n  The rest are just minor fixes in the various drivers and some cleanup\n  in the core code.\"\n\n* tag \u0027stable/for-linus-3.4-rc1-tag\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  xen/pcifront: avoid pci_frontend_enable_msix() falsely returning success\n  xen/pciback: fix XEN_PCI_OP_enable_msix result\n  xen/smp: Remove unnecessary call to smp_processor_id()\n  xen/x86: Workaround \u0027x86/ioapic: Add register level checks to detect bogus io-apic entries\u0027\n  xen: only check xen_platform_pci_unplug if hvm\n"
    },
    {
      "commit": "e95ae5a4939c52ccab02a49238d5d15d492b2598",
      "tree": "0b531cd78d48bc56d4046201094e164db7982d4e",
      "parents": [
        "df7a3ee29b775edd1c2d75cf0b128b174bd4091e"
      ],
      "author": {
        "name": "Igor Mammedov",
        "email": "imammedo@redhat.com",
        "time": "Tue Mar 27 19:31:08 2012 +0200"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Fri Apr 06 12:12:52 2012 -0400"
      },
      "message": "xen: only check xen_platform_pci_unplug if hvm\n\ncommit b9136d207f08\n  xen: initialize platform-pci even if xen_emul_unplug\u003dnever\n\nbreaks blkfront/netfront by not loading them because of\nxen_platform_pci_unplug\u003d0 and it is never set for PV guest.\n\nSigned-off-by: Andrew Jones \u003cdrjones@redhat.com\u003e\nSigned-off-by: Igor Mammedov \u003cimammedo@redhat.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "6d27f09a6398ee086b11804aa3a16609876f0c7c",
      "tree": "2303eacd5a35acec2d94cb0c2f25121e15acee9d",
      "parents": [
        "e9986f303dc0f285401de28cf96f42f4dd23a4a1"
      ],
      "author": {
        "name": "Ryosuke Saito",
        "email": "raitosyo@gmail.com",
        "time": "Thu Apr 05 08:09:34 2012 -0600"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Thu Apr 05 08:09:34 2012 -0600"
      },
      "message": "mtip32xx: fix error handling in mtip_init()\n\nEnsure that block device is properly unregistered, if\npci_register_driver() fails.\n\nSigned-off-by: Ryosuke Saito \u003craitosyo@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "f6365201d8a21fb347260f89d6e9b3e718d63c70",
      "tree": "539319cc79dcfb2fbc812c3acbda76f61a4a02fa",
      "parents": [
        "186e54cbe1145f4d11e32fe10e7e20a11f1b27dd"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Mar 29 14:49:17 2012 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Mar 30 08:50:27 2012 +0200"
      },
      "message": "x86: Remove the ancient and deprecated disable_hlt() and enable_hlt() facility\n\nThe X86_32-only disable_hlt/enable_hlt mechanism was used by the\n32-bit floppy driver. Its effect was to replace the use of the\nHLT instruction inside default_idle() with cpu_relax() - essentially\nit turned off the use of HLT.\n\nThis workaround was commented in the code as:\n\n \"disable hlt during certain critical i/o operations\"\n\n \"This halt magic was a workaround for ancient floppy DMA\n  wreckage. It should be safe to remove.\"\n\nH. Peter Anvin additionally adds:\n\n \"To the best of my knowledge, no-hlt only existed because of\n  flaky power distributions on 386/486 systems which were sold to\n  run DOS.  Since DOS did no power management of any kind,\n  including HLT, the power draw was fairly uniform; when exposed\n  to the much hhigher noise levels you got when Linux used HLT\n  caused some of these systems to fail.\n\n  They were by far in the minority even back then.\"\n\nAlan Cox further says:\n\n \"Also for the Cyrix 5510 which tended to go castors up if a HLT\n  occurred during a DMA cycle and on a few other boxes HLT during\n  DMA tended to go astray.\n\n  Do we care ? I doubt it. The 5510 was pretty obscure, the 5520\n  fixed it, the 5530 is probably the oldest still in any kind of\n  use.\"\n\nSo, let\u0027s finally drop this.\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\nSigned-off-by: Josh Boyer \u003cjwboyer@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nAcked-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Stephen Hemminger \u003cshemminger@vyatta.com\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: \u003cstable@kernel.org\u003e\nLink: http://lkml.kernel.org/n/tip-3rhk9bzf0x9rljkv488tloib@git.kernel.org\n[ If anyone cares then alternative instruction patching could be\n  used to replace HLT with a one-byte NOP instruction. Much simpler. ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "e9986f303dc0f285401de28cf96f42f4dd23a4a1",
      "tree": "2b13f119efc6984c70b7e3570c8cffde0c1f53c7",
      "parents": [
        "6674fb79ca9c19f5ee3d4cd683da2d9e09cfc9b8"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@redhat.com",
        "time": "Thu Mar 29 10:09:44 2012 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Thu Mar 29 10:09:44 2012 +0200"
      },
      "message": "virtio-blk: Call revalidate_disk() upon online disk resize\n\nIf a virtio disk is open in guest and a disk resize operation is done,\n(virsh blockresize), new size is not visible to tools like \"fdisk -l\".\nThis seems to be happening as we update only part-\u003enr_sects and not\nbdev-\u003ebd_inode size.\n\nCall revalidate_disk() which should take care of it. I tested growing disk\nsize of already open disk and it works for me.\n\nSigned-off-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "532bfc851a7475fb6a36c1e953aa395798a7cca7",
      "tree": "a7892e5a31330dd59f31959efbe9fda1803784fd",
      "parents": [
        "0195c00244dc2e9f522475868fa278c473ba7339",
        "8da00edc1069f01c34510fa405dc15d96c090a3f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:19:27 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:19:28 2012 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge third batch of patches from Andrew Morton:\n - Some MM stragglers\n - core SMP library cleanups (on_each_cpu_mask)\n - Some IPI optimisations\n - kexec\n - kdump\n - IPMI\n - the radix-tree iterator work\n - various other misc bits.\n\n \"That\u0027ll do for -rc1.  I still have ~10 patches for 3.4, will send\n  those along when they\u0027ve baked a little more.\"\n\n* emailed from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (35 commits)\n  backlight: fix typo in tosa_lcd.c\n  crc32: add help text for the algorithm select option\n  mm: move hugepage test examples to tools/testing/selftests/vm\n  mm: move slabinfo.c to tools/vm\n  mm: move page-types.c from Documentation to tools/vm\n  selftests/Makefile: make `run_tests\u0027 depend on `all\u0027\n  selftests: launch individual selftests from the main Makefile\n  radix-tree: use iterators in find_get_pages* functions\n  radix-tree: rewrite gang lookup using iterator\n  radix-tree: introduce bit-optimized iterator\n  fs/proc/namespaces.c: prevent crash when ns_entries[] is empty\n  nbd: rename the nbd_device variable from lo to nbd\n  pidns: add reboot_pid_ns() to handle the reboot syscall\n  sysctl: use bitmap library functions\n  ipmi: use locks on watchdog timeout set on reboot\n  ipmi: simplify locking\n  ipmi: fix message handling during panics\n  ipmi: use a tasklet for handling received messages\n  ipmi: increase KCS timeouts\n  ipmi: decrease the IPMI message transaction time in interrupt mode\n  ...\n"
    },
    {
      "commit": "f4507164e7796b66c371ff9a63154f1c884a2433",
      "tree": "d3ae02b15daf3cde6cd1a11ead7ee7cc97c8d07f",
      "parents": [
        "cf3f89214ef6a33fad60856bc5ffd7bb2fc4709b"
      ],
      "author": {
        "name": "Wanlong Gao",
        "email": "gaowanlong@cn.fujitsu.com",
        "time": "Wed Mar 28 14:42:51 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:37 2012 -0700"
      },
      "message": "nbd: rename the nbd_device variable from lo to nbd\n\nrename the nbd_device variable from \"lo\" to \"nbd\", since \"lo\" is just a name\ncopied from loop.c.\n\nSigned-off-by: Wanlong Gao \u003cgaowanlong@cn.fujitsu.com\u003e\nCc: Paul Clements \u003cpaul.clements@steeleye.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0195c00244dc2e9f522475868fa278c473ba7339",
      "tree": "f97ca98ae64ede2c33ad3de05ed7bbfa4f4495ed",
      "parents": [
        "f21ce8f8447c8be8847dadcfdbcc76b0d7365fa5",
        "141124c02059eee9dbc5c86ea797b1ca888e77f7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 15:58:21 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 15:58:21 2012 -0700"
      },
      "message": "Merge tag \u0027split-asm_system_h-for-linus-20120328\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system\n\nPull \"Disintegrate and delete asm/system.h\" from David Howells:\n \"Here are a bunch of patches to disintegrate asm/system.h into a set of\n  separate bits to relieve the problem of circular inclusion\n  dependencies.\n\n  I\u0027ve built all the working defconfigs from all the arches that I can\n  and made sure that they don\u0027t break.\n\n  The reason for these patches is that I recently encountered a circular\n  dependency problem that came about when I produced some patches to\n  optimise get_order() by rewriting it to use ilog2().\n\n  This uses bitops - and on the SH arch asm/bitops.h drags in\n  asm-generic/get_order.h by a circuituous route involving asm/system.h.\n\n  The main difficulty seems to be asm/system.h.  It holds a number of\n  low level bits with no/few dependencies that are commonly used (eg.\n  memory barriers) and a number of bits with more dependencies that\n  aren\u0027t used in many places (eg.  switch_to()).\n\n  These patches break asm/system.h up into the following core pieces:\n\n    (1) asm/barrier.h\n\n        Move memory barriers here.  This already done for MIPS and Alpha.\n\n    (2) asm/switch_to.h\n\n        Move switch_to() and related stuff here.\n\n    (3) asm/exec.h\n\n        Move arch_align_stack() here.  Other process execution related bits\n        could perhaps go here from asm/processor.h.\n\n    (4) asm/cmpxchg.h\n\n        Move xchg() and cmpxchg() here as they\u0027re full word atomic ops and\n        frequently used by atomic_xchg() and atomic_cmpxchg().\n\n    (5) asm/bug.h\n\n        Move die() and related bits.\n\n    (6) asm/auxvec.h\n\n        Move AT_VECTOR_SIZE_ARCH here.\n\n  Other arch headers are created as needed on a per-arch basis.\"\n\nFixed up some conflicts from other header file cleanups and moving code\naround that has happened in the meantime, so David\u0027s testing is somewhat\nweakened by that.  We\u0027ll find out anything that got broken and fix it..\n\n* tag \u0027split-asm_system_h-for-linus-20120328\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system: (38 commits)\n  Delete all instances of asm/system.h\n  Remove all #inclusions of asm/system.h\n  Add #includes needed to permit the removal of asm/system.h\n  Move all declarations of free_initmem() to linux/mm.h\n  Disintegrate asm/system.h for OpenRISC\n  Split arch_align_stack() out from asm-generic/system.h\n  Split the switch_to() wrapper out of asm-generic/system.h\n  Move the asm-generic/system.h xchg() implementation to asm-generic/cmpxchg.h\n  Create asm-generic/barrier.h\n  Make asm-generic/cmpxchg.h #include asm-generic/cmpxchg-local.h\n  Disintegrate asm/system.h for Xtensa\n  Disintegrate asm/system.h for Unicore32 [based on ver #3, changed by gxt]\n  Disintegrate asm/system.h for Tile\n  Disintegrate asm/system.h for Sparc\n  Disintegrate asm/system.h for SH\n  Disintegrate asm/system.h for Score\n  Disintegrate asm/system.h for S390\n  Disintegrate asm/system.h for PowerPC\n  Disintegrate asm/system.h for PA-RISC\n  Disintegrate asm/system.h for MN10300\n  ...\n"
    },
    {
      "commit": "47b816ff7d520509176154748713e7d66b3ad6ac",
      "tree": "6d14e8bf3a8d41f9d4cdd6ccdec91d3d6b046b05",
      "parents": [
        "2e7580b0e75d771d93e24e681031a165b1d31071",
        "1ce447b90f3e71c81ae59e0062bc305ef267668b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 14:41:36 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 14:41:36 2012 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\nPull a few more things for powerpc by Benjamin Herrenschmidt:\n - Anton\u0027s did some recent improvements to EPOW event reporting on\n   pSeries (power supply failures and such).  The patches are self\n   contained enough and replace really nasty code so I felt it should\n   still go in\n - I did the vio driver registration change Greg requested, I don\u0027t see\n   the point of leaving that til the next merge window\n - The remaining EEH changes I said were still pending to get rid of the\n   EEH references from the generic struct device_node\n - A few more iSeries removal bits\n - A perf bug fix on 970\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:\n  powerpc/perf: Fix instruction address sampling on 970 and Power4\n  powerpc+sparc/vio: Modernize driver registration\n  powerpc: Random little legacy iSeries removal tidy ups\n  powerpc: Remove NO_IRQ_IGNORE\n  powerpc/pseries: Cut down on enthusiastic use of defines in RAS code\n  powerpc/pseries: Clean up ras_error_interrupt code\n  powerpc/pseries: Remove RTAS_POWERMGM_EVENTS\n  powerpc/pseries: Use rtas_get_sensor in RAS code\n  powerpc/pseries: Parse and handle EPOW interrupts\n  powerpc: Make function that parses RTAS error logs global\n  powerpc/eeh: Retrieve PHB from global list\n  powerpc/eeh: Remove eeh information from pci_dn\n  powerpc/eeh: Remove eeh device from OF node\n"
    },
    {
      "commit": "9ffc93f203c18a70623f21950f1dd473c9ec48cd",
      "tree": "1eb3536ae183b0bfbf7f5152a6fe4f430ae881c2",
      "parents": [
        "96f951edb1f1bdbbc99b0cd458f9808bb83d58ae"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "message": "Remove all #inclusions of asm/system.h\n\nRemove all #inclusions of asm/system.h preparatory to splitting and killing\nit.  Performed with the following command:\n\nperl -p -i -e \u0027s!^#\\s*include\\s*\u003casm/system[.]h\u003e.*\\n!!\u0027 `grep -Irl \u0027^#\\s*include\\s*\u003casm/system[.]h\u003e\u0027 *`\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "56b59b429b4c26e5e730bc8c3d837de9f7d0a966",
      "tree": "191bf87e438a3985ccb7e3c5382fab8d31f94edb",
      "parents": [
        "9a7259d5c8978bbeb5fdcf64b168f8470d8208a6",
        "c666601a935b94cc0f3310339411b6940de751ba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 10:01:29 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 10:01:29 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\nPull Ceph updates for 3.4-rc1 from Sage Weil:\n \"Alex has been busy.  There are a range of rbd and libceph cleanups,\n  especially surrounding device setup and teardown, and a few critical\n  fixes in that code.  There are more cleanups in the messenger code,\n  virtual xattrs, a fix for CRC calculation/checks, and lots of other\n  miscellaneous stuff.\n\n  There\u0027s a patch from Amon Ott to make inos behave a bit better on\n  32-bit boxes, some decode check fixes from Xi Wang, and network\n  throttling fix from Jim Schutt, and a couple RBD fixes from Josh\n  Durgin.\n\n  No new functionality, just a lot of cleanup and bug fixing.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (65 commits)\n  rbd: move snap_rwsem to the device, rename to header_rwsem\n  ceph: fix three bugs, two in ceph_vxattrcb_file_layout()\n  libceph: isolate kmap() call in write_partial_msg_pages()\n  libceph: rename \"page_shift\" variable to something sensible\n  libceph: get rid of zero_page_address\n  libceph: only call kernel_sendpage() via helper\n  libceph: use kernel_sendpage() for sending zeroes\n  libceph: fix inverted crc option logic\n  libceph: some simple changes\n  libceph: small refactor in write_partial_kvec()\n  libceph: do crc calculations outside loop\n  libceph: separate CRC calculation from byte swapping\n  libceph: use \"do\" in CRC-related Boolean variables\n  ceph: ensure Boolean options support both senses\n  libceph: a few small changes\n  libceph: make ceph_tcp_connect() return int\n  libceph: encapsulate some messenger cleanup code\n  libceph: make ceph_msgr_wq private\n  libceph: encapsulate connection kvec operations\n  libceph: move prepare_write_banner()\n  ...\n"
    },
    {
      "commit": "cb52d8970eee65bf2c47d9a91bd4f58b17f595f4",
      "tree": "43521ba99805f293e09a284901cb5435afeab789",
      "parents": [
        "1d9a47315042606b4217691bcea36cfa6ccbde66"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Mar 26 19:06:30 2012 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Mar 28 11:33:24 2012 +1100"
      },
      "message": "powerpc+sparc/vio: Modernize driver registration\n\nThis makes vio_register_driver() get the module owner \u0026 name at compile\ntime like PCI drivers do, and adds a name pointer directly in struct\nvio_driver to avoid having to explicitly initialize the embedded\nstruct device.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6674fb79ca9c19f5ee3d4cd683da2d9e09cfc9b8",
      "tree": "3c859ee589529956c83f589ba31ce07e224b8425",
      "parents": [
        "22be2e6e13ac09b20000582ac34d47fb0029a6da",
        "3389bb8bf76180eecaffdfa7dd5b35fa4a2ce9b5"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Mon Mar 26 09:13:14 2012 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Mon Mar 26 09:13:14 2012 +0200"
      },
      "message": "Merge branch \u0027stable/for-jens-3.4-bugfixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen into for-3.4/drivers\n\nKonrad writes:\n\nI\u0027ve two small fixes for the xen-blkback - and I think one more will show up\neventually (a partial revert), but not sure when. So in the spirit of keeping\nthe patches flowing, please git pull the following branch.\n"
    },
    {
      "commit": "e22057c8599373e5caef0bc42bdb95d2a361ab0d",
      "tree": "04e9f51835f4d5c08aada38597c30de1113c03d9",
      "parents": [
        "496b919b3bdd957d4b1727df79bfa3751bced1c1",
        "df7a3ee29b775edd1c2d75cf0b128b174bd4091e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 12:20:25 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 12:20:25 2012 -0700"
      },
      "message": "Merge tag \u0027stable/for-linus-3.4-tag-two\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen\n\nPull more xen updates from Konrad Rzeszutek Wilk:\n \"One tiny feature that accidentally got lost in the initial git pull:\n   * Add fast-EOI acking of interrupts (clear a bit instead of\n     hypercall)\n  And bug-fixes:\n   * Fix CPU bring-up code missing a call to notify other subsystems.\n   * Fix reading /sys/hypervisor even if PVonHVM drivers are not loaded.\n   * In Xen ACPI processor driver: remove too verbose WARN messages, fix\n     up the Kconfig dependency to be a module by default, and add\n     dependency on CPU_FREQ.\n   * Disable CPU frequency drivers from loading when booting under Xen\n     (as we want the Xen ACPI processor to be used instead).\n   * Cleanups in tmem code.\"\n\n* tag \u0027stable/for-linus-3.4-tag-two\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  xen/acpi: Fix Kconfig dependency on CPU_FREQ\n  xen: initialize platform-pci even if xen_emul_unplug\u003dnever\n  xen/smp: Fix bringup bug in AP code.\n  xen/acpi: Remove the WARN\u0027s as they just create noise.\n  xen/tmem: cleanup\n  xen: support pirq_eoi_map\n  xen/acpi-processor: Do not depend on CPU frequency scaling drivers.\n  xen/cpufreq: Disable the cpu frequency scaling drivers from loading.\n  provide disable_cpufreq() function to disable the API.\n"
    },
    {
      "commit": "3389bb8bf76180eecaffdfa7dd5b35fa4a2ce9b5",
      "tree": "df274847cbd18b73bf45dde17dd17dd6a1e18a9b",
      "parents": [
        "4dae76705fc8f9854bb732f9944e7ff9ba7a8e9f"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Wed Mar 14 13:04:00 2012 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Sat Mar 24 10:04:36 2012 -0400"
      },
      "message": "xen/blkback: Make optional features be really optional.\n\nThey were using the xenbus_dev_fatal() function which would\nchange the state of the connection immediately. Which is not\nwhat we want when we advertise optional features.\n\nSo make \u0027feature-discard\u0027,\u0027feature-barrier\u0027,\u0027feature-flush-cache\u0027\noptional.\n\nSuggested-by: Jan Beulich \u003cJBeulich@suse.com\u003e\n[v1: Made the discard function void and static]\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "4dae76705fc8f9854bb732f9944e7ff9ba7a8e9f",
      "tree": "e08b16f2ade9d05ac84e7ed8a36a10269dda4569",
      "parents": [
        "bc67f63650fad6b3478d9ddfd5406d45a95987c9"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Tue Mar 13 18:43:23 2012 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Sat Mar 24 10:04:35 2012 -0400"
      },
      "message": "xen/blkback: Squash the discard support for \u0027file\u0027 and \u0027phy\u0027 type.\n\nThe only reason for the distinction was for the special case of\n\u0027file\u0027 (which is assumed to be loopback device), was to reach inside\nthe loopback device, find the underlaying file, and call fallocate on it.\nFortunately \"xen-blkback: convert hole punching to discard request on\nloop devices\" removes that use-case and we now based the discard\nsupport based on blk_queue_discard(q) and extract all appropriate\nparameters from the \u0027struct request_queue\u0027.\n\nCC: Li Dongyang \u003clidongyang@novell.com\u003e\nAcked-by: Jan Beulich \u003cJBeulich@suse.com\u003e\n[v1: Dropping pointless initializer and keeping blank line]\n[v2: Remove the kfree as it is not used anymore]\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "70834d3070c3f3015ab5c05176d54bd4a0100546",
      "tree": "4dbcea84c4584de05f83aa911164902b3f00265f",
      "parents": [
        "a02d6fd643cbd4c559113b35b31d3b04e4ec60c7"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 23 15:02:46 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:41 2012 -0700"
      },
      "message": "usermodehelper: use UMH_WAIT_PROC consistently\n\nA few call_usermodehelper() callers use the hardcoded constant instead of\nthe proper UMH_WAIT_PROC, fix them.\n\nReported-by: Tetsuo Handa \u003cpenguin-kernel@i-love.sakura.ne.jp\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Lars Ellenberg \u003cdrbd-dev@lists.linbit.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: Michal Januszewski \u003cspock@gentoo.org\u003e\nCc: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\u003e\nCc: Kentaro Takeda \u003ctakedakn@nttdata.co.jp\u003e\nCc: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "22be2e6e13ac09b20000582ac34d47fb0029a6da",
      "tree": "1dde3b0a30e6c60721967b686c8ee2870ac5b428",
      "parents": [
        "bc67f63650fad6b3478d9ddfd5406d45a95987c9"
      ],
      "author": {
        "name": "Asai Thambi S P",
        "email": "asamymuthupa@micron.com",
        "time": "Fri Mar 23 12:33:03 2012 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Fri Mar 23 12:33:03 2012 +0100"
      },
      "message": "mtip32xx: fix incorrect value set for drv_cleanup_done, and re-initialize and start port in mtip_restart_port()\n\nThis patch includes two changes:\n\t* fix incorrect value set for drv_cleanup_done\n\t* re-initialize and start port in mtip_restart_port()\n\nSigned-off-by: Asai Thambi S P \u003casamymuthupa@micron.com\u003e\nSigned-off-by: Sam Bradshaw \u003csbradshaw@micron.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "bc67f63650fad6b3478d9ddfd5406d45a95987c9",
      "tree": "040a67806fb15a6a3d0d013b434dee8aa5c9e6b3",
      "parents": [
        "395d287526bb60411ff37b19ad9dd38b58ba8732"
      ],
      "author": {
        "name": "Stephen M. Cameron",
        "email": "scameron@beardog.cce.hp.com",
        "time": "Thu Mar 22 21:40:09 2012 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Thu Mar 22 21:40:09 2012 +0100"
      },
      "message": "cciss: Fix scsi tape io with more than 255 scatter gather elements\n\nThe total number of scatter gather elements in the CISS command\nused by the scsi tape code was being cast to a u8, which can hold\nat most 255 scatter gather elements.  It should have been cast to\na u16.  Without this patch the command gets rejected by the controller\nsince the total scatter gather count did not add up to the right\nvalue resulting in an i/o error.\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cce.hp.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "395d287526bb60411ff37b19ad9dd38b58ba8732",
      "tree": "b6fa22aa9b933e728725f8f7684f8f3d34c5376f",
      "parents": [
        "3467811e26660eb46bc655234573d22d6876d5f9"
      ],
      "author": {
        "name": "Stephen M. Cameron",
        "email": "scameron@beardog.cce.hp.com",
        "time": "Thu Mar 22 21:40:08 2012 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Thu Mar 22 21:40:08 2012 +0100"
      },
      "message": "cciss: Initialize scsi host max_sectors for tape drive support\n\nThe default is too small (1024 blocks), use h-\u003ecciss_max_sectors (8192 blocks)\nWithout this change, if you try to set the block size of a tape drive above\n512*1024, via \"mt -f /dev/st0 setblk nnn\" where nnn is greater than 524288,\nit won\u0027t work right.\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cce.hp.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "c666601a935b94cc0f3310339411b6940de751ba",
      "tree": "da8afdd9c553dc349f1a1cdd94ab05d4b5dc5449",
      "parents": [
        "3489b42a72a41d477665ab37f196ae9257180abb"
      ],
      "author": {
        "name": "Josh Durgin",
        "email": "josh.durgin@dreamhost.com",
        "time": "Mon Nov 21 17:11:12 2011 -0800"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:52 2012 -0500"
      },
      "message": "rbd: move snap_rwsem to the device, rename to header_rwsem\n\nA new temporary header is allocated each time the header changes, but\nonly the changed properties are copied over. We don\u0027t need a new\nsemaphore for each header update.\n\nThis addresses http://tracker.newdream.net/issues/2174\n\nSigned-off-by: Josh Durgin \u003cjosh.durgin@dreamhost.com\u003e\nReviewed-by: Alex Elder \u003celder@dreamhost.com\u003e\n"
    },
    {
      "commit": "32eec68d2f233e8a6ae1cd326022f6862e2b9ce3",
      "tree": "03a1f313541374d091bfa09e6028f18bb8c77c18",
      "parents": [
        "593a9e7b34fa62d703b473ae923a9681556cdf74"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Wed Feb 08 16:11:14 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:50 2012 -0500"
      },
      "message": "rbd: don\u0027t drop the rbd_id too early\n\nCurrently an rbd device\u0027s id is released when it is removed, but it\nis done before the code is run to clean up sysfs-related files (such\nas /sys/bus/rbd/devices/1).\n\nIt\u0027s possible that an rbd is still in use after the rbd_remove()\ncall has been made.  It\u0027s essentially the same as an active inode\nthat stays around after it has been removed--until its final close\noperation.  This means that the id shows up as free for reuse at a\ntime it should not be.\n\nThe effect of this was seen by Jens Rehpoehler, who:\n    - had a filesystem mounted on an rbd device\n    - unmapped that filesystem (without unmounting)\n    - found that the mount still worked properly\n    - but hit a panic when he attempted to re-map a new rbd device\n\nThis re-map attempt found the previously-unmapped id available.\nThe subsequent attempt to reuse it was met with a panic while\nattempting to (re-)install the sysfs entry for the new mapped\ndevice.\n\nFix this by holding off \"putting\" the rbd id, until the rbd_device\nrelease function is called--when the last reference is finally\ndropped.\n\nNote: This fixes: http://tracker.newdream.net/issues/1907\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "593a9e7b34fa62d703b473ae923a9681556cdf74",
      "tree": "966050a350368a6c622e45a3ddd7d4fe5f857d08",
      "parents": [
        "00f1f36ffa29a6b8e0529770bce2a44585ab3af0"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Tue Feb 07 12:03:37 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:50 2012 -0500"
      },
      "message": "rbd: small changes\n\nHere is another set of small code tidy-ups:\n    - Define SECTOR_SHIFT and SECTOR_SIZE, and use these symbolic\n      names throughout.  Tell the blk_queue system our physical\n      block size, in the (unlikely) event we want to use something\n      other than the default.\n    - Delete the definition of struct rbd_info, which is never used.\n    - Move the definition of dev_to_rbd() down in its source file,\n      just above where it gets first used, and change its name to\n      dev_to_rbd_dev().\n    - Replace an open-coded operation in rbd_dev_release() to use\n      dev_to_rbd_dev() instead.\n    - Calculate the segment size for a given rbd_device just once in\n      rbd_init_disk().\n    - Use the \u0027%zd\u0027 conversion specifier in rbd_snap_size_show(),\n      since the value formatted is a size_t.\n    - Switch to the \u0027%llu\u0027 conversion specifier in rbd_snap_id_show().\n      since the value formatted is unsigned.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\n"
    },
    {
      "commit": "00f1f36ffa29a6b8e0529770bce2a44585ab3af0",
      "tree": "573bed76392a12b4568adcf704ec7b77e108be08",
      "parents": [
        "fed4c143ba8f08c8bddfdc7c69738e691a06d565"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Tue Feb 07 12:03:36 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:50 2012 -0500"
      },
      "message": "rbd: do some refactoring\n\nA few blocks of code are rearranged a bit here:\n    - In rbd_header_from_disk():\n\t- Don\u0027t bother computing snap_count until we\u0027re sure the\n\t  on-disk header starts with a good signature.\n\t- Move a few independent lines of code so they are *after* a\n\t  check for a failed memory allocation.\n\t- Get rid of unnecessary local variable \"ret\".\n    - Make a few other changes in rbd_read_header(), similar to the\n      above--just moving things around a bit while preserving the\n      functionality.\n    - In rbd_rq_fn(), just assign rq in the while loop\u0027s controlling\n      expression rather than duplicating it before and at the end of\n      the loop body.  This allows the use of \"continue\" rather than\n      \"goto next\" in a number of spots.\n    - Rearrange the logic in snap_by_name().  End result is the same.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\n"
    },
    {
      "commit": "fed4c143ba8f08c8bddfdc7c69738e691a06d565",
      "tree": "2c4e649eaa7ea7a73fa29d603c019d7df7fa287a",
      "parents": [
        "7ef3214af220515b8fe223ec92ec017d2e5607a7"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Tue Feb 07 12:03:36 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:50 2012 -0500"
      },
      "message": "rbd: fix module sysfs setup/teardown code\n\nOnce rbd_bus_type is registered, it allows an \"add\" operation via\nthe /sys/bus/rbd/add bus attribute, and adding a new rbd device that\nway establishes a connection between the device and rbd_root_dev.\nBut rbd_root_dev is not registered until after the rbd_bus_type\nregistration is complete.  This could (in principle anyway) result\nin an invalid state.\n\nSince rbd_root_dev has no tie to rbd_bus_type we can reorder these\ntwo initializations and never be faced with this scenario.\n\nIn addition, unregister the device in the event the bus registration\nfails at module init time.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "7ef3214af220515b8fe223ec92ec017d2e5607a7",
      "tree": "74911dc83a10f824d0e2cbd83896bb32b0fc566b",
      "parents": [
        "5214ecc45cf9b9f1365b189bcb63e441e3865334"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Feb 02 08:13:30 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:50 2012 -0500"
      },
      "message": "rbd: don\u0027t allocate mon_addrs buffer in rbd_add()\n\nThe mon_addrs buffer in rbd_add is used to hold a copy of the\nmonitor IP addresses supplied via /sys/bus/rbd/add.  That is\npassed to rbd_get_client(), which never modifies it (nor do\nany of the functions it gets passed to thereafter)--the mon_addr\nparameter to rbd_get_client() is a pointer to constant data, so it\ncan\u0027t be modifed.  Furthermore, rbd_get_client() has the length of\nthe mon_addrs buffer and that is used to ensure nothing goes beyond\nits end.\n\nBased on all this, there is no reason that a buffer needs to\nbe used to hold a copy of the mon_addrs provided via\n/sys/bus/rbd/add.   Instead, the location within that passed-in\nbuffer can be provided, along with the length of the \"token\"\ntherein which represents the monitor IP\u0027s.\n\nA small change to rbd_add_parse_args() allows the address within the\nbuffer to be passed back, and the length is already returned.  This\nnow means that, at least from the perspective of this interface,\nthere is no such thing as a list of monitor addresses that is too\nlong.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\n"
    },
    {
      "commit": "5214ecc45cf9b9f1365b189bcb63e441e3865334",
      "tree": "68e7ca8cb6e3e1698e788d35dcbe16320bdbb3ea",
      "parents": [
        "81a897937827a81107861d50c77b4d04ff8b43a2"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Feb 02 08:13:30 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:49 2012 -0500"
      },
      "message": "rbd: have rbd_parse_args() report found mon_addrs size\n\nThe argument parsing routine already computes the size of the\nmon_addrs buffer it extracts from the \"command.\"  Pass it to the\ncaller so it can use it to provide the length to rbd_get_client().\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\n"
    },
    {
      "commit": "81a897937827a81107861d50c77b4d04ff8b43a2",
      "tree": "f639600c9760a9db47e73b9a680bbfd8bba0b85f",
      "parents": [
        "e28fff268e7d40ea7a936478c97ce41b6c22815f"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Feb 02 08:13:30 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:49 2012 -0500"
      },
      "message": "rbd: do a few checks at build time\n\nThis is a bit gratuitous, but there are a few things that can be\nverified at build time rather than run time, so do that.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\n"
    },
    {
      "commit": "e28fff268e7d40ea7a936478c97ce41b6c22815f",
      "tree": "bf228f2fa056b5fcbe41c06b07f960cf8a0cc757",
      "parents": [
        "a725f65e52de73defb3c7033c471c48c56ca6cdd"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Feb 02 08:13:30 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:49 2012 -0500"
      },
      "message": "rbd: don\u0027t use sscanf() in rbd_add_parse_args()\n\nMake use of a few simple helper routines to parse the arguments\nrather than sscanf().  This will treat both missing and too-long\narguments as invalid input (rather than silently truncating the\ninput in the too-long case).  In time this can also be used by\nrbd_add() to use the passed-in buffer in place, rather than copying\nits contents into new buffers.\n\nIt appears to me that the sscanf() previously used would not\ncorrectly handle a supplied snapshot--the two final \"%s\" conversion\nspecifications were not separated by a space, and I\u0027m not sure\nhow sscanf() handles that situation.  It may not be well-defined.\nSo that may be a bug this change fixes (but I didn\u0027t verify that).\n\nThe sizes of the mon_addrs and options buffers are now passed to\nrbd_add_parse_args(), so they can be supplied to copy_token().\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\n"
    },
    {
      "commit": "a725f65e52de73defb3c7033c471c48c56ca6cdd",
      "tree": "38b1561838f74e4faab94f9828cfc57dc2027e0d",
      "parents": [
        "27cc25943fb359241546e7bb7a3ab1c2f35796a2"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Feb 02 08:13:30 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:48 2012 -0500"
      },
      "message": "rbd: encapsulate argument parsing for rbd_add()\n\nMove the code that parses the arguments provided to rbd_add() (which\nare supplied via /sys/bus/rbd/add) into a separate function.\n\nAlso rename the \"mon_dev_name\" variable in rbd_add() to be\n\"mon_addrs\".   The variable represents a list of one or more\ncomma-separated monitor IP addresses, each with an optional port\nnumber.  I think \"mon_addrs\" captures that notion a little better.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\n"
    },
    {
      "commit": "27cc25943fb359241546e7bb7a3ab1c2f35796a2",
      "tree": "b5b957d4732a9fc3cc4b9eff33344eb5faabde2e",
      "parents": [
        "60571c7d556b10db7e555bd4b6765647af5c41e8"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Feb 02 08:13:30 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:48 2012 -0500"
      },
      "message": "rbd: simplify error handling in rbd_add()\n\nIf a couple pointers are initialized to NULL then a single\n\"out_nomem\" label can be used for all of the memory allocation\nfailure cases in rbd_add().\n\nAlso, get rid of the \"irc\" local variable there.  There is no\nreal need for \"rc\" to be type ssize_t, and it can be used in\nthe spot \"irc\" was.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "60571c7d556b10db7e555bd4b6765647af5c41e8",
      "tree": "34e5f4f677693791efc489ca9005356cd4477a01",
      "parents": [
        "d720bcb0a8f246eb441ba9d4f341bc16746556c6"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Feb 02 08:13:30 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:48 2012 -0500"
      },
      "message": "rbd: reduce memory used for rbd_dev fields\n\nThe length of the string containing the monitor address\nspecification(s) will never exceed the length of the string passed\nin to rbd_add().  The same holds true for the ceph + rbd options\nstring.  So reduce the amount of memory allocated for these to\nthat length rather than the maximum (1024 bytes).\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "d720bcb0a8f246eb441ba9d4f341bc16746556c6",
      "tree": "9df53a7ff220547c7150be803c8a3e8cca0664b1",
      "parents": [
        "f0f8cef5a30504eaeba5588a9115b46c824d91a3"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Feb 02 08:13:30 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:48 2012 -0500"
      },
      "message": "rbd: have rbd_get_client() return a rbd_client\n\nSince rbd_get_client() currently returns an error code.  It assigns\nthe rbd_client field of the rbd_device structure it is passed if\nsuccessful.  Instead, have it return the created rbd_client\nstructure and return a pointer-coded error if there is an error.\nThis makes the assignment of the client pointer more obvious at the\ncall site.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "f0f8cef5a30504eaeba5588a9115b46c824d91a3",
      "tree": "fa7e9d2a8dfb9e15ab85bf92420527deea0bd3ef",
      "parents": [
        "432b858749631dc011ac919dace4b0705ba8cecf"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Sun Jan 29 13:57:44 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:48 2012 -0500"
      },
      "message": "rbd: a few simple changes\n\nHere are a few very simple cleanups:\n    - Add a \"RBD_\" prefix to the two driver name string definitions.\n    - Move the definition of struct rbd_request below struct rbd_req_coll\n      to avoid the need for an empty declaration of the latter.\n    - Move and group the definitions of rbd_root_dev_release() and\n      rbd_root_dev, as well as rbd_bus_type and rbd_bus_attrs[],\n      close to the top of the file.  Arrange the latter so\n      rbd_bus_type.bus_attrs can be initialized statically.\n    - Get rid of an unnecessary local variable in rbd_open().\n    - Rework some hokey logic in rbd_bus_add_dev(), so the value of\n      \"ret\" at the end is either 0 or -ENOENT to avoid the need for\n      the code duplication that was there.\n    - Rename a goto target in rbd_add().\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "432b858749631dc011ac919dace4b0705ba8cecf",
      "tree": "9e16e9ac876b6d0460f40a0df832c0aa1fc8271a",
      "parents": [
        "bc534d86be71aaf8dfac46131420ab1c47387d42"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Sun Jan 29 13:57:44 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:48 2012 -0500"
      },
      "message": "rbd: rename \"node_lock\"\n\nThe spinlock used to protect rbd_client_list is named \"node_lock\".\nRename it to \"rbd_client_list_lock\" to make it more obvious what\nit\u0027s for.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "bc534d86be71aaf8dfac46131420ab1c47387d42",
      "tree": "196d43864c2c1033b30d4ae03cb946793cf29b19",
      "parents": [
        "d97081b0c7bdb55371994cc6690217bf393eb63e"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Sun Jan 29 13:57:44 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:47 2012 -0500"
      },
      "message": "rbd: move ctl_mutex lock inside rbd_client_create()\n\nSince rbd_client_create() is only called in one place, move the\nacquisition of the mutex around that call inside that function.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "d97081b0c7bdb55371994cc6690217bf393eb63e",
      "tree": "a520fd2d821202175749fc9a0dd9b1b4a1fa2ac8",
      "parents": [
        "e6994d3ddedf1a9f35cb43655bb4b5810e71199a"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Sun Jan 29 13:57:44 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:47 2012 -0500"
      },
      "message": "rbd: move ctl_mutex lock inside rbd_get_client()\n\nSince rbd_get_client() is only called in one place, move the\nacquisition of the mutex around that call inside that function.\n\nFurthermore, within rbd_get_client(), it appears the mutex only\nneeds to be held while calling rbd_client_create().  (Moving\nthe lock inside that function will wait for the next patch.)\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "e6994d3ddedf1a9f35cb43655bb4b5810e71199a",
      "tree": "0e0af19765412596516550b3a95c32ff67be6d47",
      "parents": [
        "d184f6bfde1428ad4a690d49b28afc9ab4d57b35"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Sun Jan 29 13:57:44 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:47 2012 -0500"
      },
      "message": "rbd: release client list lock sooner\n\nIn rbd_get_client(), if a client is reused, a number of things\nget done while still holding the list lock unnecessarily.\n\nThis just moves a few things that need no lock protection outside\nthe lock.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "d184f6bfde1428ad4a690d49b28afc9ab4d57b35",
      "tree": "fd3156df944edc90146143e5cea416d34c8fcd47",
      "parents": [
        "499afd5b8e742792fda6bd7730c738ad83aecf6b"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Sun Jan 29 13:57:44 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:47 2012 -0500"
      },
      "message": "rbd: restore previous rbd id sequence behavior\n\nIt used to be that selecting a new unique identifier for an added\nrbd device required searching all existing ones to find the highest\nid is used.  A recent change made that unnecessary, but made it\nso that id\u0027s used were monotonically non-decreasing.  It\u0027s a bit\nmore pleasant to have smaller rbd id\u0027s though, and this change\nmakes ids get allocated as they were before--each new id is one more\nthan the maximum currently in use.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "499afd5b8e742792fda6bd7730c738ad83aecf6b",
      "tree": "a3cac0fa73a3251e80d8c6eb2e0eb9addbcc5e22",
      "parents": [
        "e124a82f3c4efc2cc2bae68a2bf30020fb8c4fc2"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Feb 02 08:13:29 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:47 2012 -0500"
      },
      "message": "rbd: tie rbd_dev_list changes to rbd_id operations\n\nThe only time entries are added to or removed from the global\nrbd_dev_list is exactly when a \"put\" or \"get\" operation is being\nperformed on a rbd_dev\u0027s id.  So just move the list management code\ninto get/put routines.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "e124a82f3c4efc2cc2bae68a2bf30020fb8c4fc2",
      "tree": "9c1b768d2871b181bcc21d89bedf9bf9dbc6d998",
      "parents": [
        "1ddbe94eda58597cb6dd464b455cb62d3f68be7b"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Sun Jan 29 13:57:44 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:47 2012 -0500"
      },
      "message": "rbd: protect the rbd_dev_list with a spinlock\n\nThe rbd_dev_list is just a simple list of all the current\nrbd_devices.  Using the ctl_mutex as a concurrency guard is\noverkill.  Instead, use a spinlock for that specific purpose.\n\nThis also reduces the window that the ctl_mutex needs to be held in\nrbd_add().\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "1ddbe94eda58597cb6dd464b455cb62d3f68be7b",
      "tree": "02a6b829191d218ed861f81b0dcedb8deef53ff4",
      "parents": [
        "b7f23c361b65a0bdcc81acd8d38471b7810df3ff"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Sun Jan 29 13:57:44 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:47 2012 -0500"
      },
      "message": "rbd: rework calculation of new rbd id\u0027s\n\nIn order to select a new unique identifier for an added rbd device,\nthe list of all existing ones is searched and a value one greater\nthan the highest id is used.\n\nThe list search can be avoided by using an atomic variable that\nkeeps track of the current highest id.  Using a get/put model for\nid\u0027s we can limit the boundless growth of id numbers a bit by\narranging to reuse the current highest id once it gets released.\nAdd these calls to \"put\" the id when an rbd is getting removed.\n\nNote that this changes the pattern of device id\u0027s used--new values\nwill never be below the highest one seen so far (even if there\nexists an unused lower one).  I assert this is OK because the key\nproperty of an rbd id is its uniqueness, not its magnitude.\n\nRegardless, a follow-on patch will restore the old way of doing\nthings, I just think this commit just makes the incremental change\nto atomics a little easier to understand.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "b7f23c361b65a0bdcc81acd8d38471b7810df3ff",
      "tree": "6ff42f4ebe263453ba14d61d6b0cf56c98d22e42",
      "parents": [
        "cc9d734c3d1b39c6a557673469aea26364060226"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Sun Jan 29 13:57:43 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:47 2012 -0500"
      },
      "message": "rbd: encapsulate new rbd id selection\n\nMove the loop that finds a new unique rbd id to use into\nits own helper function.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "cc9d734c3d1b39c6a557673469aea26364060226",
      "tree": "67cc35424a31e6be289f118732f45e15c9432dad",
      "parents": [
        "1dbb439913f0fc0bc30d36411a4a3b3202c0aab1"
      ],
      "author": {
        "name": "Josh Durgin",
        "email": "josh.durgin@dreamhost.com",
        "time": "Mon Nov 21 18:19:13 2011 -0800"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:47 2012 -0500"
      },
      "message": "rbd: use a single value of snap_name to mean no snap\n\nThere\u0027s already a constant for this anyway.\n\nSince rbd_header_set_snap() is only used to set the rbd device\nsnap_name field, just do that within that function rather than\nhaving it take the snap_name as an argument.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n\nv2: Changed interface rbd_header_set_snap() so it explicitly updates\n    the snap_name in the rbd_device.  Also added a BUILD_BUG_ON()\n    to verify the size of the snap_name field is sufficient for\n    SNAP_HEAD_NAME.\n"
    },
    {
      "commit": "1dbb439913f0fc0bc30d36411a4a3b3202c0aab1",
      "tree": "7da9c0818f6ce8cff9068732fed25fd62d05ebd0",
      "parents": [
        "ee57741c5209154b8ef124bcaa2496da1b69a988"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Tue Jan 24 10:08:37 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:47 2012 -0500"
      },
      "message": "rbd: do not duplicate ceph_client pointer in rbd_device\n\nThe rbd_device structure maintains a duplicate copy of the\nceph_client pointer maintained in its rbd_client structure.  There\nappears to be no good reason for this, and its presence presents a\nrisk of them getting out of synch or otherwise misused.  So kill it\noff, and use the rbd_client copy only.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "ee57741c5209154b8ef124bcaa2496da1b69a988",
      "tree": "248a6e7bf259bb849f885f1ff4a82be74ab4913b",
      "parents": [
        "2107978668de13da484f7abc3f03516494c7fca9"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Tue Jan 24 10:08:36 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:47 2012 -0500"
      },
      "message": "rbd: make ceph_parse_options() return a pointer\n\nceph_parse_options() takes the address of a pointer as an argument\nand uses it to return the address of an allocated structure if\nsuccessful.  With this interface is not evident at call sites that\nthe pointer is always initialized.  Change the interface to return\nthe address instead (or a pointer-coded error code) to make the\nvalidity of the returned pointer obvious.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "2107978668de13da484f7abc3f03516494c7fca9",
      "tree": "0b3d054845849b221ffed4aad38a3e7449121e79",
      "parents": [
        "18fa8b3feaac772925263b04b1429d80e2dfd779"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Tue Jan 24 10:08:36 2012 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu Mar 22 10:47:46 2012 -0500"
      },
      "message": "rbd: a few small cleanups\n\nSome minor cleanups in \"drivers/block/rbd.c:\n    - Use the more meaningful \"RBD_MAX_OBJ_NAME_LEN\" in place if \"96\"\n      in the definition of RBD_MAX_MD_NAME_LEN.\n    - Use DEFINE_SPINLOCK() to define and initialize node_lock.\n    - Drop a needless (char *) cast in parse_rbd_opts_token().\n    - Make a few minor formatting changes.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "b9136d207f0c05c96c6b9c980fa7f7fd541a65a8",
      "tree": "c5782f620475131fbd838cec21376c1a2dad7ff5",
      "parents": [
        "106b44388d8f76373149c4ea144f717b6d4d9a6d"
      ],
      "author": {
        "name": "Igor Mammedov",
        "email": "imammedo@redhat.com",
        "time": "Wed Mar 21 15:08:38 2012 +0100"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu Mar 22 11:37:11 2012 -0400"
      },
      "message": "xen: initialize platform-pci even if xen_emul_unplug\u003dnever\n\nWhen xen_emul_unplug\u003dnever is specified on kernel command line\nreading files from /sys/hypervisor is broken (returns -EBUSY).\nIt is caused by xen_bus dependency on platform-pci and\nplatform-pci isn\u0027t initialized when xen_emul_unplug\u003dnever is\nspecified.\n\nFix it by allowing platform-pci to ignore xen_emul_unplug\u003dnever,\nand do not intialize xen_[blk|net]front instead.\n\nSigned-off-by: Igor Mammedov \u003cimammedo@redhat.com\u003e\nAcked-by: Stefano Stabellini \u003cstefano.stabellini@eu.citrix.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "5375871d432ae9fc581014ac117b96aaee3cd0c7",
      "tree": "be98e8255b0f927fb920fb532a598b93fa140dbe",
      "parents": [
        "b57cb7231b2ce52d3dda14a7b417ae125fb2eb97",
        "dfbc2d75c1bd47c3186fa91f1655ea2f3825b0ec"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 18:55:10 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 18:55:10 2012 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\nPull powerpc merge from Benjamin Herrenschmidt:\n \"Here\u0027s the powerpc batch for this merge window.  It is going to be a\n  bit more nasty than usual as in touching things outside of\n  arch/powerpc mostly due to the big iSeriesectomy :-) We finally got\n  rid of the bugger (legacy iSeries support) which was a PITA to\n  maintain and that nobody really used anymore.\n\n  Here are some of the highlights:\n\n   - Legacy iSeries is gone.  Thanks Stephen ! There\u0027s still some bits\n     and pieces remaining if you do a grep -ir series arch/powerpc but\n     they are harmless and will be removed in the next few weeks\n     hopefully.\n\n   - The \u0027fadump\u0027 functionality (Firmware Assisted Dump) replaces the\n     previous (equivalent) \"pHyp assisted dump\"...  it\u0027s a rewrite of a\n     mechanism to get the hypervisor to do crash dumps on pSeries, the\n     new implementation hopefully being much more reliable.  Thanks\n     Mahesh Salgaonkar.\n\n   - The \"EEH\" code (pSeries PCI error handling \u0026 recovery) got a big\n     spring cleaning, motivated by the need to be able to implement a\n     new backend for it on top of some new different type of firwmare.\n\n     The work isn\u0027t complete yet, but a good chunk of the cleanups is\n     there.  Note that this adds a field to struct device_node which is\n     not very nice and which Grant objects to.  I will have a patch soon\n     that moves that to a powerpc private data structure (hopefully\n     before rc1) and we\u0027ll improve things further later on (hopefully\n     getting rid of the need for that pointer completely).  Thanks Gavin\n     Shan.\n\n   - I dug into our exception \u0026 interrupt handling code to improve the\n     way we do lazy interrupt handling (and make it work properly with\n     \"edge\" triggered interrupt sources), and while at it found \u0026 fixed\n     a wagon of issues in those areas, including adding support for page\n     fault retry \u0026 fatal signals on page faults.\n\n   - Your usual random batch of small fixes \u0026 updates, including a bunch\n     of new embedded boards, both Freescale and APM based ones, etc...\"\n\nI fixed up some conflicts with the generalized irq-domain changes from\nGrant Likely, hopefully correctly.\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (141 commits)\n  powerpc/ps3: Do not adjust the wrapper load address\n  powerpc: Remove the rest of the legacy iSeries include files\n  powerpc: Remove the remaining CONFIG_PPC_ISERIES pieces\n  init: Remove CONFIG_PPC_ISERIES\n  powerpc: Remove FW_FEATURE ISERIES from arch code\n  tty/hvc_vio: FW_FEATURE_ISERIES is no longer selectable\n  powerpc/spufs: Fix double unlocks\n  powerpc/5200: convert mpc5200 to use of_platform_populate()\n  powerpc/mpc5200: add options to mpc5200_defconfig\n  powerpc/mpc52xx: add a4m072 board support\n  powerpc/mpc5200: update mpc5200_defconfig to fit for charon board\n  Documentation/powerpc/mpc52xx.txt: Checkpatch cleanup\n  powerpc/44x: Add additional device support for APM821xx SoC and Bluestone board\n  powerpc/44x: Add support PCI-E for APM821xx SoC and Bluestone board\n  MAINTAINERS: Update PowerPC 4xx tree\n  powerpc/44x: The bug fixed support for APM821xx SoC and Bluestone board\n  powerpc: document the FSL MPIC message register binding\n  powerpc: add support for MPIC message register API\n  powerpc/fsl: Added aliased MSIIR register address to MSI node in dts\n  powerpc/85xx: mpc8548cds - add 36-bit dts\n  ...\n"
    },
    {
      "commit": "9f3938346a5c1fa504647670edb5fea5756cfb00",
      "tree": "7cf6d24d6b076c8db8571494984924cac03703a2",
      "parents": [
        "69a7aebcf019ab3ff5764525ad6858fbe23bb86d",
        "317b6e128247f75976b0fc2b9fd8d2c20ef13b3a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 09:40:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 09:40:26 2012 -0700"
      },
      "message": "Merge branch \u0027kmap_atomic\u0027 of git://github.com/congwang/linux\n\nPull kmap_atomic cleanup from Cong Wang.\n\nIt\u0027s been in -next for a long time, and it gets rid of the (no longer\nused) second argument to k[un]map_atomic().\n\nFix up a few trivial conflicts in various drivers, and do an \"evil\nmerge\" to catch some new uses that have come in since Cong\u0027s tree.\n\n* \u0027kmap_atomic\u0027 of git://github.com/congwang/linux: (59 commits)\n  feature-removal-schedule.txt: schedule the deprecated form of kmap_atomic() for removal\n  highmem: kill all __kmap_atomic() [swarren@nvidia.com: highmem: Fix ARM build break due to __kmap_atomic rename]\n  drbd: remove the second argument of k[un]map_atomic()\n  zcache: remove the second argument of k[un]map_atomic()\n  gma500: remove the second argument of k[un]map_atomic()\n  dm: remove the second argument of k[un]map_atomic()\n  tomoyo: remove the second argument of k[un]map_atomic()\n  sunrpc: remove the second argument of k[un]map_atomic()\n  rds: remove the second argument of k[un]map_atomic()\n  net: remove the second argument of k[un]map_atomic()\n  mm: remove the second argument of k[un]map_atomic()\n  lib: remove the second argument of k[un]map_atomic()\n  power: remove the second argument of k[un]map_atomic()\n  kdb: remove the second argument of k[un]map_atomic()\n  udf: remove the second argument of k[un]map_atomic()\n  ubifs: remove the second argument of k[un]map_atomic()\n  squashfs: remove the second argument of k[un]map_atomic()\n  reiserfs: remove the second argument of k[un]map_atomic()\n  ocfs2: remove the second argument of k[un]map_atomic()\n  ntfs: remove the second argument of k[un]map_atomic()\n  ...\n"
    },
    {
      "commit": "69a7aebcf019ab3ff5764525ad6858fbe23bb86d",
      "tree": "7211df5704b743a7667159748c670a9744164482",
      "parents": [
        "d464c92b5234227c1698862a1906827e2e398ae0",
        "f1f996b66cc3908a8f5ffccc2ff41840e92f3b10"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 21:12:50 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 21:12:50 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\nPull trivial tree from Jiri Kosina:\n \"It\u0027s indeed trivial -- mostly documentation updates and a bunch of\n  typo fixes from Masanari.\n\n  There are also several linux/version.h include removals from Jesper.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (101 commits)\n  kcore: fix spelling in read_kcore() comment\n  constify struct pci_dev * in obvious cases\n  Revert \"char: Fix typo in viotape.c\"\n  init: fix wording error in mm_init comment\n  usb: gadget: Kconfig: fix typo for \u0027different\u0027\n  Revert \"power, max8998: Include linux/module.h just once in drivers/power/max8998_charger.c\"\n  writeback: fix fn name in writeback_inodes_sb_nr_if_idle() comment header\n  writeback: fix typo in the writeback_control comment\n  Documentation: Fix multiple typo in Documentation\n  tpm_tis: fix tis_lock with respect to RCU\n  Revert \"media: Fix typo in mixer_drv.c and hdmi_drv.c\"\n  Doc: Update numastat.txt\n  qla4xxx: Add missing spaces to error messages\n  compiler.h: Fix typo\n  security: struct security_operations kerneldoc fix\n  Documentation: broken URL in libata.tmpl\n  Documentation: broken URL in filesystems.tmpl\n  mtd: simplify return logic in do_map_probe()\n  mm: fix comment typo of truncate_inode_pages_range\n  power: bq27x00: Fix typos in comment\n  ...\n"
    },
    {
      "commit": "ed378a52dabf77b406b447fd3238f83ea24b71fa",
      "tree": "07e1a7ec2d1c08767ee81b9910f5912b80502632",
      "parents": [
        "843ec558f91b8e8fdb6efc908f2c0506407cc750",
        "11207b6fe05438b2e87a26435cd98db3d55e6fa7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 11:26:30 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 11:26:30 2012 -0700"
      },
      "message": "Merge tag \u0027usb-3.3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb\n\nPull USB merge for 3.4-rc1 from Greg KH:\n \"Here\u0027s the big USB merge for the 3.4-rc1 merge window.\n\n  Lots of gadget driver reworks here, driver updates, xhci changes, some\n  new drivers added, usb-serial core reworking to fix some bugs, and\n  other various minor things.\n\n  There are some patches touching arch code, but they have all been\n  acked by the various arch maintainers.\"\n\n* tag \u0027usb-3.3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (302 commits)\n  net: qmi_wwan: add support for ZTE MF820D\n  USB: option: add ZTE MF820D\n  usb: gadget: f_fs: Remove lock is held before freeing checks\n  USB: option: make interface blacklist work again\n  usb/ub: deprecate \u0026 schedule for removal the \"Low Performance USB Block\" driver\n  USB: ohci-pxa27x: add clk_prepare/clk_unprepare calls\n  USB: use generic platform driver on ath79\n  USB: EHCI: Add a generic platform device driver\n  USB: OHCI: Add a generic platform device driver\n  USB: ftdi_sio: new PID: LUMEL PD12\n  USB: ftdi_sio: add support for FT-X series devices\n  USB: serial: mos7840: Fixed MCS7820 device attach problem\n  usb: Don\u0027t make USB_ARCH_HAS_{XHCI,OHCI,EHCI} depend on USB_SUPPORT.\n  usb gadget: fix a section mismatch when compiling g_ffs with CONFIG_USB_FUNCTIONFS_ETH\n  USB: ohci-nxp: Remove i2c_write(), use smbus\n  USB: ohci-nxp: Support for LPC32xx\n  USB: ohci-nxp: Rename symbols from pnx4008 to nxp\n  USB: OHCI-HCD: Rename ohci-pnx4008 to ohci-nxp\n  usb: gadget: Kconfig: fix typo for \u0027different\u0027\n  usb: dwc3: pci: fix another failure path in dwc3_pci_probe()\n  ...\n"
    },
    {
      "commit": "589973a7042f5a91a5b8bf78a32c97ae073e2c72",
      "tree": "1cc3f936ac3eca68dddb054bd1b75dc1a2b77a85",
      "parents": [
        "97d5dd121c3304c65326f1ce9f04f7d0161827bc"
      ],
      "author": {
        "name": "Cong Wang",
        "email": "amwang@redhat.com",
        "time": "Fri Nov 25 23:51:58 2011 +0800"
      },
      "committer": {
        "name": "Cong Wang",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Tue Mar 20 21:48:29 2012 +0800"
      },
      "message": "drbd: remove the second argument of k[un]map_atomic()\n\nSigned-off-by: Cong Wang \u003camwang@redhat.com\u003e\n"
    },
    {
      "commit": "cfd8005c99c68882e962807d36603791adddfb9f",
      "tree": "49ddae09cf9067a3729bbc58ab65c117cbca93ce",
      "parents": [
        "496cda8e75d90301cb1e6bbebea643c6bac1e6d6"
      ],
      "author": {
        "name": "Cong Wang",
        "email": "amwang@redhat.com",
        "time": "Fri Nov 25 23:14:18 2011 +0800"
      },
      "committer": {
        "name": "Cong Wang",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Tue Mar 20 21:48:16 2012 +0800"
      },
      "message": "block: remove the second argument of k[un]map_atomic()\n\nSigned-off-by: Cong Wang \u003camwang@redhat.com\u003e\n"
    },
    {
      "commit": "3467811e26660eb46bc655234573d22d6876d5f9",
      "tree": "b57b2cdc3d373af79062bc26cd71500773c64fb5",
      "parents": [
        "dad5cf659b202b5070c8616b5c515f6ca4db0c42"
      ],
      "author": {
        "name": "Steven Noonan",
        "email": "snoonan@amazon.com",
        "time": "Fri Feb 17 12:04:44 2012 -0800"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Tue Mar 20 12:52:41 2012 +0100"
      },
      "message": "xen-blkfront: make blkif_io_lock spinlock per-device\n\nThis patch moves the global blkif_io_lock to the per-device structure. The\nspinlock seems to exists for two reasons: to disable IRQs when in the interrupt\nhandlers for blkfront, and to protect the blkfront VBDs when a detachment is\nrequested.\n\nHaving a global blkif_io_lock doesn\u0027t make sense given the use case, and it\ndrastically hinders performance due to contention. All VBDs with pending IOs\nhave to take the lock in order to get work done, which serializes everything\npretty badly.\n\nSigned-off-by: Steven Noonan \u003csnoonan@amazon.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "dad5cf659b202b5070c8616b5c515f6ca4db0c42",
      "tree": "0ca624ebdcf62e2ddc7a25b749ba8f3c3c953bde",
      "parents": [
        "34ae2e47d97216d8c66a1c5dff5b530c29b746b8"
      ],
      "author": {
        "name": "Andrew Jones",
        "email": "drjones@redhat.com",
        "time": "Thu Feb 16 13:16:25 2012 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Tue Mar 20 12:52:41 2012 +0100"
      },
      "message": "xen/blkfront: don\u0027t put bdev right after getting it\n\nWe should hang onto bdev until we\u0027re done with it.\n\nSigned-off-by: Andrew Jones \u003cdrjones@redhat.com\u003e\n[v1: Fixed up git commit description]\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "34ae2e47d97216d8c66a1c5dff5b530c29b746b8",
      "tree": "0e155e534ec47258522800ab36b609fbaadf550c",
      "parents": [
        "b2167ba6dd89d55ced26a867fad8f0fe388fd595"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Sat Jan 21 00:15:26 2012 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Tue Mar 20 12:52:41 2012 +0100"
      },
      "message": "xen-blkfront: use bitmap_set() and bitmap_clear()\n\nUse bitmap_set and bitmap_clear rather than modifying individual bits\nin a memory region.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nCc: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nCc: xen-devel@lists.xensource.com\nCc: virtualization@lists.linux-foundation.org\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "b2167ba6dd89d55ced26a867fad8f0fe388fd595",
      "tree": "b7d09fd37539fb04f7d708906290921c3e14a3b2",
      "parents": [
        "4f14faaab4ee46a046b6baff85644be199de718c"
      ],
      "author": {
        "name": "Daniel De Graaf",
        "email": "dgdegra@tycho.nsa.gov",
        "time": "Mon Nov 28 11:49:05 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Tue Mar 20 12:52:41 2012 +0100"
      },
      "message": "xen/blkback: Enable blkback on HVM guests\n\nSigned-off-by: Daniel De Graaf \u003cdgdegra@tycho.nsa.gov\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "4f14faaab4ee46a046b6baff85644be199de718c",
      "tree": "4aae9cfd08498d4476f045d0fe56c2f78ed7e68e",
      "parents": [
        "c16fa4f2ad19908a47c63d8fa436a1178438c7e7"
      ],
      "author": {
        "name": "Daniel De Graaf",
        "email": "dgdegra@tycho.nsa.gov",
        "time": "Mon Nov 28 11:49:03 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Tue Mar 20 12:52:41 2012 +0100"
      },
      "message": "xen/blkback: use grant-table.c hypercall wrappers\n\nSigned-off-by: Daniel De Graaf \u003cdgdegra@tycho.nsa.gov\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "7396bd9fa1f291423b6e9a262662a447cc3deb86",
      "tree": "439f89f0403ff995c4c41b9c295e82e57129bfe2",
      "parents": [
        "4bf34b8c6b10a154a7fb1fc20818e20a27d4a539"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "sebastian@breakpoint.cc",
        "time": "Thu Mar 15 21:59:36 2012 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Mar 16 13:30:10 2012 -0700"
      },
      "message": "usb/ub: deprecate \u0026 schedule for removal the \"Low Performance USB Block\" driver\n\nDeprecate this driver. All devices which can be handled by this driver\ncan also be handled by the usb-storage driver.\n\nAcked-By: Pete Zaitcev \u003czaitcev@redhat.com\u003e\nCc: Jens Axboe \u003cjaxboe@fusionio.com\u003e\nSigned-off-by: Sebastian Andrzej Siewior \u003csebastian@breakpoint.cc\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "ba7a4822b48fbc7afd6b567c18e316a03f46684d",
      "tree": "c9a14c300a21b0db0f1aaccbd295f93420420d37",
      "parents": [
        "aba0eb84c87928992c021d33ef3ea59c931086b9"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Thu Mar 08 15:32:52 2012 +1100"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Fri Mar 16 09:28:05 2012 +1100"
      },
      "message": "powerpc: Remove some of the legacy iSeries specific device drivers\n\nThese drivers are specific to the PowerPC legacy iSeries platform and\ntheir Kconfig is specified in arch/powerpc.  Legacy iSeries is being\nremoved, so these drivers can no longer be selected.\n\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "f1cbd03f5eabb75ea8ace23b47d2209f10871c16",
      "tree": "2ac398bd1a50ce135461fae5b5e91ba05831af84",
      "parents": [
        "ff398c45b03d9d64135d928c0146d8c38a70fd3b",
        "ff8c1474cc2f5e11414c71ec4d739c18e6e669c0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 14 17:16:45 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 14 17:16:45 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-block\n\nPull block fixes from Jens Axboe:\n \"Been sitting on this for a while, but lets get this out the door.\n  This fixes various important bugs for 3.3 final, along with a few more\n  trivial ones.  Please pull!\"\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-block:\n  block: fix ioc leak in put_io_context\n  block, sx8: fix pointer math issue getting fw version\n  Block: use a freezable workqueue for disk-event polling\n  drivers/block/DAC960: fix -Wuninitialized warning\n  drivers/block/DAC960: fix DAC960_V2_IOCTL_Opcode_T -Wenum-compare warning\n  block: fix __blkdev_get and add_disk race condition\n  block: Fix setting bio flags in drivers (sd_dif/floppy)\n  block: Fix NULL pointer dereference in sd_revalidate_disk\n  block: exit_io_context() should call elevator_exit_icq_fn()\n  block: simplify ioc_release_fn()\n  block: replace icq-\u003echanged with icq-\u003eflags\n"
    },
    {
      "commit": "f7a0d426f3e7ec321b8037238b6426566df36edb",
      "tree": "505e7d0264500db94534f1226684f78af7757289",
      "parents": [
        "fde7d9049e55ab85a390be7f415d74c9f62dd0f9",
        "b790f5d1260b4c962bd066cd34ae982943c27fe1"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Mar 12 09:13:31 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Mar 12 09:13:31 2012 -0700"
      },
      "message": "Merge 3.3-rc7 into usb-next\n\nThis resolves the conflict with drivers/usb/host/ehci-fsl.h that\nhappened with changes in Linus\u0027s and this branch at the same time.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "9354f1b8e6c55c335d1c4fb10d0ae7a041935240",
      "tree": "98854146031952f226db78a5763b7bf28d310cde",
      "parents": [
        "9ce70c0240d01309b34712f87eda4fbfba3c3764"
      ],
      "author": {
        "name": "Muthu Kumar",
        "email": "muthu.lkml@gmail.com",
        "time": "Mon Mar 05 14:59:16 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 05 15:49:43 2012 -0800"
      },
      "message": "floppy/scsi: fix setting of BIO flags\n\nFix setting bio flags in drivers (sd_dif/floppy).\n\nSigned-off-by: Muthukumar R \u003cmuthur@gmail.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ea5f4db8ece896c2ab9eafa0924148a2596c52e4",
      "tree": "41159bbbc99b8c56c8ea3466785ea657c1842583",
      "parents": [
        "62d3c5439c534b0e6c653fc63e6d8c67be3a57b1"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Sat Mar 03 12:09:17 2012 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Sat Mar 03 19:44:39 2012 +0100"
      },
      "message": "block, sx8: fix pointer math issue getting fw version\n\n\"mem\" is type u8.  We need parenthesis here or it screws up the pointer\nmath probably leading to an oops.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nCc: stable@kernel.org\nAcked-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "cecd353a02fb1405c8a72a324b26b5acf97e7411",
      "tree": "7cc24dc423a88bf4c96170e2ae7fac4946fdb099",
      "parents": [
        "bca505f1097c725708ddc055cf8055e922b0904b"
      ],
      "author": {
        "name": "Danny Kukawka",
        "email": "danny.kukawka@bisect.de",
        "time": "Fri Mar 02 10:48:35 2012 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Fri Mar 02 10:48:35 2012 +0100"
      },
      "message": "drivers/block/DAC960: fix -Wuninitialized warning\n\nSet CommandMailbox with memset before use it. Fix for:\n\ndrivers/block/DAC960.c: In function ‘DAC960_V1_EnableMemoryMailboxInterface’:\narch/x86/include/asm/io.h:61:1: warning: ‘CommandMailbox.Bytes[12]’\n may be used uninitialized in this function [-Wuninitialized]\ndrivers/block/DAC960.c:1175:30: note: ‘CommandMailbox.Bytes[12]’\n was declared here\n\nSigned-off-by: Danny Kukawka \u003cdanny.kukawka@bisect.de\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "bca505f1097c725708ddc055cf8055e922b0904b",
      "tree": "09c37d59acfa39a6710d870ff48052ca1d42aa20",
      "parents": [
        "9f53d2fe815b4011ff930a7b6db98385d45faa68"
      ],
      "author": {
        "name": "Danny Kukawka",
        "email": "danny.kukawka@bisect.de",
        "time": "Fri Mar 02 10:48:32 2012 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Fri Mar 02 10:48:32 2012 +0100"
      },
      "message": "drivers/block/DAC960: fix DAC960_V2_IOCTL_Opcode_T -Wenum-compare warning\n\nFixed compiler warning:\n\ncomparison between ‘DAC960_V2_IOCTL_Opcode_T’ and ‘enum \u003canonymous\u003e’\n\nRenamed enum, added a new enum for SCSI_10.CommandOpcode in\nDAC960_V2_ProcessCompletedCommand().\n\nSigned-off-by: Danny Kukawka \u003cdanny.kukawka@bisect.de\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "12ebffd146768556ab7c415d0ff9ab78e3d16b7a",
      "tree": "f25e67d0bd6ff2ef32ef7e84309ab2235dcbd52d",
      "parents": [
        "fe316bf2d5847bc5dd975668671a7b1067603bc7"
      ],
      "author": {
        "name": "Muthukumar R",
        "email": "muthur@gmail.com",
        "time": "Fri Mar 02 10:40:58 2012 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Fri Mar 02 10:40:58 2012 +0100"
      },
      "message": "block: Fix setting bio flags in drivers (sd_dif/floppy)\n\nFix setting bio flags in drivers (sd_dif/floppy).\n\nSigned-off-by: Muthukumar R \u003cmuthur@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "7ac4704c099125214a4f0a4bd54ce94d15be2ffb",
      "tree": "5d65763023c4446fe9b81a7c19562c28d22e3d64",
      "parents": [
        "0d8520a1d7f43328bc7085d4244d93c595064157"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Sat Feb 25 18:28:09 2012 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Feb 28 11:05:18 2012 -0800"
      },
      "message": "usb/storage: a couple defines from drivers/usb/storage/transport.h to include/linux/usb/storage.h\n\nThis moves the BOT data structures for CBW and CSW from drivers internal\nheader file to global include able file in include/.\nThe storage gadget is using the same name for CSW but a different for\nCBW so I fix it up properly. The same goes for the ub driver and keucr\ndriver in staging.\n\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "797a796a13df6b84a4791e57306737059b5b2384",
      "tree": "400d13deef98fdf3fc893e9e55f208c5716b8ba9",
      "parents": [
        "27e74da9800289e69ba907777df1e2085231eff7"
      ],
      "author": {
        "name": "Hitoshi Mitake",
        "email": "mitake@dcl.info.waseda.ac.jp",
        "time": "Tue Feb 07 11:45:33 2012 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 21 16:47:28 2012 -0800"
      },
      "message": "asm-generic: architecture independent readq/writeq for 32bit environment\n\nThis provides unified readq()/writeq() helper functions for 32-bit\ndrivers.\n\nFor some cases, readq/writeq without atomicity is harmful, and order of\nio access has to be specified explicitly.  So in this patch, new two\nheader files which contain non-atomic readq/writeq are added.\n\n - \u003casm-generic/io-64-nonatomic-lo-hi.h\u003e provides non-atomic readq/\n   writeq with the order of lower address -\u003e higher address\n\n - \u003casm-generic/io-64-nonatomic-hi-lo.h\u003e provides non-atomic readq/\n   writeq with reversed order\n\nThis allows us to remove some readq()s that were added drivers when the\ndefault non-atomic ones were removed in commit dbee8a0affd5 (\"x86:\nremove 32-bit versions of readq()/writeq()\")\n\nThe drivers which need readq/writeq but can do with the non-atomic ones\nmust add the line:\n\n  #include \u003casm-generic/io-64-nonatomic-lo-hi.h\u003e /* or hi-lo.h */\n\nBut this will be nop in 64-bit environments, and no other #ifdefs are\nrequired.  So I believe that this patch can solve the problem of\n 1. driver-specific readq/writeq\n 2. atomicity and order of io access\n\nThis patch is tested with building allyesconfig and allmodconfig as\nARCH\u003dx86 and ARCH\u003di386 on top of tip/master.\n\nCc: Kashyap Desai \u003cKashyap.Desai@lsi.com\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Ravi Anand \u003cravi.anand@qlogic.com\u003e\nCc: Vikas Chaudhary \u003cvikas.chaudhary@qlogic.com\u003e\nCc: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: Jason Uhlenkott \u003cjuhlenko@akamai.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@parallels.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nCc: James Bottomley \u003cjbottomley@parallels.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Hitoshi Mitake \u003ch.mitake@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d0156f4d62f1c6b07ea6ffd32b10100d09e25d83",
      "tree": "d0eeaca09a20119aa87ecf3805bd07a25c639b6e",
      "parents": [
        "24775d652b4dc52cc8dbcbdd20a732e5bdcc416a"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Sun Feb 05 20:11:27 2012 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Feb 21 11:48:54 2012 +0100"
      },
      "message": "NVM Express: Remove unneeded include of linux/version.h from nvme.c\n\nThere\u0027s no need for drivers/block/nvme.c to include linux/version.h,\nso remove the include.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "3ec1e88b33a3bdd852ce8e014052acec7a9da8b5",
      "tree": "4270f8f0de4e28f090cba6d6e4047aae939d6463",
      "parents": [
        "8df54d622a120058ee8bec38743c9b8f091c8e58",
        "d8c66c5d59247e25a69428aced0b79d33b9c66d6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 11 10:07:11 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 11 10:07:11 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-block\n\nSays Jens:\n\n \"Time to push off some of the pending items.  I really wanted to wait\n  until we had the regression nailed, but alas it\u0027s not quite there yet.\n  But I\u0027m very confident that it\u0027s \"just\" a missing expire on exit, so\n  fix from Tejun should be fairly trivial.  I\u0027m headed out for a week on\n  the slopes.\n\n  - Killing the barrier part of mtip32xx.  It doesn\u0027t really support\n    barriers, and it doesn\u0027t need them (writes are fully ordered).\n\n  - A few fixes from Dan Carpenter, preventing overflows of integer\n    multiplication.\n\n  - A fixup for loop, fixing a previous commit that didn\u0027t quite solve\n    the partial read problem from Dave Young.\n\n  - A bio integer overflow fix from Kent Overstreet.\n\n  - Improvement/fix of the door \"keep locked\" part of the cdrom shared\n    code from Paolo Benzini.\n\n  - A few cfq fixes from Shaohua Li.\n\n  - A fix for bsg sysfs warning when removing a file it did not create\n    from Stanislaw Gruszka.\n\n  - Two fixes for floppy from Vivek, preventing a crash.\n\n  - A few block core fixes from Tejun.  One killing the over-optimized\n    ioc exit path, cleaning that up nicely.  Two others fixing an oops\n    on elevator switch, due to calling into the scheduler merge check\n    code without holding the queue lock.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-block:\n  block: fix lockdep warning on io_context release put_io_context()\n  relay: prevent integer overflow in relay_open()\n  loop: zero fill bio instead of return -EIO for partial read\n  bio: don\u0027t overflow in bio_get_nr_vecs()\n  floppy: Fix a crash during rmmod\n  floppy: Cleanup disk-\u003equeue before caling put_disk() if add_disk() was never called\n  cdrom: move shared static to cdrom_device_info\n  bsg: fix sysfs link remove warning\n  block: don\u0027t call elevator callbacks for plug merges\n  block: separate out blk_rq_merge_ok() and blk_try_merge() from elevator functions\n  mtip32xx: removed the irrelevant argument of mtip_hw_submit_io() and the unused member of struct driver_data\n  block: strip out locking optimization in put_io_context()\n  cdrom: use copy_to_user() without the underscores\n  block: fix ioc locking warning\n  block: fix NULL icq_cache reference\n  block,cfq: change code order\n"
    },
    {
      "commit": "306df0716aa285d378cc948fafed53c6ed895fe6",
      "tree": "c32e636516980e9f2708022e314f370a13198ecd",
      "parents": [
        "5abebfdd02450fa1349daacf242e70b3736581e3"
      ],
      "author": {
        "name": "Dave Young",
        "email": "dyoung@redhat.com",
        "time": "Wed Feb 08 22:07:19 2012 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Wed Feb 08 22:07:19 2012 +0100"
      },
      "message": "loop: zero fill bio instead of return -EIO for partial read\n\ncommit 8268f5a741 (\"deny partial write for loop dev fd\") tried to fix the\nloop device partial read information leak problem.  But it changed the\nsemantics of read behavior.  When we read beyond the end of the device we\nshould get 0 bytes, which is normal behavior, we should not just return\n-EIO\n\nInstead of returning -EIO, zero out the bio to avoid information leak in\ncase of partail read.\n\nSigned-off-by: Dave Young \u003cdyoung@redhat.com\u003e\nReviewed-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nTested-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nCc: Dmitry Monakhov \u003cdmonakhov@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "4609dff6b5d11e1ed5ff935e15f9f6022acb312b",
      "tree": "b1ffb94d7247ad6ba70e8d76800907a6450f7ebd",
      "parents": [
        "3f9a5aabd0a9fe0e0cd308506f48963d79169aa7"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@redhat.com",
        "time": "Wed Feb 08 20:03:39 2012 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Wed Feb 08 20:03:39 2012 +0100"
      },
      "message": "floppy: Fix a crash during rmmod\n\nfloppy driver does not call add_disk() on all the drives hence we don\u0027t take\ngendisk reference on request queue for these drives. Don\u0027t call put_disk()\nwith disk-\u003equeue set, otherwise we try to put the reference we never took.\n\nReported-and-tested-by: Dirk Gouders \u003cgouders@et.bocholt.fh-gelsenkirchen.de\u003e\nSigned-off-by: Vivek Goyal\u003cvgoyal@redhat.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "3f9a5aabd0a9fe0e0cd308506f48963d79169aa7",
      "tree": "89dd32775e498dcb50da8cfc5388400c637725c5",
      "parents": [
        "cdccaa9467b982d57b139818d15e1e994feca372"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@redhat.com",
        "time": "Wed Feb 08 20:03:38 2012 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Wed Feb 08 20:03:38 2012 +0100"
      },
      "message": "floppy: Cleanup disk-\u003equeue before caling put_disk() if add_disk() was never called\n\nadd_disk() takes gendisk reference on request queue. If driver failed during\ninitialization and never called add_disk() then that extra reference is not\ntaken. That reference is put in put_disk(). floppy driver allocates the\ndisk, allocates queue, sets disk-\u003equeue and then relizes that floppy\ncontroller is not present. It tries to tear down everything and tries to\nput a reference down in put_disk() which was never taken.\n\nIn such error cases cleanup disk-\u003equeue before calling put_disk() so that\nwe never try to put down a reference which was never taken in first place.\n\nReported-and-tested-by: Suresh Jayaraman \u003csjayaraman@suse.com\u003e\nTested-by: Dirk Gouders \u003cgouders@et.bocholt.fh-gelsenkirchen.de\u003e\nSigned-off-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "4e8670e26135d8fbfd5e084fddc1a8ed9f8eb4cb",
      "tree": "021fb58db4c30af36a8ee47ab0c41a5fe020ab12",
      "parents": [
        "11a3122f6cf2d988a77eb8883d0fc49cd013a6d5"
      ],
      "author": {
        "name": "Asai Thambi S P",
        "email": "asamymuthupa@micron.com",
        "time": "Tue Feb 07 07:54:31 2012 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Tue Feb 07 07:54:31 2012 +0100"
      },
      "message": "mtip32xx: removed the irrelevant argument of mtip_hw_submit_io() and the unused member of struct driver_data\n\nRemoved the following:\n\t* irrelevant argument \u0027barrier\u0027 of mtip_hw_submit_io()\n\t* unused member \u0027eh_active\u0027 of struct driver_data\n\nSigned-off-by: Asai Thambi S P \u003casamymuthupa@micron.com\u003e\nSigned-off-by: Sam Bradshaw \u003csbradshaw@micron.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    }
  ],
  "next": "6c073a7ee250118b8be3a2379c96fd7f78382b06"
}
