)]}'
{
  "log": [
    {
      "commit": "93c3d65b28bab6da520c2add9cb387a0303f8b2d",
      "tree": "d53d83ffe07d4237e1f8b1b6f02fa0362d8dacd2",
      "parents": [
        "9ef9b20bd0eef609f07960a997c13cab8fe15d2e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 18 15:41:27 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 18 15:41:27 2012 -0800"
      },
      "message": "nvme: fix merge error due to change of \u0027make_request_fn\u0027 fn type\n\nThe type of \u0027make_request_fn\u0027 changed in 5a7bbad27a4 (\"block: remove\nsupport for bio remapping from -\u003emake_request\"), but the merge of the\nnvme driver didn\u0027t take that into account, and as a result the driver\nwould compile with a warning:\n\n  drivers/block/nvme.c: In function \u0027nvme_alloc_ns\u0027:\n  drivers/block/nvme.c:1336:2: warning: passing argument 2 of \u0027blk_queue_make_request\u0027 from incompatible pointer type [enabled by default]\n  include/linux/blkdev.h:830:13: note: expected \u0027void (*)(struct request_queue *, struct bio *)\u0027 but argument is of type \u0027int (*)(struct request_queue *, struct bio *)\u0027\n\nIt\u0027s benign, but the warning is annoying.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org\u003e\nCc: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "92b5abbb44e05cdbc4483219f30a435dd871a8ea",
      "tree": "15490d1c7fd415575ec6beec1baa5ce89f747bf9",
      "parents": [
        "ccb19d263fd1c9e34948e2158c53eacbff369344",
        "df3481399042200792822b6243e36a95a557b57e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 18 12:34:09 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 18 12:34:09 2012 -0800"
      },
      "message": "Merge git://git.infradead.org/users/willy/linux-nvme\n\n* git://git.infradead.org/users/willy/linux-nvme: (105 commits)\n  NVMe: Set number of queues correctly\n  NVMe: Version 0.8\n  NVMe: Set queue flags correctly\n  NVMe: Simplify nvme_unmap_user_pages\n  NVMe: Mark the end of the sg list\n  NVMe: Fix DMA mapping for admin commands\n  NVMe: Rename IO_TIMEOUT to NVME_IO_TIMEOUT\n  NVMe: Merge the nvme_bio and nvme_prp data structures\n  NVMe: Change nvme_completion_fn to take a dev\n  NVMe: Change get_nvmeq to take a dev instead of a namespace\n  NVMe: Simplify completion handling\n  NVMe: Update Identify Controller data structure\n  NVMe: Implement doorbell stride capability\n  NVMe: Version 0.7\n  NVMe: Don\u0027t probe namespace 0\n  Fix calculation of number of pages in a PRP List\n  NVMe: Create nvme_identify and nvme_get_features functions\n  NVMe: Fix memory leak in nvme_dev_add()\n  NVMe: Fix calls to dma_unmap_sg\n  NVMe: Correct sg list setup in nvme_map_user_pages\n  ...\n"
    },
    {
      "commit": "16008d641670571ff4cd750b416c7caf2d89f467",
      "tree": "6dc32821bd4576106cee50d52a90a8106a9d481f",
      "parents": [
        "b3c9dd182ed3bdcdaf0e42625a35924b0497afdc",
        "85a0f7b220777cd3c232fd2f079db5c4a874c4ee"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 15 12:48:41 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 15 12:48:41 2012 -0800"
      },
      "message": "Merge branch \u0027for-3.3/drivers\u0027 of git://git.kernel.dk/linux-block\n\n* \u0027for-3.3/drivers\u0027 of git://git.kernel.dk/linux-block:\n  mtip32xx: do rebuild monitoring asynchronously\n  xen-blkfront: Use kcalloc instead of kzalloc to allocate array\n  mtip32xx: uninitialized variable in mtip_quiesce_io()\n  mtip32xx: updates based on feedback\n  xen-blkback: convert hole punching to discard request on loop devices\n  xen/blkback: Move processing of BLKIF_OP_DISCARD from dispatch_rw_block_io\n  xen/blk[front|back]: Enhance discard support with secure erasing support.\n  xen/blk[front|back]: Squash blkif_request_rw and blkif_request_discard together\n  mtip32xx: update to new -\u003emake_request() API\n  mtip32xx: add module.h include to avoid conflict with moduleh tree\n  mtip32xx: mark a few more items static\n  mtip32xx: ensure that all local functions are static\n  mtip32xx: cleanup compat ioctl handling\n  mtip32xx: fix warnings/errors on 32-bit compiles\n  block: Add driver for Micron RealSSD pcie flash cards\n"
    },
    {
      "commit": "b3c9dd182ed3bdcdaf0e42625a35924b0497afdc",
      "tree": "ad48ad4d923fee147c736318d0fad35b3755f4f5",
      "parents": [
        "83c2f912b43c3a7babbb6cb7ae2a5276c1ed2a3e",
        "5d381efb3d1f1ef10535a31ca0dd9b22fe1e1922"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 15 12:24:45 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 15 12:24:45 2012 -0800"
      },
      "message": "Merge branch \u0027for-3.3/core\u0027 of git://git.kernel.dk/linux-block\n\n* \u0027for-3.3/core\u0027 of git://git.kernel.dk/linux-block: (37 commits)\n  Revert \"block: recursive merge requests\"\n  block: Stop using macro stubs for the bio data integrity calls\n  blockdev: convert some macros to static inlines\n  fs: remove unneeded plug in mpage_readpages()\n  block: Add BLKROTATIONAL ioctl\n  block: Introduce blk_set_stacking_limits function\n  block: remove WARN_ON_ONCE() in exit_io_context()\n  block: an exiting task should be allowed to create io_context\n  block: ioc_cgroup_changed() needs to be exported\n  block: recursive merge requests\n  block, cfq: fix empty queue crash caused by request merge\n  block, cfq: move icq creation and rq-\u003eelv.icq association to block core\n  block, cfq: restructure io_cq creation path for io_context interface cleanup\n  block, cfq: move io_cq exit/release to blk-ioc.c\n  block, cfq: move icq cache management to block core\n  block, cfq: move io_cq lookup to blk-ioc.c\n  block, cfq: move cfqd-\u003eicq_list to request_queue and add request-\u003eelv.icq\n  block, cfq: reorganize cfq_io_context into generic and cfq specific parts\n  block: remove elevator_queue-\u003eops\n  block: reorder elevator switch sequence\n  ...\n\nFix up conflicts in:\n - block/blk-cgroup.c\n\tSwitch from can_attach_task to can_attach\n - block/cfq-iosched.c\n\tconflict with now removed cic index changes (we now use q-\u003eid instead)\n"
    },
    {
      "commit": "85a0f7b220777cd3c232fd2f079db5c4a874c4ee",
      "tree": "5d238aaf0f5a49fd2fa815528de86fa4170964b0",
      "parents": [
        "f748040bb875a0d94c3ceef180ab704bdf43079f",
        "62ee8c13e26cffe6483630f59932c3e936dfb586"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Sun Jan 15 10:39:35 2012 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Sun Jan 15 10:39:35 2012 +0100"
      },
      "message": "Merge branch \u0027for-3.3/mtip32xx\u0027 into for-3.3/drivers\n"
    },
    {
      "commit": "577ebb374c78314ac4617242f509e2f5e7156649",
      "tree": "690ae95d67bb8f9fd66bc0daebc90a46904420ac",
      "parents": [
        "81d48f0aee544885c39ef6e1ffb1175f276e6adf"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Thu Jan 12 16:01:27 2012 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 14 15:07:24 2012 -0800"
      },
      "message": "block: add and use scsi_blk_cmd_ioctl\n\nIntroduce a wrapper around scsi_cmd_ioctl that takes a block device.\n\nThe function will then be enhanced to detect partition block devices\nand, in that case, subject the ioctls to whitelisting.\n\nCc: linux-scsi@vger.kernel.org\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: James Bottomley \u003cJBottomley@parallels.com\u003e\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0a80939b3e6af4b0dc93bf88ec02fd7e90a16f1b",
      "tree": "a112335f2b2b2a51e90531c6c67e8a3b54dcf0ef",
      "parents": [
        "0b48d42235caf627121f440b57d376f48a9af8b6",
        "72db395ffadb1d33233fd123c2bf87ba0198c6c1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 14 12:32:16 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 14 12:32:16 2012 -0800"
      },
      "message": "Merge tag \u0027for-linus\u0027 of git://github.com/rustyrussell/linux\n\nAutogenerated GPG tag for Rusty D1ADB8F1: 15EE 8D6C AB0E 7F0C F999  BFCB D920 0E6C D1AD B8F1\n\n* tag \u0027for-linus\u0027 of git://github.com/rustyrussell/linux:\n  module_param: check that bool parameters really are bool.\n  intelfbdrv.c: bailearly is an int module_param\n  paride/pcd: fix bool verbose module parameter.\n  module_param: make bool parameters really bool (drivers \u0026 misc)\n  module_param: make bool parameters really bool (arch)\n  module_param: make bool parameters really bool (core code)\n  kernel/async: remove redundant declaration.\n  printk: fix unnecessary module_param_name.\n  lirc_parallel: fix module parameter description.\n  module_param: avoid bool abuse, add bint for special cases.\n  module_param: check type correctness for module_param_array\n  modpost: use linker section to generate table.\n  modpost: use a table rather than a giant if/else statement.\n  modules: sysfs - export: taint, coresize, initsize\n  kernel/params: replace DEBUGP with pr_debug\n  module: replace DEBUGP with pr_debug\n  module: struct module_ref should contains long fields\n  module: Fix performance regression on modules with large symbol tables\n  module: Add comments describing how the \"strmap\" logic works\n\nFix up conflicts in scripts/mod/file2alias.c due to the new linker-\ngenerated table approach to adding __mod_*_device_table entries.  The\nARM sa11x0 mcp bus needed to be converted to that too.\n"
    },
    {
      "commit": "1a52bb0b686844021597d190e562ab55d1210104",
      "tree": "7edf13509869a6a7f1f488a679f15ff6c3057c54",
      "parents": [
        "8638094e956a47dbb9a25166705a91e9a0981d52",
        "83eb26af0db71f2dfe551405c55d982288fa6178"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 13 10:29:21 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 13 10:29:21 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:\n  ceph: ensure prealloc_blob is in place when removing xattr\n  rbd: initialize snap_rwsem in rbd_add()\n  ceph: enable/disable dentry complete flags via mount option\n  vfs: export symbol d_find_any_alias()\n  ceph: always initialize the dentry in open_root_dentry()\n  libceph: remove useless return value for osd_client __send_request()\n  ceph: avoid iput() while holding spinlock in ceph_dir_fsync\n  ceph: avoid useless dget/dput in encode_fh\n  ceph: dereference pointer after checking for NULL\n  crush: fix force for non-root TAKE\n  ceph: remove unnecessary d_fsdata conditional checks\n  ceph: Use kmemdup rather than duplicating its implementation\n\nFix up conflicts in fs/ceph/super.c (d_alloc_root() failure handling vs\nalways initialize the dentry in open_root_dentry)\n"
    },
    {
      "commit": "1b9fbafb3ad3fd02db42e3dd48b4fb7631753ca9",
      "tree": "5380241debd3a95155c4d1c415bbff726ef97563",
      "parents": [
        "90ab5ee94171b3e28de6bb42ee30b527014e0be7"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jan 13 09:32:26 2012 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jan 13 09:32:26 2012 +1030"
      },
      "message": "paride/pcd: fix bool verbose module parameter.\n\nDan Carpenter points out that it\u0027s an int, not a bool:\n\npcd.c:427:\t\t\t\tif (verbose \u003e 1)\npcd.c:433:\t\t\t\tif (verbose \u003e 1)\npcd.c:437:\t\t\t\tif (verbose \u003c 2)\npcd.c:506:#define DBMSG(msg)\t((verbose\u003e1)?(msg):NULL)\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\n"
    },
    {
      "commit": "90ab5ee94171b3e28de6bb42ee30b527014e0be7",
      "tree": "fcf89889f6e881f2b231d3d20287c08174ce4b54",
      "parents": [
        "476bc0015bf09dad39d36a8b19f76f0c181d1ec9"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jan 13 09:32:20 2012 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jan 13 09:32:20 2012 +1030"
      },
      "message": "module_param: make bool parameters really bool (drivers \u0026 misc)\n\nmodule_param(bool) used to counter-intuitively take an int.  In\nfddd5201 (mid-2009) we allowed bool or int/unsigned int using a messy\ntrick.\n\nIt\u0027s time to remove the int/unsigned int option.  For this version\nit\u0027ll simply give a warning, but it\u0027ll break next kernel version.\n\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "0e805a1d857799352e51e8697c0b1a30aec16913",
      "tree": "bc6ad83e25af597f40b03170026c3e5d331c2814",
      "parents": [
        "a40dc6cc2e121abcbd1b22583ef5447763df510c"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Wed Jan 11 19:42:15 2012 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Jan 12 11:00:50 2012 -0800"
      },
      "message": "rbd: initialize snap_rwsem in rbd_add()\n\nNew rbd device structures get initialized in rbd_add().  Many of\nthe fields rely on being initially zero-filled.  However we lockdep\nwas noticing that the rw_semaphore embedded in the header field\nwas not getting properly initialized.  Fix that.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "f8fb5bc23a50a5398aa31a4e8c6dbbef53d2dec6",
      "tree": "a8f466179ba3afdce265607703ed280231e04e3c",
      "parents": [
        "6abd6e5a4404056e28be04958a57d0286883161a"
      ],
      "author": {
        "name": "Amit Shah",
        "email": "amit.shah@redhat.com",
        "time": "Thu Dec 22 16:58:30 2011 +0530"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 12 15:44:45 2012 +1030"
      },
      "message": "virtio: blk: Add freeze, restore handlers to support S4\n\nDelete the vq and flush any pending requests from the block queue on the\nfreeze callback to prepare for hibernation.\n\nRe-create the vq in the restore callback to resume normal function.\n\nSigned-off-by: Amit Shah \u003camit.shah@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "6abd6e5a4404056e28be04958a57d0286883161a",
      "tree": "3a862f66577272bfc3103827b515e9564197b24c",
      "parents": [
        "c743d09dbd018dd6345519fb3264b16bdaa41746"
      ],
      "author": {
        "name": "Amit Shah",
        "email": "amit.shah@redhat.com",
        "time": "Thu Dec 22 16:58:29 2011 +0530"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 12 15:44:45 2012 +1030"
      },
      "message": "virtio: blk: Move vq initialization to separate function\n\nThe probe and PM restore functions will share this code.\n\nSigned-off-by: Amit Shah \u003camit.shah@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "4678d6f970c2f7c0cbfefc0cc666432d153b321b",
      "tree": "6757c596f991c36b38e4d6bb29df4ad0f49c330d",
      "parents": [
        "e93300b1afc7cd4fe1e741ceaf06714d060e88b8"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Jan 12 15:44:44 2012 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 12 15:44:44 2012 +1030"
      },
      "message": "virtio_blk: fix config handler race\n\nFix a theoretical race related to config work\nhandler: a config interrupt might happen\nafter we flush config work but before we\nreset the device. It will then cause the\nconfig work to run during or after reset.\n\nTwo problems with this:\n- if this runs after device is gone we will get use after free\n- access of config while reset is in progress is racy\n(as layout is changing).\n\nAs a solution\n1. flush after reset when we know there will be no more interrupts\n2. add a flag to disable config access before reset\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "f96fde41f7f9af6cf20f6a1919f5d9670f84d574",
      "tree": "14b8a0343b255989ac8ba0ea34e18dca419723df",
      "parents": [
        "5dfc17628d57f9e62043ed0cba03a6e3eb019a78"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 12 15:44:42 2012 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 12 15:44:42 2012 +1030"
      },
      "message": "virtio: rename virtqueue_add_buf_gfp to virtqueue_add_buf\n\nRemove wrapper functions. This makes the allocation type explicit in\nall callers; I used GPF_KERNEL where it seemed obvious, left it at\nGFP_ATOMIC otherwise.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "df3481399042200792822b6243e36a95a557b57e",
      "tree": "0d59f0f5dedb37abb0c988889976c0616a8a90e5",
      "parents": [
        "366e8217e5ec6ce9f73aec19c46d983110fb4a98"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Wed Jan 11 07:29:56 2012 -0700"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Wed Jan 11 09:22:24 2012 -0500"
      },
      "message": "NVMe: Set number of queues correctly\n\nThe number of submission \u0026 completion queues should be set by calling\nSet Features, not Get Features.\n\nReported-by: Kwok Kong \u003cKwok.Kong@idt.com\u003e\nSigned-off-by: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\n"
    },
    {
      "commit": "4690dfa8cd66c37fbe99bb8cd5baa86102110776",
      "tree": "063d1f68298cab19d29a4aa689d755266ae85a7d",
      "parents": [
        "c2e08e7ce5ab25a781197a71c5241742e8c9fdfe",
        "f3aef2510e2bb28cdbf32e5f3b8f04f03336ac81"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 17:37:49 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 17:37:49 2012 -0800"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.monstr.eu/linux-2.6-microblaze\n\n* \u0027next\u0027 of git://git.monstr.eu/linux-2.6-microblaze:\n  microblaze: Wire-up new system calls\n  microblaze: Remove NO_IRQ from architecture\n  input: xilinx_ps2: Don\u0027t use NO_IRQ\n  block: xsysace: Don\u0027t use NO_IRQ\n  microblaze: Trivial asm fix\n  microblaze: Fix debug message in module\n  microblaze: Remove eprintk macro\n  microblaze: Send CR before LF for early console\n  microblaze: Change NO_IRQ to 0\n  microblaze: Use irq_of_parse_and_map for timer\n  microblaze: intc: Change variable name\n  microblaze: Use of_find_compatible_node for timer and intc\n  microblaze: Add __cmpdi2\n  microblaze: Synchronize __pa __va macros\n"
    },
    {
      "commit": "366e8217e5ec6ce9f73aec19c46d983110fb4a98",
      "tree": "18d3f0923eedf510062a95a332b1735ae14dcde3",
      "parents": [
        "4eeb9215a0d5c9494ca8b20158cc8ee82618840c"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Tue Jan 10 16:30:15 2012 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Tue Jan 10 16:30:15 2012 -0500"
      },
      "message": "NVMe: Version 0.8\n\nSigned-off-by: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\n"
    },
    {
      "commit": "4eeb9215a0d5c9494ca8b20158cc8ee82618840c",
      "tree": "e78031c97d64d7545454f729f14e4885fa5f5f5c",
      "parents": [
        "1c2ad9faaf662b4a525348775deca3ac8e6c35a0"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Tue Jan 10 14:35:08 2012 -0700"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Tue Jan 10 16:29:23 2012 -0500"
      },
      "message": "NVMe: Set queue flags correctly\n\nQUEUE_FLAG_* are flags (other than QUEUE_FLAG_DEFAULT), so they cannot\nbe ORed together.  Set the queue flags using queue_flag_set_unlocked().\n\nReported-by: Donald Wood \u003cdonald.e.wood@intel.com\u003e\nSigned-off-by: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\n"
    },
    {
      "commit": "1c2ad9faaf662b4a525348775deca3ac8e6c35a0",
      "tree": "3b378e4edca145b682cd4952c105ff9e31b3d465",
      "parents": [
        "fe304c43c6d63e29ed4fc46a874d7a74313788c5"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Fri Jan 06 13:52:56 2012 -0700"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Tue Jan 10 14:54:22 2012 -0500"
      },
      "message": "NVMe: Simplify nvme_unmap_user_pages\n\nBy using the iod-\u003enents field (the same way other I/O paths do), we can\navoid recalculating the number of sg entries at unmap time, and make\nnvme_unmap_user_pages() easier to call.\n\nAlso, use the \u0027write\u0027 parameter instead of assuming DMA_FROM_DEVICE.\n\nSigned-off-by: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\n"
    },
    {
      "commit": "fe304c43c6d63e29ed4fc46a874d7a74313788c5",
      "tree": "dbc3cc55c09bdcff5b503915d86049b20c9911e7",
      "parents": [
        "497421880acecd0281d3182d534f3d28c927caec"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Fri Jan 06 13:49:25 2012 -0700"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Tue Jan 10 14:54:14 2012 -0500"
      },
      "message": "NVMe: Mark the end of the sg list\n\nFor user I/O and admin commands, we were forgetting to mark the end of\nthe SG list.\n\nSigned-off-by: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\n"
    },
    {
      "commit": "497421880acecd0281d3182d534f3d28c927caec",
      "tree": "06efff97926506f1797e551b5a35506b28636188",
      "parents": [
        "ff976d724a74e4522e9ca2de1fb37ac4520f454f"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Fri Jan 06 13:42:45 2012 -0700"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Tue Jan 10 14:54:05 2012 -0500"
      },
      "message": "NVMe: Fix DMA mapping for admin commands\n\nWe were always mapping as DMA_FROM_DEVICE then unmapping with\nDMA_TO_DEVICE which was clearly not correct.  Follow the same pattern as\nnvme_submit_io() and key off the bottom bit of the opcode to determine\nwhether this is a read or a write.\n\nSigned-off-by: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\n"
    },
    {
      "commit": "ff976d724a74e4522e9ca2de1fb37ac4520f454f",
      "tree": "6118b8c484f217fada77f6da2f5d6b2e34ef9ed0",
      "parents": [
        "eca18b2394a9387feeaf14cd884ddddd7a809d19"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Tue Dec 20 13:53:01 2011 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Tue Jan 10 14:53:54 2012 -0500"
      },
      "message": "NVMe: Rename IO_TIMEOUT to NVME_IO_TIMEOUT\n\nIO_TIMEOUT is a little too generic and might be used by other parts of\nthe kernel in the future.\n\nSigned-off-by: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\n"
    },
    {
      "commit": "eca18b2394a9387feeaf14cd884ddddd7a809d19",
      "tree": "b20244dcfbe2fa1e86ca782c4f879a3174da25d1",
      "parents": [
        "5c1281a3bf5655ec1b90db495da3a2b77826ba88"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Tue Dec 20 13:34:52 2011 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Tue Jan 10 14:51:20 2012 -0500"
      },
      "message": "NVMe: Merge the nvme_bio and nvme_prp data structures\n\nThe new merged data structure is called nvme_iod.  This improves performance\nfor mid-sized I/Os (in the 16k range) since we save a memory allocation.\nIt is also a slightly simpler interface to use.\n\nSigned-off-by: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\n"
    },
    {
      "commit": "5c1281a3bf5655ec1b90db495da3a2b77826ba88",
      "tree": "6b8b76416b61c356cd9e6cccc825739e473cb69d",
      "parents": [
        "040a93b52a9eee8177ebaf2ba0ee0f9f518d1bf8"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Tue Dec 20 11:54:53 2011 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Tue Jan 10 14:51:00 2012 -0500"
      },
      "message": "NVMe: Change nvme_completion_fn to take a dev\n\nThe queue is only needed for some rare occasions, and it\u0027s more consistent\nto pass the device around.\n\nSigned-off-by: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\n"
    },
    {
      "commit": "040a93b52a9eee8177ebaf2ba0ee0f9f518d1bf8",
      "tree": "be1f319048580f40c2634bca46e2840d721a32f4",
      "parents": [
        "c2f5b65020869215814df03c3941dac9436f99fb"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Tue Dec 20 11:04:12 2011 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Tue Jan 10 14:49:18 2012 -0500"
      },
      "message": "NVMe: Change get_nvmeq to take a dev instead of a namespace\n\nUpcoming patches require calling get_nvmeq when we don\u0027t have a namespace.\nSome callers already have the device in a local variable anyway.\n\nSigned-off-by: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\n"
    },
    {
      "commit": "c2f5b65020869215814df03c3941dac9436f99fb",
      "tree": "61e4da8b569ec8f747243358429f1052c49f837b",
      "parents": [
        "010e646ba2fdfc558048a97da746381c35836280"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Sat Oct 15 07:33:46 2011 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Tue Jan 10 14:47:46 2012 -0500"
      },
      "message": "NVMe: Simplify completion handling\n\nInstead of encoding the handler type in the bottom two bits of the\nper-completion context pointer, store the handler function as well\nas the context pointer.  This gives us more flexibility and the code\nis clearer.  It comes at the cost of an extra 8k of memory per queue,\nbut this feels like a reasonable price to pay.\n\nSigned-off-by: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\n"
    },
    {
      "commit": "90160371b3a3e67ef78d68210a94dd30664a703d",
      "tree": "2841ea811be129133cf9b83d9c3badd96e7ffab4",
      "parents": [
        "ae5cfc0546ca2698b9dcddf72accbd70e57590a0",
        "6c254de16a1d14c1ac931d3aa08dc88ac9fc582b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 10:09:59 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 10:09:59 2012 -0800"
      },
      "message": "Merge branch \u0027stable/for-linus-3.3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen\n\n* \u0027stable/for-linus-3.3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen: (37 commits)\n  xen/pciback: Expand the warning message to include domain id.\n  xen/pciback: Fix \"device has been assigned to X domain!\" warning\n  xen/pciback: Move the PCI_DEV_FLAGS_ASSIGNED ops to the \"[un|]bind\"\n  xen/xenbus: don\u0027t reimplement kvasprintf via a fixed size buffer\n  xenbus: maximum buffer size is XENSTORE_PAYLOAD_MAX\n  xen/xenbus: Reject replies with payload \u003e XENSTORE_PAYLOAD_MAX.\n  Xen: consolidate and simplify struct xenbus_driver instantiation\n  xen-gntalloc: introduce missing kfree\n  xen/xenbus: Fix compile error - missing header for xen_initial_domain()\n  xen/netback: Enable netback on HVM guests\n  xen/grant-table: Support mappings required by blkback\n  xenbus: Use grant-table wrapper functions\n  xenbus: Support HVM backends\n  xen/xenbus-frontend: Fix compile error with randconfig\n  xen/xenbus-frontend: Make error message more clear\n  xen/privcmd: Remove unused support for arch specific privcmp mmap\n  xen: Add xenbus_backend device\n  xen: Add xenbus device driver\n  xen: Add privcmd device driver\n  xen/gntalloc: fix reference counts on multi-page mappings\n  ...\n"
    },
    {
      "commit": "98793265b429a3f0b3f1750e74d67cd4d740d162",
      "tree": "b0bd717673f0c21845cf053f3fb6b75d42530af5",
      "parents": [
        "b4a133da2eaccb844a7beaef16ffd9c76a0d21d3",
        "bd1b2a555952d959f47169056fca05acf7eff81f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 13:21:22 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 13:21:22 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (53 commits)\n  Kconfig: acpi: Fix typo in comment.\n  misc latin1 to utf8 conversions\n  devres: Fix a typo in devm_kfree comment\n  btrfs: free-space-cache.c: remove extra semicolon.\n  fat: Spelling s/obsolate/obsolete/g\n  SCSI, pmcraid: Fix spelling error in a pmcraid_err() call\n  tools/power turbostat: update fields in manpage\n  mac80211: drop spelling fix\n  types.h: fix comment spelling for \u0027architectures\u0027\n  typo fixes: aera -\u003e area, exntension -\u003e extension\n  devices.txt: Fix typo of \u0027VMware\u0027.\n  sis900: Fix enum typo \u0027sis900_rx_bufer_status\u0027\n  decompress_bunzip2: remove invalid vi modeline\n  treewide: Fix comment and string typo \u0027bufer\u0027\n  hyper-v: Update MAINTAINERS\n  treewide: Fix typos in various parts of the kernel, and fix some comments.\n  clockevents: drop unknown Kconfig symbol GENERIC_CLOCKEVENTS_MIGR\n  gpio: Kconfig: drop unknown symbol \u0027CS5535_GPIO\u0027\n  leds: Kconfig: Fix typo \u0027D2NET_V2\u0027\n  sound: Kconfig: drop unknown symbol ARCH_CLPS7500\n  ...\n\nFix up trivial conflicts in arch/powerpc/platforms/40x/Kconfig (some new\nkconfig additions, close to removed commented-out old ones)\n"
    },
    {
      "commit": "972b2c719990f91eb3b2310d44ef8a2d38955a14",
      "tree": "b25a250ec5bec4b7b6355d214642d8b57c5cab32",
      "parents": [
        "02550d61f49266930e674286379d3601006b2893",
        "c3aa077648e147783a7a53b409578234647db853"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 12:19:57 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 12:19:57 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\n* \u0027for-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (165 commits)\n  reiserfs: Properly display mount options in /proc/mounts\n  vfs: prevent remount read-only if pending removes\n  vfs: count unlinked inodes\n  vfs: protect remounting superblock read-only\n  vfs: keep list of mounts for each superblock\n  vfs: switch -\u003eshow_options() to struct dentry *\n  vfs: switch -\u003eshow_path() to struct dentry *\n  vfs: switch -\u003eshow_devname() to struct dentry *\n  vfs: switch -\u003eshow_stats to struct dentry *\n  switch security_path_chmod() to struct path *\n  vfs: prefer -\u003edentry-\u003ed_sb to -\u003emnt-\u003emnt_sb\n  vfs: trim includes a bit\n  switch mnt_namespace -\u003eroot to struct mount\n  vfs: take /proc/*/mounts and friends to fs/proc_namespace.c\n  vfs: opencode mntget() mnt_set_mountpoint()\n  vfs: spread struct mount - remaining argument of next_mnt()\n  vfs: move fsnotify junk to struct mount\n  vfs: move mnt_devname\n  vfs: move mnt_list to struct mount\n  vfs: switch pnode.h macros to struct mount *\n  ...\n"
    },
    {
      "commit": "ece2ccb668046610189d88d6aaf05aeb09c988a1",
      "tree": "a0349945f7537de2aca420b47ced23b6294f8b65",
      "parents": [
        "d10577a8d86a0c735488d66d32289a6d66bcfa20",
        "a218d0fdc5f9004164ff151d274487f6799907d0",
        "ff01bb4832651c6d25ac509a06a10fcbd75c461c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jan 06 23:15:54 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jan 06 23:15:54 2012 -0500"
      },
      "message": "Merge branches \u0027vfsmount-guts\u0027, \u0027umode_t\u0027 and \u0027partitions\u0027 into Z\n"
    },
    {
      "commit": "356b95424cfb456e14a59eaa579422ce014c424b",
      "tree": "c0478479041f82ccd7a95157dddf2fd2d59ad8c5",
      "parents": [
        "770e1b035dcb6ec3f8ee69dda0815dd1e220a683",
        "3bd9e50b4297b0d85bb86a8f2ade941c0f9c21fd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 18:28:12 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 18:28:12 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k: (21 commits)\n  m68k/mac: Make CONFIG_HEARTBEAT unavailable on Mac\n  m68k/serial: Remove references to obsolete serial config options\n  m68k/net: Remove obsolete IRQ_FLG_* users\n  m68k: Don\u0027t comment out syscalls used by glibc\n  m68k/atari: Move declaration of atari_SCC_reset_done to header file\n  m68k/serial: Remove references to obsolete CONFIG_SERIAL167\n  m68k/hp300: Export hp300_ledstate\n  m68k: Initconst section fixes\n  m68k/mac: cleanup macro case\n  mac_scsi: fix mac_scsi on some powerbooks\n  m68k/mac: fix powerbook 150 adb_type\n  m68k/mac: fix baboon irq disable and shutdown\n  m68k/mac: oss irq fixes\n  m68k/mac: fix nubus slot irq disable and shutdown\n  m68k/mac: enable via_alt_mapping on performa 580\n  m68k/mac: cleanup forward declarations\n  m68k/mac: cleanup mac_irq_pending\n  m68k/mac: cleanup mac_clear_irq\n  m68k/mac: early console\n  m68k/mvme16x: Add support for EARLY_PRINTK\n  ...\n\nFix up trivial conflict in arch/m68k/Kconfig.debug due to new\nEARLY_PRINTK config option addition clashing with movement of the\nBOOTPARAM options.\n"
    },
    {
      "commit": "ba2d5affded07dcdd7b076dfeb4f2eefdf79a997",
      "tree": "f94f1274f332680fdbd9ed07f7f6d9ca9a7aec19",
      "parents": [
        "5dbeaad3eac6691d57af064c0a60d03751878303"
      ],
      "author": {
        "name": "Michal Simek",
        "email": "monstr@monstr.eu",
        "time": "Tue Dec 20 11:09:14 2011 +0100"
      },
      "committer": {
        "name": "Michal Simek",
        "email": "monstr@monstr.eu",
        "time": "Thu Jan 05 08:34:29 2012 +0100"
      },
      "message": "block: xsysace: Don\u0027t use NO_IRQ\n\nDrivers shouldn\u0027t use NO_IRQ. Microblaze and PPC\ndefine NO_IRQ as 0 and this reference will be removed\nin near future.\n\nSigned-off-by: Michal Simek \u003cmonstr@monstr.eu\u003e\nReviewed-by: Ryan Mallon \u003crmallon@gmail.com\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCC: Rob Herring \u003crob.herring@calxeda.com\u003e\n"
    },
    {
      "commit": "73db144b58a32fc39733db6a7e1fe582072ad26a",
      "tree": "f03edee848be5aa085c30d493c02a5ee1b8fc3da",
      "parents": [
        "2e16341438c9eca15a2e0bb2ad8555bbdf24b86d"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@suse.com",
        "time": "Thu Dec 22 09:08:13 2011 +0000"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Wed Jan 04 17:01:17 2012 -0500"
      },
      "message": "Xen: consolidate and simplify struct xenbus_driver instantiation\n\nThe \u0027name\u0027, \u0027owner\u0027, and \u0027mod_name\u0027 members are redundant with the\nidentically named fields in the \u0027driver\u0027 sub-structure. Rather than\nswitching each instance to specify these fields explicitly, introduce\na macro to simplify this.\n\nEliminate further redundancy by allowing the drvname argument to\nDEFINE_XENBUS_DRIVER() to be blank (in which case the first entry from\nthe ID table will be used for .driver.name).\n\nAlso eliminate the questionable xenbus_register_{back,front}end()\nwrappers - their sole remaining purpose was the checking of the\n\u0027owner\u0027 field, proper setting of which shouldn\u0027t be an issue anymore\nwhen the macro gets used.\n\nv2: Restore DRV_NAME for the driver name in xen-pciback.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@suse.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\nCc: Florian Tobias Schandinat \u003cFlorianSchandinat@gmx.de\u003e\nCc: Ian Campbell \u003cian.campbell@citrix.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "62ee8c13e26cffe6483630f59932c3e936dfb586",
      "tree": "7f92cc63e2413b19466255133f1198319dd4ae4f",
      "parents": [
        "3e54a3d1b83220d748f1a27c8999634be7a83949"
      ],
      "author": {
        "name": "Asai Thambi S P",
        "email": "asamymuthupa@micron.com",
        "time": "Wed Jan 04 22:01:32 2012 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Wed Jan 04 22:01:32 2012 +0100"
      },
      "message": "mtip32xx: do rebuild monitoring asynchronously\n\nEarlier, rebuild monitoring was done in the context of probe. Now the service\nthread takes the responsibility of rebuild monitoring, and probe returns good\nstatus.\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": "2c9ede55ecec58099b72e4bb8eab719f32f72c31",
      "tree": "8498a8c940fea97931b469fc73eb1a5022a2b28c",
      "parents": [
        "7d54fa6472609f2b0f2ea27e51ec2cf1fb27bd57"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 23 20:24:48 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:55 2012 -0500"
      },
      "message": "switch device_get_devnode() and -\u003edevnode() to umode_t *\n\nboth callers of device_get_devnode() are only interested in lower 16bits\nand nobody tries to return anything wider than 16bit anyway.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ff01bb4832651c6d25ac509a06a10fcbd75c461c",
      "tree": "bbfdebd317db97d346df78293566f36e883b1be9",
      "parents": [
        "94ea4158f1733e3b10cef067d535f504866e0c41"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Sep 16 02:31:11 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:07 2012 -0500"
      },
      "message": "fs: move code out of buffer.c\n\nMove invalidate_bdev, block_sync_page into fs/block_dev.c.  Export\nkill_bdev as well, so brd doesn\u0027t have to open code it.  Reduce\nbuffer_head.h requirement accordingly.\n\nRemoved a rather large comment from invalidate_bdev, as it looked a bit\nobsolete to bother moving.  The small comment replacing it says enough.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f748040bb875a0d94c3ceef180ab704bdf43079f",
      "tree": "b4f91bfaafc1e714e5ff95782b6fe4081a6c7e49",
      "parents": [
        "fd63836811d6e5b5f5f608abf865bc9e91762c8c",
        "f094148a1751d6ece9374851eb2926bc3cfd16ef"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Sun Dec 25 16:46:46 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Sun Dec 25 16:46:46 2011 +0100"
      },
      "message": "Merge branch \u0027stable/for-jens-3.3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen into for-3.3/drivers\n"
    },
    {
      "commit": "b0d78ee89c4ac1e99dda52f304baf82bd2a6c946",
      "tree": "2aa8b6869b6daaefa1e7914849098337ce7f6283",
      "parents": [
        "6f12d2ee52dcf97dcefdadbd500e7650311eaa6a",
        "4eabc941259f9d8c8fb71746d3f30c87e1d9e49b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 16 10:05:14 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 16 10:05:14 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-block:\n  block: don\u0027t kick empty queue in blk_drain_queue()\n  block/swim3: Locking fixes\n  loop: Fix discard_alignment default setting\n  cfq-iosched: fix cfq_cic_link() race confition\n  cfq-iosched: free cic_index if blkio_alloc_blkg_stats fails\n  cciss: fix flush cache transfer length\n  cciss: Add IRQF_SHARED back in for the non-MSI(X) interrupt handler\n  loop: fix loop block driver discard and encryption comment\n  block: initialize request_queue\u0027s numa node during\n"
    },
    {
      "commit": "f094148a1751d6ece9374851eb2926bc3cfd16ef",
      "tree": "9fd00d17a10378b443ef4d783c77df6bdbe78b82",
      "parents": [
        "ae18be11b5ccc3be9e268592616488c5f9d987f5"
      ],
      "author": {
        "name": "Thomas Meyer",
        "email": "thomas@m3y3r.de",
        "time": "Tue Nov 29 22:08:00 2011 +0100"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Fri Dec 16 12:36:52 2011 -0500"
      },
      "message": "xen-blkfront: Use kcalloc instead of kzalloc to allocate array\n\nThe advantage of kcalloc is, that will prevent integer overflows which could\nresult from the multiplication of number of elements and size and it is also\na bit nicer to read.\n\nThe semantic patch that makes this change is available\nin https://lkml.org/lkml/2011/11/25/107\n\nSigned-off-by: Thomas Meyer \u003cthomas@m3y3r.de\u003e\n[v1: Seperated the drivers/block/cciss_scsi.c out of this patch]\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "1ba64edef6051d2ec79bb2fbd3a0c8f0df00ab55",
      "tree": "1e8a8d5cfdfeff0f92490985bd125ab6666673b0",
      "parents": [
        "dc47ce90c3a822cd7c9e9339fe4d5f61dcb26b50"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Dec 14 00:33:37 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Wed Dec 14 00:33:37 2011 +0100"
      },
      "message": "block, sx8: kill blk_insert_request()\n\nThe only user left for blk_insert_request() is sx8 and it can be\ntrivially switched to use blk_execute_rq_nowait() - special requests\naren\u0027t included in io stat and sx8 doesn\u0027t use block layer tagging.\nSwitch sx8 and kill blk_insert_requeset().\n\nThis patch doesn\u0027t introduce any functional difference.\n\nOnly compile tested.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "653f42f6b6348652c02737924abd6a5a6426e7ee",
      "tree": "466d9d722742f8f9c553226ffce200dc62f494ab",
      "parents": [
        "4dde6dedad736b86bcea3722abb7d8031aeeaa16",
        "9d5a09e659f8414dd3713e2acbfaf8a9e9794aa1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 13 14:59:42 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 13 14:59:42 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:\n  ceph: add missing spin_unlock at ceph_mdsc_build_path()\n  ceph: fix SEEK_CUR, SEEK_SET regression\n  crush: fix mapping calculation when force argument doesn\u0027t exist\n  ceph: use i_ceph_lock instead of i_lock\n  rbd: remove buggy rollback functionality\n  rbd: return an error when an invalid header is read\n  ceph: fix rasize reporting by ceph_show_options\n"
    },
    {
      "commit": "b302545744c031eae04a43fb1c56cc17e00a193a",
      "tree": "6d72f21f033d5e2e1589dada45b767a0327e45d0",
      "parents": [
        "dfaf3c036cd46a73f4ef3e4b75c1f647e503d4e1"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Dec 12 12:42:12 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Mon Dec 12 12:42:12 2011 +0100"
      },
      "message": "block/swim3: Locking fixes\n\nThe old PowerMac swim3 driver has some \"interesting\" locking issues,\nusing a private lock and failing to lock the queue before completing\nrequests, which triggered WARN_ONs among others.\n\nThis rips out the private lock, makes everything operate under the\nblock queue lock, and generally makes things simpler.\n\nWe used to also share a queue between the two possible instances which\nwas problematic since we might pick the wrong controller in some cases,\nso make the queue and the current request per-instance and use\nqueuedata to point to our private data which is a lot cleaner.\n\nWe still share the queue lock but then, it\u0027s nearly impossible to actually\nuse 2 swim3\u0027s simultaneously: one would need to have a Wallstreet\nPowerBook, the only machine afaik with two of these on the motherboard,\nand populate both hotswap bays with a floppy drive (the machine ships\nonly with one), so nobody cares...\n\nWhile at it, add a little fix to clear up stale interrupts when loading\nthe driver or plugging a floppy drive in a bay.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "ed04c97d5187c2d606a8fee0ec9ba172942ee508",
      "tree": "47d52cb075cce81d874a17c092fc8ccab4cc053b",
      "parents": [
        "30c0527d15ce4edcde64581e9d062ba9fb08fe16"
      ],
      "author": {
        "name": "Finn Thain",
        "email": "fthain@telegraphics.com.au",
        "time": "Mon Oct 24 01:11:15 2011 +1100"
      },
      "committer": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Sat Dec 10 19:52:46 2011 +0100"
      },
      "message": "m68k/mac: cleanup forward declarations\n\nMove some forward declarations into header files and adjust includes.\n\nSigned-off-by: Finn Thain \u003cfthain@telegraphics.com.au\u003e\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\n"
    },
    {
      "commit": "51703306b3b9ea7c05728040998521e47358147b",
      "tree": "aa76b79a9dcde9269b61524953a57b7d1328bcea",
      "parents": [
        "81e759fbf7715514c32e563789db1d9d47fd55fb"
      ],
      "author": {
        "name": "Josh Durgin",
        "email": "josh.durgin@dreamhost.com",
        "time": "Mon Oct 24 16:28:27 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Dec 07 10:46:19 2011 -0800"
      },
      "message": "rbd: remove buggy rollback functionality\n\nThis doesn\u0027t interact with resizing well, since it doesn\u0027t set the\nsize of the device to the size at the snapshot. It\u0027s also an expensive\noperation to be synchronous. Rollback can still be done with the\nuserspace rbd tool.\n\nSigned-off-by: Josh Durgin \u003cjosh.durgin@dreamhost.com\u003e\n"
    },
    {
      "commit": "81e759fbf7715514c32e563789db1d9d47fd55fb",
      "tree": "076296ce4a9c12c400e0a0de39d80844ced3aa14",
      "parents": [
        "2151937d7ce491bfbe269a1ae742c6686904474c"
      ],
      "author": {
        "name": "Josh Durgin",
        "email": "josh.durgin@dreamhost.com",
        "time": "Tue Nov 15 14:49:53 2011 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Dec 07 10:46:10 2011 -0800"
      },
      "message": "rbd: return an error when an invalid header is read\n\nThis protects against opening future rbd images that have incompatible format changes.\n\nSigned-off-by: Josh Durgin \u003cjosh.durgin@dreamhost.com\u003e\n"
    },
    {
      "commit": "42b2aa86c6670347a2a07e6d7af0e0ecc8fdbff9",
      "tree": "6f8fb2a1efb3e84bf281658befe06dc6a7fb026b",
      "parents": [
        "a13b032776379fa6e2bfccf798969ca51e5fb052"
      ],
      "author": {
        "name": "Justin P. Mattock",
        "email": "justinmattock@gmail.com",
        "time": "Mon Nov 28 20:31:00 2011 -0800"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Dec 02 14:57:31 2011 +0100"
      },
      "message": "treewide: Fix typos in various parts of the kernel, and fix some comments.\n\nThe below patch fixes some typos in various parts of the kernel, as well as fixes some comments.\nPlease let me know if I missed anything, and I will try to get it changed and resent.\n\nSigned-off-by: Justin P. Mattock \u003cjustinmattock@gmail.com\u003e\nAcked-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "dfaf3c036cd46a73f4ef3e4b75c1f647e503d4e1",
      "tree": "4a4d37e3560e358c83e4f763cf90db0b22444cb7",
      "parents": [
        "5eb46851de3904cd1be9192fdacb8d34deadc1fc"
      ],
      "author": {
        "name": "Lukas Czerner",
        "email": "lczerner@redhat.com",
        "time": "Fri Dec 02 14:47:03 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Fri Dec 02 14:47:03 2011 +0100"
      },
      "message": "loop: Fix discard_alignment default setting\n\ndiscard_alignment is not relevant to the loop driver since it is\nsupposed to be set as a workaround for the old sector 63 alignments.\nSo set it to zero rather than block size.\n\nSigned-off-by: Lukas Czerner \u003clczerner@redhat.com\u003e\nReported-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "59bd71a81b66990564eac69aedd28ad87a2c81f4",
      "tree": "c7424a912c20ff4c998b628555b119bdc2bb3499",
      "parents": [
        "6225da481597ebff09454c785fe0afc7f5fdbb77"
      ],
      "author": {
        "name": "Stephen M. Cameron",
        "email": "scameron@beardog.cce.hp.com",
        "time": "Mon Nov 28 20:12:05 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Mon Nov 28 20:12:05 2011 +0100"
      },
      "message": "cciss: fix flush cache transfer length\n\nWe weren\u0027t filling in the transfer length of the\nflush cache command (it transfers 4 bytes of zeroes).\nFirmware didn\u0027t seem to be bothered by this, but it\nshould be fixed.\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cce.hp.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "6225da481597ebff09454c785fe0afc7f5fdbb77",
      "tree": "f32b8f2b558a0c1b4d7092cc28050ebdc2963dfc",
      "parents": [
        "ae95757a9065d89be7c1ca613b53163dd30858b7"
      ],
      "author": {
        "name": "Stephen M. Cameron",
        "email": "scameron@beardog.cce.hp.com",
        "time": "Mon Nov 28 20:12:05 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Mon Nov 28 20:12:05 2011 +0100"
      },
      "message": "cciss: Add IRQF_SHARED back in for the non-MSI(X) interrupt handler\n\nIRQF_SHARED is required for older controllers that don\u0027t support MSI(X)\nand which may end up sharing an interrupt.\n\nAlso remove deprecated IRQF_DISABLED.\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cce.hp.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "ae95757a9065d89be7c1ca613b53163dd30858b7",
      "tree": "453267b0d6c3556c089bc50750675b6f4d2aed10",
      "parents": [
        "5151412dd4338b273afdb107c3772528e9e67d92"
      ],
      "author": {
        "name": "Dave Young",
        "email": "dyoung@redhat.com",
        "time": "Fri Nov 25 09:41:25 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Fri Nov 25 09:41:25 2011 +0100"
      },
      "message": "loop: fix loop block driver discard and encryption comment\n\nThe loop driver does not support discard if encryption is enabled,\nfix the comment.\n\nSigned-off-by: Dave Young \u003cdyoung@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "3e54a3d1b83220d748f1a27c8999634be7a83949",
      "tree": "46807ff2423c3679cc40cc42d71ab6a9509de992",
      "parents": [
        "60ec0eecfa8968d0f1188e3730979196ac28b9de"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Thu Nov 24 12:59:00 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Thu Nov 24 12:59:00 2011 +0100"
      },
      "message": "mtip32xx: uninitialized variable in mtip_quiesce_io()\n\nWe recently introduce new continue in the loop which make gcc complain.\nIn theory if MTIP_FLAG_SVC_THD_ACTIVE_BIT is set, we could hit continue\nover and over until eventually we time out of the loop.  In that case\n\"active\" should be set as true, but right now it\u0027s uninitialized.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "60ec0eecfa8968d0f1188e3730979196ac28b9de",
      "tree": "59c1f3df77df31dc9d851f41ed658952150998b1",
      "parents": [
        "a71f483d7957c74368a76a3a88ae54d524fa3b49"
      ],
      "author": {
        "name": "Asai Thambi S P",
        "email": "asamymuthupa@micron.com",
        "time": "Wed Nov 23 08:29:24 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Wed Nov 23 08:29:24 2011 +0100"
      },
      "message": "mtip32xx: updates based on feedback\n\n* queue ncq commands when a non-ncq is in progress or error handling is active\n* merge variables \u0027internal_cmd_in_progress\u0027 and \u0027eh_active\u0027 into new variable \u0027flags\u0027\n* get rid of read/write semaphore \u0027internal_sem\u0027\n* new service thread to issue queued commands\n* use macros from ata.h for command codes\n* return ENOTTY for BLKFLSBUF ioctl\n* style changes\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": "ae18be11b5ccc3be9e268592616488c5f9d987f5",
      "tree": "4f8a98990f946d8d82ffdb4d43c1120cd4e97a26",
      "parents": [
        "421463526fd1d8b5cb575baca12667c1005a110b"
      ],
      "author": {
        "name": "Li Dongyang",
        "email": "lidongyang@novell.com",
        "time": "Thu Nov 10 15:52:06 2011 +0800"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Fri Nov 18 13:28:05 2011 -0500"
      },
      "message": "xen-blkback: convert hole punching to discard request on loop devices\n\nAs of dfaa2ef68e80c378e610e3c8c536f1c239e8d3ef, loop devices support\ndiscard request now. We could just issue a discard request, and\nthe loop driver will punch the hole for us, so we don\u0027t need to touch\nthe internals of loop device and punch the hole ourselves, Thanks.\n\nV0-\u003eV1: rebased on devel/for-jens-3.3\n\nSigned-off-by: Li Dongyang \u003clidongyang@novell.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "421463526fd1d8b5cb575baca12667c1005a110b",
      "tree": "7ac39116a15841d70126f92a6587972ecdadeaed",
      "parents": [
        "5ea42986694a96542644f9cae8b122d3a00c508f"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Wed Oct 12 17:26:47 2011 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Fri Nov 18 13:28:03 2011 -0500"
      },
      "message": "xen/blkback: Move processing of BLKIF_OP_DISCARD from dispatch_rw_block_io\n\n.. and move it to its own function that will deal with the\ndiscard operation.\n\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "5ea42986694a96542644f9cae8b122d3a00c508f",
      "tree": "dd74685d8cd41e39ad14e708cb6e00e0ed016fb1",
      "parents": [
        "97e36834f5a106459ab1b290e663a4eb6264639e"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Wed Oct 12 16:23:30 2011 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Fri Nov 18 13:28:01 2011 -0500"
      },
      "message": "xen/blk[front|back]: Enhance discard support with secure erasing support.\n\nPart of the blkdev_issue_discard(xx) operation is that it can also\nissue a secure discard operation that will permanantly remove the\nsectors in question. We advertise that we can support that via the\n\u0027discard-secure\u0027 attribute and on the request, if the \u0027secure\u0027 bit\nis set, we will attempt to pass in REQ_DISCARD | REQ_SECURE.\n\nCC: Li Dongyang \u003clidongyang@novell.com\u003e\n[v1: Used \u0027flag\u0027 instead of \u0027secure:1\u0027 bit]\n[v2: Use \u0027reserved\u0027 uint8_t instead of adding a new value]\n[v3: Check for nseg when mapping instead of operation]\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "97e36834f5a106459ab1b290e663a4eb6264639e",
      "tree": "39e4843998cb7f75b94d80f27e4b11ffb3662f28",
      "parents": [
        "cfcfc9eca2bcbd26a8e206baeb005b055dbf8e37"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Wed Oct 12 12:12:36 2011 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Fri Nov 18 13:27:59 2011 -0500"
      },
      "message": "xen/blk[front|back]: Squash blkif_request_rw and blkif_request_discard together\n\nIn a union type structure to deal with the overlapping\nattributes in a easier manner.\n\nSuggested-by: Ian Campbell \u003cIan.Campbell@citrix.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "a2c2a0e668e26e020731ce2a40e6474d1d37210a",
      "tree": "81f0f6aabffb97fe6c0ec06fd7042c5147cceb9c",
      "parents": [
        "121f099412bd6576dfb3d94222e89d9341362177"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Wed Nov 16 09:21:50 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Wed Nov 16 09:21:50 2011 +0100"
      },
      "message": "paride: fix potential information leak in pg_read()\n\nSmatch has a new check for Rosenberg type information leaks where structs\nare copied to the user with uninitialized stack data in them.  i In this\ncase, the pg_write_hdr struct has a hole in it.\n\nstruct pg_write_hdr {\n        char                       magic;                /*     0     1 */\n        char                       func;                 /*     1     1 */\n        /* XXX 2 bytes hole, try to pack */\n        int                        dlen;                 /*     4     4 */\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nCc: Tim Waugh \u003ctim@cyberelk.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "0007a4c90a11a5371c8b3f80b220fa402a399189",
      "tree": "3fb4a0158f87f539b2415fad35e958d1d1259910",
      "parents": [
        "7035b5df3c071ccaf2f1694b96bd8958b0eb37ca"
      ],
      "author": {
        "name": "Stephen M. Cameron",
        "email": "scameron@beardog.cce.hp.com",
        "time": "Wed Nov 16 09:21:49 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Wed Nov 16 09:21:49 2011 +0100"
      },
      "message": "cciss: auto engage SCSI mid layer at driver load time\n\nA long time ago, probably in 2002, one of the distros, or maybe more than\none, loaded block drivers prior to loading the SCSI mid layer.  This meant\nthat the cciss driver, being a block driver, could not engage the SCSI mid\nlayer at init time without panicking, and relied on being poked by a\nuserland program after the system was up (and the SCSI mid layer was\ntherefore present) to engage the SCSI mid layer.\n\nThis is no longer the case, and cciss can safely rely on the SCSI mid\nlayer being present at init time and engage the SCSI mid layer straight\naway.  This means that users will see their tape drives and medium\nchangers at driver load time without need for a script in /etc/rc.d that\ndoes this:\n\nfor x in /proc/driver/cciss/cciss*\ndo\n\techo \"engage scsi\" \u003e $x\ndone\n\nHowever, if no tape drives or medium changers are detected, the SCSI mid\nlayer will not be engaged.  If a tape drive or medium change is later\nhot-added to the system it will then be necessary to use the above script\nor similar for the device(s) to be acceesible.\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cce.hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "7035b5df3c071ccaf2f1694b96bd8958b0eb37ca",
      "tree": "146e916bce5b11232afac2319c012b1fccba54d0",
      "parents": [
        "0c614e2d3e6ee6ff13c6181f380787cea1d82d1d"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Wed Nov 16 09:21:49 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Wed Nov 16 09:21:49 2011 +0100"
      },
      "message": "loop: cleanup set_status interface\n\n1) Anyone who has read access to loopdev has permission to call set_status\n   and may change important parameters such as lo_offset, lo_sizelimit and\n   so on, which contradicts to read access pattern and definitely equals\n   to write access pattern.\n2) Add lo_offset over i_size check to prevent blkdev_size overflow.\n   ##Testcase_bagin\n   #dd if\u003d/dev/zero of\u003d./file bs\u003d1k count\u003d1\n   #losetup /dev/loop0 ./file\n   /* userspace_application */\n   struct loop_info64 loinf;\n   fd \u003d open(\"/dev/loop0\", O_RDONLY);\n   ioctl(fd, LOOP_GET_STATUS64, \u0026loinf);\n   /* Set offset to any value which is bigger than i_size, and sizelimit\n    * to nonzero value*/\n   loinf.lo_offset \u003d 4096*1024;\n   loinf.lo_sizelimit \u003d 1024;\n   ioctl(fd, LOOP_SET_STATUS64, \u0026loinf);\n   /* After this loop device will have size similar to 0x7fffffffffxxxx */\n   #blockdev --getsz /dev/loop0\n   ##OUTPUT: 36028797018955968\n   ##Testcase_end\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "3bb9068278ea524581237abadd41377a14717e7d",
      "tree": "6e360ae87c4b393e862b6bb2ab18e8f2cea22797",
      "parents": [
        "6b76106d8ef31111d6fc469564b83b5f5542794f"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Wed Nov 16 09:21:48 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Wed Nov 16 09:21:48 2011 +0100"
      },
      "message": "loop: prevent information leak after failed read\n\nIf read was not fully successful we have to fail whole bio to prevent\ninformation leak of old pages\n\n##Testcase_begin\ndd if\u003d/dev/zero of\u003d./file bs\u003d1M count\u003d1\nlosetup /dev/loop0 ./file -o 4096\ntruncate -s 0 ./file\n# OOps loop offset is now beyond i_size, so read will silently fail.\n# So bio\u0027s pages would not be cleared, may which result in information leak.\nhexdump -C /dev/loop0\n##testcase_end\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "193733585692301f38d489b8ad8724c2f88349c0",
      "tree": "85a00825178aa915e5f7e38f338c59951546c802",
      "parents": [
        "7a401a972df8e184b3d1a3fc958c0a4ddee8d312"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Fri Nov 11 22:05:54 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Fri Nov 11 22:05:54 2011 +0100"
      },
      "message": "The Windows driver .inf disables ASPM on all cciss devices. Do the same.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: iss_storagedev@hp.com\nAcked-by: Mike Miller \u003cmike.miller@hp.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "32aaeffbd4a7457bf2f7448b33b5946ff2a960eb",
      "tree": "faf7ad871d87176423ff9ed1d1ba4d9c688fc23f",
      "parents": [
        "208bca0860406d16398145ddd950036a737c3c9d",
        "67b84999b1a8b1af5625b1eabe92146c5eb42932"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "message": "Merge branch \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\n* \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)\n  Revert \"tracing: Include module.h in define_trace.h\"\n  irq: don\u0027t put module.h into irq.h for tracking irqgen modules.\n  bluetooth: macroize two small inlines to avoid module.h\n  ip_vs.h: fix implicit use of module_get/module_put from module.h\n  nf_conntrack.h: fix up fallout from implicit moduleparam.h presence\n  include: replace linux/module.h with \"struct module\" wherever possible\n  include: convert various register fcns to macros to avoid include chaining\n  crypto.h: remove unused crypto_tfm_alg_modname() inline\n  uwb.h: fix implicit use of asm/page.h for PAGE_SIZE\n  pm_runtime.h: explicitly requires notifier.h\n  linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h\n  miscdevice.h: fix up implicit use of lists and types\n  stop_machine.h: fix implicit use of smp.h for smp_processor_id\n  of: fix implicit use of errno.h in include/linux/of.h\n  of_platform.h: delete needless include \u003clinux/module.h\u003e\n  acpi: remove module.h include from platform/aclinux.h\n  miscdevice.h: delete unnecessary inclusion of module.h\n  device_cgroup.h: delete needless include \u003clinux/module.h\u003e\n  net: sch_generic remove redundant use of \u003clinux/module.h\u003e\n  net: inet_timewait_sock doesnt need \u003clinux/module.h\u003e\n  ...\n\nFix up trivial conflicts (other header files, and  removal of the ab3550 mfd driver) in\n - drivers/media/dvb/frontends/dibx000_common.c\n - drivers/media/video/{mt9m111.c,ov6650.c}\n - drivers/mfd/ab3550-core.c\n - include/linux/dmaengine.h\n"
    },
    {
      "commit": "06d381484fe8fb1ba2996c22e89595a273e3634c",
      "tree": "0d39c57cb8c501341ab8ed1d740f076b0b8c0bd0",
      "parents": [
        "5d5a8d2d9d6cca979efe4fe1552d787fdc542603",
        "c9d6369978411f690513994e6e53e2e6410874a4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 18:31:36 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 18:31:36 2011 -0800"
      },
      "message": "Merge branch \u0027stable/vmalloc-3.2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen\n\n* \u0027stable/vmalloc-3.2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  net: xen-netback: use API provided by xenbus module to map rings\n  block: xen-blkback: use API provided by xenbus module to map rings\n  xen: use generic functions instead of xen_{alloc, free}_vm_area()\n"
    },
    {
      "commit": "a71f483d7957c74368a76a3a88ae54d524fa3b49",
      "tree": "62d85db2448d469d2132339d828cd8dcfd9a203c",
      "parents": [
        "0e838c624e04490985162a1b00d7aa1956c8834e"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Sat Nov 05 08:36:21 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Sat Nov 05 08:36:21 2011 +0100"
      },
      "message": "mtip32xx: update to new -\u003emake_request() API\n\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "0e838c624e04490985162a1b00d7aa1956c8834e",
      "tree": "24843070b9c8087dd712dbdfb1c2457af56efaf5",
      "parents": [
        "3ff147d3a88e43135b1861d964496101657fa9a2"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Wed Sep 28 07:35:40 2011 -0600"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Sat Nov 05 08:35:10 2011 +0100"
      },
      "message": "mtip32xx: add module.h include to avoid conflict with moduleh tree\n\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "3ff147d3a88e43135b1861d964496101657fa9a2",
      "tree": "058dd207c094fb7e0bad1b7bc3fb1d8fc812d6cd",
      "parents": [
        "6316668fbcf8a0a166830e7e84cdbdf0ab9392c8"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Tue Sep 27 21:33:53 2011 -0600"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Sat Nov 05 08:35:10 2011 +0100"
      },
      "message": "mtip32xx: mark a few more items static\n\nMissed two items: mtip_major, and mtip_pci_driver.\n\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "6316668fbcf8a0a166830e7e84cdbdf0ab9392c8",
      "tree": "7d18003afb0e1be5c9029c277c7fccb1202e5d30",
      "parents": [
        "ef0f1587343a4c17b9b0d9061546e36c1c1bb2ec"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Tue Sep 27 21:27:43 2011 -0600"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Sat Nov 05 08:35:10 2011 +0100"
      },
      "message": "mtip32xx: ensure that all local functions are static\n\nKill the declarations in the header file and mark them as static.\nReshuffle a few functions to ensure that everything is properly\ndeclared before being used.\n\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "ef0f1587343a4c17b9b0d9061546e36c1c1bb2ec",
      "tree": "3acd32766e0e255693b006555e9ff21845b24324",
      "parents": [
        "16d02c040bb6769068f7c4b54ea8542f14237362"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Tue Sep 27 21:19:53 2011 -0600"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Sat Nov 05 08:35:10 2011 +0100"
      },
      "message": "mtip32xx: cleanup compat ioctl handling\n\nDo the conversion/copy up front instead of passing in a compat flag\nto the ioctl handler and subsequently to the exec_drive_taskfile()\nfunction.\n\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "16d02c040bb6769068f7c4b54ea8542f14237362",
      "tree": "e391b816d198069b3b77271277311eca24fb6a0e",
      "parents": [
        "88523a61558a040546bf7d8b079ae0755d8e7005"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Tue Sep 27 15:50:01 2011 -0600"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Sat Nov 05 08:35:10 2011 +0100"
      },
      "message": "mtip32xx: fix warnings/errors on 32-bit compiles\n\nWe need to clean up the compat ioctl handling, but this makes it\nwork for now at least.\n\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "88523a61558a040546bf7d8b079ae0755d8e7005",
      "tree": "3f12d4ee4d15c93b56e335459794023ef050327e",
      "parents": [
        "5c8a0fbba543d9428a486f0d1282bbcf3cf1d95a"
      ],
      "author": {
        "name": "Sam Bradshaw",
        "email": "sbradshaw@micron.com",
        "time": "Tue Aug 30 08:34:26 2011 -0600"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Sat Nov 05 08:35:10 2011 +0100"
      },
      "message": "block: Add driver for Micron RealSSD pcie flash cards\n\nThis adds mtip32xx, a driver supporting Microns line of\npci-express flash storage cards.\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 \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "3d0a8d10cfb4cc3d1877c29a866ee7d8a46aa2fa",
      "tree": "11a85044d1472f5972ae47ce10a2f446ad981e9f",
      "parents": [
        "b4fdcb02f1e39c27058a885905bd0277370ba441",
        "a0eda62552eba4e1f92d5354bb65c68fb6b45f87"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 04 17:22:14 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 04 17:22:14 2011 -0700"
      },
      "message": "Merge branch \u0027for-3.2/drivers\u0027 of git://git.kernel.dk/linux-block\n\n* \u0027for-3.2/drivers\u0027 of git://git.kernel.dk/linux-block: (30 commits)\n  virtio-blk: use ida to allocate disk index\n  hpsa: add small delay when using PCI Power Management to reset for kump\n  cciss: add small delay when using PCI Power Management to reset for kump\n  xen/blkback: Fix two races in the handling of barrier requests.\n  xen/blkback: Check for proper operation.\n  xen/blkback: Fix the inhibition to map pages when discarding sector ranges.\n  xen/blkback: Report VBD_WSECT (wr_sect) properly.\n  xen/blkback: Support \u0027feature-barrier\u0027 aka old-style BARRIER requests.\n  xen-blkfront: plug device number leak in xlblk_init() error path\n  xen-blkfront: If no barrier or flush is supported, use invalid operation.\n  xen-blkback: use kzalloc() in favor of kmalloc()+memset()\n  xen-blkback: fixed indentation and comments\n  xen-blkfront: fix a deadlock while handling discard response\n  xen-blkfront: Handle discard requests.\n  xen-blkback: Implement discard requests (\u0027feature-discard\u0027)\n  xen-blkfront: add BLKIF_OP_DISCARD and discard request struct\n  drivers/block/loop.c: remove unnecessary bdev argument from loop_clr_fd()\n  drivers/block/loop.c: emit uevent on auto release\n  drivers/block/cpqarray.c: use pci_dev-\u003erevision\n  loop: always allow userspace partitions and optionally support automatic scanning\n  ...\n\nFic up trivial header file includsion conflict in drivers/block/loop.c\n"
    },
    {
      "commit": "b4fdcb02f1e39c27058a885905bd0277370ba441",
      "tree": "fd4cfd1994f21f44afe5e7904681fb5ac09f81b8",
      "parents": [
        "044595d4e448305fbaec472eb7d22636d24e7d8c",
        "6dd9ad7df2019b1e33a372a501907db293ebcd0d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 04 17:06:58 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 04 17:06:58 2011 -0700"
      },
      "message": "Merge branch \u0027for-3.2/core\u0027 of git://git.kernel.dk/linux-block\n\n* \u0027for-3.2/core\u0027 of git://git.kernel.dk/linux-block: (29 commits)\n  block: don\u0027t call blk_drain_queue() if elevator is not up\n  blk-throttle: use queue_is_locked() instead of lockdep_is_held()\n  blk-throttle: Take blkcg-\u003elock while traversing blkcg-\u003epolicy_list\n  blk-throttle: Free up policy node associated with deleted rule\n  block: warn if tag is greater than real_max_depth.\n  block: make gendisk hold a reference to its queue\n  blk-flush: move the queue kick into\n  blk-flush: fix invalid BUG_ON in blk_insert_flush\n  block: Remove the control of complete cpu from bio.\n  block: fix a typo in the blk-cgroup.h file\n  block: initialize the bounce pool if high memory may be added later\n  block: fix request_queue lifetime handling by making blk_queue_cleanup() properly shutdown\n  block: drop @tsk from attempt_plug_merge() and explain sync rules\n  block: make get_request[_wait]() fail if queue is dead\n  block: reorganize throtl_get_tg() and blk_throtl_bio()\n  block: reorganize queue draining\n  block: drop unnecessary blk_get/put_queue() in scsi_cmd_ioctl() and blk_get_tg()\n  block: pass around REQ_* flags instead of broken down booleans during request alloc/free\n  block: move blk_throtl prototypes to block/blk.h\n  block: fix genhd refcounting in blkio_policy_parse_and_set()\n  ...\n\nFix up trivial conflicts due to \"mddev_t\" -\u003e \"struct mddev\" conversion\nand making the request functions be of type \"void\" instead of \"int\" in\n - drivers/md/{faulty.c,linear.c,md.c,md.h,multipath.c,raid0.c,raid1.c,raid10.c,raid5.c}\n - drivers/staging/zram/zram_drv.c\n"
    },
    {
      "commit": "f1938f6e1ee1583c87ec74dc406fdd8694e99ac8",
      "tree": "a1e27b0feb844ac675ba90230e8411dce7a86f71",
      "parents": [
        "ce38c149576fd0a3360fec3bef4012212d42e736"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Thu Oct 20 17:00:41 2011 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Fri Nov 04 15:53:05 2011 -0400"
      },
      "message": "NVMe: Implement doorbell stride capability\n\nThe doorbell stride allows devices to spread out their doorbells instead\nof packing them tightly.  This feature was added as part of ECN 003.\n\nThis patch also enables support for more than 512 queues :-)\n\nSigned-off-by: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\n"
    },
    {
      "commit": "ce38c149576fd0a3360fec3bef4012212d42e736",
      "tree": "628389c4e154b55bdaf2e4fb5942d751a338e6f9",
      "parents": [
        "2b2c1896871838cdf549442e8ad0264be5fa74e3"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Fri Oct 07 13:20:37 2011 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Fri Nov 04 15:53:05 2011 -0400"
      },
      "message": "NVMe: Version 0.7\n\nSigned-off-by: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\n"
    },
    {
      "commit": "2b2c1896871838cdf549442e8ad0264be5fa74e3",
      "tree": "abbc2838e424b93f49a0f08dd885690f8cafa15b",
      "parents": [
        "0d1bc9125890426b52ca2de6abedd32e31722e5c"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Fri Oct 07 13:10:13 2011 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Fri Nov 04 15:53:04 2011 -0400"
      },
      "message": "NVMe: Don\u0027t probe namespace 0\n\nECN 001 documented that namespace 0 is not valid.  Sending an Identify\nwith CNS of 0 and Namespace of 0 is an undefined command.\n\nSigned-off-by: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\n"
    },
    {
      "commit": "0d1bc9125890426b52ca2de6abedd32e31722e5c",
      "tree": "c62cff35187c87c8a2b1f6dafdfc577cba94c137",
      "parents": [
        "bc5fc7e4b22ca855902aba02b28c96f09b446407"
      ],
      "author": {
        "name": "Nisheeth Bhat",
        "email": "nisheeth.bhat@intel.com",
        "time": "Thu Sep 29 10:10:10 2011 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Fri Nov 04 15:53:04 2011 -0400"
      },
      "message": "Fix calculation of number of pages in a PRP List\n\nThe existing calculation underestimated the number of pages required\nas it did not take into account the pointer at the end of each page.\nThe replacement calculation may overestimate the number of pages required\nif the last page in the PRP List is entirely full.  By using -\u003enpages\nas a counter as we fill in the pages, we ensure that we don\u0027t try to\nfree a page that was never allocated.\n\nSigned-off-by: Nisheeth Bhat \u003cnisheeth.bhat@intel.com\u003e\nSigned-off-by: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\n"
    },
    {
      "commit": "bc5fc7e4b22ca855902aba02b28c96f09b446407",
      "tree": "e4be2d6c81ebfb84fd0920dd5eaa844e574b8f3b",
      "parents": [
        "684f5c2025b067a23722e620d0b3b858d8dc5d01"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Mon Sep 19 17:08:14 2011 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Fri Nov 04 15:53:04 2011 -0400"
      },
      "message": "NVMe: Create nvme_identify and nvme_get_features functions\n\nInstead of open-coding calls to nvme_submit_admin_cmd, these\nsmall wrappers are simpler to use (the patch removes 14 lines from\nnvme_dev_add() for example).\n\nSigned-off-by: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\n"
    },
    {
      "commit": "684f5c2025b067a23722e620d0b3b858d8dc5d01",
      "tree": "3e1874b9a601d5dc9ff57a1ddf0221ca89904455",
      "parents": [
        "d1a490e026efb22851ed60588b5fad1281d80ec3"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Mon Sep 19 17:14:53 2011 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Fri Nov 04 15:53:04 2011 -0400"
      },
      "message": "NVMe: Fix memory leak in nvme_dev_add()\n\nThe driver was allocating 8k of memory, then freeing 4k of it.\n\nSigned-off-by: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\n"
    },
    {
      "commit": "d1a490e026efb22851ed60588b5fad1281d80ec3",
      "tree": "46f3b9050272ed0e41e364eeebf4e1eebb7bf79e",
      "parents": [
        "d0ba1e497bca83a3d353eb47c9658afc54d83228"
      ],
      "author": {
        "name": "Nisheeth Bhat",
        "email": "nisheeth.bhat@intel.com",
        "time": "Thu Sep 15 16:52:24 2011 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Fri Nov 04 15:53:04 2011 -0400"
      },
      "message": "NVMe: Fix calls to dma_unmap_sg\n\ndma_unmap_sg() must be called with the same \u0027nents\u0027 passed to\ndma_map_sg(), not the number returned from dma_map_sg().\n\nSigned-off-by: Nisheeth Bhat \u003cnisheeth.bhat@intel.com\u003e\nSigned-off-by: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\n"
    },
    {
      "commit": "d0ba1e497bca83a3d353eb47c9658afc54d83228",
      "tree": "67357b1a15493caf232448fc8f5c13bf73fbe215",
      "parents": [
        "6413214c5d424fd5aae6567848340f962ad2ce0f"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Tue Sep 13 17:01:39 2011 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Fri Nov 04 15:53:04 2011 -0400"
      },
      "message": "NVMe: Correct sg list setup in nvme_map_user_pages\n\nOur SG list was constructed to always fill the entire first page, even\nif that was more than the length of the I/O.  This is probably harmless,\nbut some IOMMUs might do something bad.\n\nCorrecting the first call to sg_set_page() made it look a lot closer to\nthe sg_set_page() in the loop, so fold the first call to sg_set_page()\ninto the loop.\n\nReported-by: Nisheeth Bhat \u003cnisheeth.bhat@intel.com\u003e\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "6413214c5d424fd5aae6567848340f962ad2ce0f",
      "tree": "f5a4053813b9e01146288cc11cd199303ce14b05",
      "parents": [
        "6bbf1acddeed0bfb345a5578f9fcada16f1e514f"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Tue Aug 09 12:56:37 2011 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Fri Nov 04 15:53:04 2011 -0400"
      },
      "message": "Fix bug in NVME_IOCTL_SUBMIT_IO\n\nMissing \u0027break\u0027 in the switch statement meant that we\u0027d fall through\nto the \u0027return -EINVAL\u0027 case.\n"
    },
    {
      "commit": "6bbf1acddeed0bfb345a5578f9fcada16f1e514f",
      "tree": "965663c2a38ff10bc88fb2096fc0adbef500b11d",
      "parents": [
        "eac623ba7a91474a688eb5d0fcd0eaa6a56dc41c"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Fri May 20 13:03:42 2011 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Fri Nov 04 15:53:03 2011 -0400"
      },
      "message": "NVMe: Rework ioctls\n\nRemove the special-purpose IDENTIFY, GET_RANGE_TYPE, DOWNLOAD_FIRMWARE\nand ACTIVATE_FIRMWARE commands.  Replace them with a generic ADMIN_CMD\nioctl that can submit any admin command.\n\nAdd a new ID ioctl that returns the namespace ID of the queried device.\nIt corresponds to the SCSI Idlun ioctl.\n\nSigned-off-by: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\n"
    },
    {
      "commit": "eac623ba7a91474a688eb5d0fcd0eaa6a56dc41c",
      "tree": "59a355c616c3f8b717e73aac01af2f9e3ffdc60c",
      "parents": [
        "6f0f54499f2edf7e25410cdd99e6f030f3485fd1"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Fri May 20 09:34:43 2011 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Fri Nov 04 15:53:03 2011 -0400"
      },
      "message": "NVMe: Add the nvme thread to the wait queue before waking it up\n\nIf the I/O was not completed by a single NVMe command, we add the\nbio to the congestion list and wake up the kthread to resubmit it.\nBut the kthread calls remove_wait_queue() unconditionally, which\nwill oops if it\u0027s not on the wait queue.  So add the kthread to\nthe wait queue before waking it up.\n\nSigned-off-by: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\n"
    },
    {
      "commit": "6f0f54499f2edf7e25410cdd99e6f030f3485fd1",
      "tree": "805003a9c7fa87e77fb41a50f308ad178688f79c",
      "parents": [
        "be5e09484078e95af20acb13e215cd8aec705893"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Wed May 11 13:30:59 2011 -0700"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Fri Nov 04 15:53:03 2011 -0400"
      },
      "message": "NVMe: Return real error from nvme_create_queue\n\nnvme_setup_io_queues() was assuming that a NULL return from\nnvme_create_queue() was an out-of-memory error.  That\u0027s not necessarily\ntrue; the adapter might return -EIO, for example.  Change the calling\nconvention to return an ERR_PTR on failure instead of NULL.\n\nSigned-off-by: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\n"
    },
    {
      "commit": "be5e09484078e95af20acb13e215cd8aec705893",
      "tree": "2422c624f9dada6ae20222dcc3c55bb2ac497504",
      "parents": [
        "184d2944cb3b92a2e8e1733c59d1e531ad6e924a"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Wed May 11 21:38:57 2011 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Fri Nov 04 15:53:03 2011 -0400"
      },
      "message": "NVMe: Version 0.6\n\nSigned-off-by: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\n"
    },
    {
      "commit": "184d2944cb3b92a2e8e1733c59d1e531ad6e924a",
      "tree": "e205b82e0ce14b846c1df01545dcce6f488b12a5",
      "parents": [
        "b77954cbddff28d55a36fad3c16f4daebb0f01df"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Wed May 11 21:36:38 2011 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Fri Nov 04 15:53:03 2011 -0400"
      },
      "message": "NVMe: Add a few calling convention notes\n\nFor the benefit of reviewers, add comments to a few functions describing\ntheir calling context\n\nSigned-off-by: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\n"
    },
    {
      "commit": "b77954cbddff28d55a36fad3c16f4daebb0f01df",
      "tree": "94f992d9c3390b61e11209f7b0e31440f67ec9c4",
      "parents": [
        "5aff9382ddc8aac6eb0c70ffbb351652d71da69a"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Thu May 12 13:51:41 2011 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Fri Nov 04 15:53:03 2011 -0400"
      },
      "message": "NVMe: Handle failures from memory allocations in nvme_setup_prps\n\nIf any of the memory allocations in nvme_setup_prps fail, handle it by\nmodifying the passed-in data length to reflect the number of bytes we are\nactually able to send.  Also allow the caller to specify the GFP flags\nthey need; for user-initiated commands, we can use GFP_KERNEL allocations.\n\nThe various callers are updated to handle this possibility; the main\nI/O path is already prepared for this possibility (as it may happen\ndue to nvme_map_bio being unable to map all the segments of the I/O).\nThe other callers return -ENOMEM instead of doing partial I/Os.\n\nReported-by: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\n"
    },
    {
      "commit": "5aff9382ddc8aac6eb0c70ffbb351652d71da69a",
      "tree": "c8fcc4d065e48b55f8f04d0c7eae858fff2fd1a1",
      "parents": [
        "fd63e9ceeeae58cfe877c2d49d41c1bf7532303c"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Fri May 06 08:45:47 2011 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Fri Nov 04 15:53:03 2011 -0400"
      },
      "message": "NVMe: Use an IDA to allocate minor numbers\n\nThe current approach of using the namespace ID as the minor number\ndoesn\u0027t work when there are multiple adapters in the machine.  Rather\nthan statically partitioning the number of namespaces between adapters,\ndynamically allocate minor numbers to namespaces as they are detected.\n\nSigned-off-by: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\n"
    },
    {
      "commit": "fd63e9ceeeae58cfe877c2d49d41c1bf7532303c",
      "tree": "a26cd1d94fa88a7610dd454ec998639f9a387607",
      "parents": [
        "8de055350fbaa96b6563892c195a60be583faa9c"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Fri May 06 08:37:54 2011 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Fri Nov 04 15:53:02 2011 -0400"
      },
      "message": "NVMe: Add include of delay.h for msleep\n\nPreviously it was being implicitly included through some other header file\n\nSigned-off-by: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\n"
    },
    {
      "commit": "8de055350fbaa96b6563892c195a60be583faa9c",
      "tree": "2fc1f69751cb553422dedc6ce0514e64926b1b39",
      "parents": [
        "21075bdee0a6f56058920d889df4ae561bfed754"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Thu May 12 13:50:28 2011 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Fri Nov 04 15:53:02 2011 -0400"
      },
      "message": "NVMe: Add support for timing out I/Os\n\nIn the kthread, walk the list of outstanding I/Os and check they\u0027ve not\nhit the timeout.\n\nSigned-off-by: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\n"
    },
    {
      "commit": "21075bdee0a6f56058920d889df4ae561bfed754",
      "tree": "2472ca6f2df31c4d67123e31d6c0ecae5154d035",
      "parents": [
        "09a58f536436efed02ead722e835cb4ce7674afc"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Thu Apr 28 23:17:36 2011 -0700"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Fri Nov 04 15:53:02 2011 -0400"
      },
      "message": "NVMe: Rename cancel_cmdid_data to cancel_cmdid\n\nThe trailing \u0027_data\u0027 on the end was annoying and inconsistent.  Also, make\nit actually return the data since this is needed for timing out commands.\n\nSigned-off-by: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\n"
    },
    {
      "commit": "09a58f536436efed02ead722e835cb4ce7674afc",
      "tree": "56f2285c62e2ddb88d4a6e79095dd2cd3285416d",
      "parents": [
        "22605f96810d073eb74051d0295b6577d6a6a563"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Thu Apr 28 23:09:09 2011 -0700"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Fri Nov 04 15:53:02 2011 -0400"
      },
      "message": "NVMe: Fix bug in error handling\n\nWhen an I/O completed with an error, we would call bio_endio twice\n(once with -EIO and once with 0).  Found by inspection.\n\nSigned-off-by: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\n"
    },
    {
      "commit": "22605f96810d073eb74051d0295b6577d6a6a563",
      "tree": "f5af6aebe31f92cd6fe6bc343a931984ef7aa0f2",
      "parents": [
        "aba2080f3f1639f9202f1a52993669844abcfb80"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Tue Apr 19 15:04:20 2011 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Fri Nov 04 15:53:02 2011 -0400"
      },
      "message": "NVMe: Time out initialisation after a few seconds\n\nTHe device reports (in its capability register) how long it will take\nto initialise.  If that time elapses before the ready bit becomes set,\nconclude the device is broken and refuse to initialise it.  Log a nice\nerror message so the user knows why we did nothing.\n\nSigned-off-by: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\n"
    },
    {
      "commit": "aba2080f3f1639f9202f1a52993669844abcfb80",
      "tree": "3eacb6848776d7418f62f296d850ace5343ecf9d",
      "parents": [
        "7f53f9d2424533256ae86f7df5661a17de743de8"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Sun Mar 27 08:52:06 2011 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Fri Nov 04 15:53:02 2011 -0400"
      },
      "message": "NVMe: Fix warning in free_irq\n\nWe need to clear the affinity mask before calling free_irq()\n\nReported-by: Shane Michael Matthews \u003cshane.matthews@intel.com\u003e\nSigned-off-by: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\n"
    },
    {
      "commit": "7f53f9d2424533256ae86f7df5661a17de743de8",
      "tree": "93dc08a0de9ac52dca9479dc6c36808f431c1988",
      "parents": [
        "8ef700678f65e2eef1c3a94cdedb79d757608392"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Tue Mar 22 15:55:45 2011 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Fri Nov 04 15:53:01 2011 -0400"
      },
      "message": "NVMe: Correct the Controller Configuration settings\n\nThe arbitration field was extended by one bit, shifting the shutdown\nnotification bits by one.  Also, the SQ/CQ entry size was made\nconfigurable for future extensions.\n\nReported-by: Paul Luse \u003cpaul.e.luse@intel.com\u003e\nSigned-off-by: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\n"
    },
    {
      "commit": "8ef700678f65e2eef1c3a94cdedb79d757608392",
      "tree": "1671b71d78f0259b3b272806699bf1aa968d69dd",
      "parents": [
        "6c7d49455ceb63064f992347d9185ff5bf43497a"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Mon Mar 21 10:28:43 2011 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Fri Nov 04 15:53:01 2011 -0400"
      },
      "message": "NVMe: Version 0.5\n\nSigned-off-by: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\n"
    },
    {
      "commit": "6c7d49455ceb63064f992347d9185ff5bf43497a",
      "tree": "8a5fde81a68cd41c12079d8c2baf7ea1cf3e40fe",
      "parents": [
        "9d4af1b7796ba02b73a79a8694399e5a3cd1c55d"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Mon Mar 21 09:48:57 2011 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Fri Nov 04 15:53:01 2011 -0400"
      },
      "message": "NVMe: Change the definition of nvme_user_io\n\nThe read and write commands don\u0027t define a \u0027result\u0027, so there\u0027s no need\nto copy it back to userspace.\n\nRemove the ability of the ioctl to submit commands to a different\nnamespace; it\u0027s just asking for trouble, and the use case I have in mind\nwill be addressed througha  different ioctl in the future.  That removes\nthe need for both the block_shift and nsid arguments.\n\nCheck that the opcode is one of \u0027read\u0027 or \u0027write\u0027.  Future opcodes may\nbe added in the future, but we will need a different structure definition\nfor them.\n\nThe nblocks field is redefined to be 0-based.  This allows the user to\nrequest the full 65536 blocks.\n\nDon\u0027t byteswap the reftag, apptag and appmask.  Martin Petersen tells\nme these are calculated in big-endian and are transmitted to the device\nin big-endian.\n\nSigned-off-by: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\n"
    },
    {
      "commit": "4948168280b269a514045766ddd872cfac5968e1",
      "tree": "f1a7dd83863bbd52010fac0badc303eb04b9896b",
      "parents": [
        "9ecdc946212f7cd592986b2c519b470404caa6b8"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Sat Mar 19 14:55:38 2011 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Fri Nov 04 15:53:01 2011 -0400"
      },
      "message": "NVMe: Add compat_ioctl\n\nMake ioctls work for 32-bit applications on 64-bit kernels.  The structures\nare defined to be the same for both 32- and 64-bit applications, so\nwe can use the same handler for both.\n\nReported-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\n"
    },
    {
      "commit": "9ecdc946212f7cd592986b2c519b470404caa6b8",
      "tree": "5d953e07ff82f8a97b5d4d5c14b0eb6db401d1a2",
      "parents": [
        "3cb967c03926edd2c414082f4cc0feb7b372edae"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Wed Mar 16 16:52:19 2011 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "matthew.r.wilcox@intel.com",
        "time": "Fri Nov 04 15:53:01 2011 -0400"
      },
      "message": "NVMe: Simplify queue lookup\n\nFill in all the num_possible_cpus() entries with duplicate pointers.\nThis reduces the complexity of the frequently-called get_nvmeq(), as\nwell as avoiding a bug in it when there are fewer queues than CPUs.\n\nReported-by: Shane Michael Matthews \u003cshane.matthews@intel.com\u003e\nSigned-off-by: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\n"
    }
  ],
  "next": "3cb967c03926edd2c414082f4cc0feb7b372edae"
}
