)]}'
{
  "log": [
    {
      "commit": "797a796a13df6b84a4791e57306737059b5b2384",
      "tree": "400d13deef98fdf3fc893e9e55f208c5716b8ba9",
      "parents": [
        "27e74da9800289e69ba907777df1e2085231eff7"
      ],
      "author": {
        "name": "Hitoshi Mitake",
        "email": "mitake@dcl.info.waseda.ac.jp",
        "time": "Tue Feb 07 11:45:33 2012 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 21 16:47:28 2012 -0800"
      },
      "message": "asm-generic: architecture independent readq/writeq for 32bit environment\n\nThis provides unified readq()/writeq() helper functions for 32-bit\ndrivers.\n\nFor some cases, readq/writeq without atomicity is harmful, and order of\nio access has to be specified explicitly.  So in this patch, new two\nheader files which contain non-atomic readq/writeq are added.\n\n - \u003casm-generic/io-64-nonatomic-lo-hi.h\u003e provides non-atomic readq/\n   writeq with the order of lower address -\u003e higher address\n\n - \u003casm-generic/io-64-nonatomic-hi-lo.h\u003e provides non-atomic readq/\n   writeq with reversed order\n\nThis allows us to remove some readq()s that were added drivers when the\ndefault non-atomic ones were removed in commit dbee8a0affd5 (\"x86:\nremove 32-bit versions of readq()/writeq()\")\n\nThe drivers which need readq/writeq but can do with the non-atomic ones\nmust add the line:\n\n  #include \u003casm-generic/io-64-nonatomic-lo-hi.h\u003e /* or hi-lo.h */\n\nBut this will be nop in 64-bit environments, and no other #ifdefs are\nrequired.  So I believe that this patch can solve the problem of\n 1. driver-specific readq/writeq\n 2. atomicity and order of io access\n\nThis patch is tested with building allyesconfig and allmodconfig as\nARCH\u003dx86 and ARCH\u003di386 on top of tip/master.\n\nCc: Kashyap Desai \u003cKashyap.Desai@lsi.com\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Ravi Anand \u003cravi.anand@qlogic.com\u003e\nCc: Vikas Chaudhary \u003cvikas.chaudhary@qlogic.com\u003e\nCc: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: Jason Uhlenkott \u003cjuhlenko@akamai.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@parallels.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nCc: James Bottomley \u003cjbottomley@parallels.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Hitoshi Mitake \u003ch.mitake@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3ec1e88b33a3bdd852ce8e014052acec7a9da8b5",
      "tree": "4270f8f0de4e28f090cba6d6e4047aae939d6463",
      "parents": [
        "8df54d622a120058ee8bec38743c9b8f091c8e58",
        "d8c66c5d59247e25a69428aced0b79d33b9c66d6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 11 10:07:11 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 11 10:07:11 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-block\n\nSays Jens:\n\n \"Time to push off some of the pending items.  I really wanted to wait\n  until we had the regression nailed, but alas it\u0027s not quite there yet.\n  But I\u0027m very confident that it\u0027s \"just\" a missing expire on exit, so\n  fix from Tejun should be fairly trivial.  I\u0027m headed out for a week on\n  the slopes.\n\n  - Killing the barrier part of mtip32xx.  It doesn\u0027t really support\n    barriers, and it doesn\u0027t need them (writes are fully ordered).\n\n  - A few fixes from Dan Carpenter, preventing overflows of integer\n    multiplication.\n\n  - A fixup for loop, fixing a previous commit that didn\u0027t quite solve\n    the partial read problem from Dave Young.\n\n  - A bio integer overflow fix from Kent Overstreet.\n\n  - Improvement/fix of the door \"keep locked\" part of the cdrom shared\n    code from Paolo Benzini.\n\n  - A few cfq fixes from Shaohua Li.\n\n  - A fix for bsg sysfs warning when removing a file it did not create\n    from Stanislaw Gruszka.\n\n  - Two fixes for floppy from Vivek, preventing a crash.\n\n  - A few block core fixes from Tejun.  One killing the over-optimized\n    ioc exit path, cleaning that up nicely.  Two others fixing an oops\n    on elevator switch, due to calling into the scheduler merge check\n    code without holding the queue lock.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-block:\n  block: fix lockdep warning on io_context release put_io_context()\n  relay: prevent integer overflow in relay_open()\n  loop: zero fill bio instead of return -EIO for partial read\n  bio: don\u0027t overflow in bio_get_nr_vecs()\n  floppy: Fix a crash during rmmod\n  floppy: Cleanup disk-\u003equeue before caling put_disk() if add_disk() was never called\n  cdrom: move shared static to cdrom_device_info\n  bsg: fix sysfs link remove warning\n  block: don\u0027t call elevator callbacks for plug merges\n  block: separate out blk_rq_merge_ok() and blk_try_merge() from elevator functions\n  mtip32xx: removed the irrelevant argument of mtip_hw_submit_io() and the unused member of struct driver_data\n  block: strip out locking optimization in put_io_context()\n  cdrom: use copy_to_user() without the underscores\n  block: fix ioc locking warning\n  block: fix NULL icq_cache reference\n  block,cfq: change code order\n"
    },
    {
      "commit": "306df0716aa285d378cc948fafed53c6ed895fe6",
      "tree": "c32e636516980e9f2708022e314f370a13198ecd",
      "parents": [
        "5abebfdd02450fa1349daacf242e70b3736581e3"
      ],
      "author": {
        "name": "Dave Young",
        "email": "dyoung@redhat.com",
        "time": "Wed Feb 08 22:07:19 2012 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Wed Feb 08 22:07:19 2012 +0100"
      },
      "message": "loop: zero fill bio instead of return -EIO for partial read\n\ncommit 8268f5a741 (\"deny partial write for loop dev fd\") tried to fix the\nloop device partial read information leak problem.  But it changed the\nsemantics of read behavior.  When we read beyond the end of the device we\nshould get 0 bytes, which is normal behavior, we should not just return\n-EIO\n\nInstead of returning -EIO, zero out the bio to avoid information leak in\ncase of partail read.\n\nSigned-off-by: Dave Young \u003cdyoung@redhat.com\u003e\nReviewed-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nTested-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nCc: Dmitry Monakhov \u003cdmonakhov@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "4609dff6b5d11e1ed5ff935e15f9f6022acb312b",
      "tree": "b1ffb94d7247ad6ba70e8d76800907a6450f7ebd",
      "parents": [
        "3f9a5aabd0a9fe0e0cd308506f48963d79169aa7"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@redhat.com",
        "time": "Wed Feb 08 20:03:39 2012 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Wed Feb 08 20:03:39 2012 +0100"
      },
      "message": "floppy: Fix a crash during rmmod\n\nfloppy driver does not call add_disk() on all the drives hence we don\u0027t take\ngendisk reference on request queue for these drives. Don\u0027t call put_disk()\nwith disk-\u003equeue set, otherwise we try to put the reference we never took.\n\nReported-and-tested-by: Dirk Gouders \u003cgouders@et.bocholt.fh-gelsenkirchen.de\u003e\nSigned-off-by: Vivek Goyal\u003cvgoyal@redhat.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "3f9a5aabd0a9fe0e0cd308506f48963d79169aa7",
      "tree": "89dd32775e498dcb50da8cfc5388400c637725c5",
      "parents": [
        "cdccaa9467b982d57b139818d15e1e994feca372"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@redhat.com",
        "time": "Wed Feb 08 20:03:38 2012 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Wed Feb 08 20:03:38 2012 +0100"
      },
      "message": "floppy: Cleanup disk-\u003equeue before caling put_disk() if add_disk() was never called\n\nadd_disk() takes gendisk reference on request queue. If driver failed during\ninitialization and never called add_disk() then that extra reference is not\ntaken. That reference is put in put_disk(). floppy driver allocates the\ndisk, allocates queue, sets disk-\u003equeue and then relizes that floppy\ncontroller is not present. It tries to tear down everything and tries to\nput a reference down in put_disk() which was never taken.\n\nIn such error cases cleanup disk-\u003equeue before calling put_disk() so that\nwe never try to put down a reference which was never taken in first place.\n\nReported-and-tested-by: Suresh Jayaraman \u003csjayaraman@suse.com\u003e\nTested-by: Dirk Gouders \u003cgouders@et.bocholt.fh-gelsenkirchen.de\u003e\nSigned-off-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "4e8670e26135d8fbfd5e084fddc1a8ed9f8eb4cb",
      "tree": "021fb58db4c30af36a8ee47ab0c41a5fe020ab12",
      "parents": [
        "11a3122f6cf2d988a77eb8883d0fc49cd013a6d5"
      ],
      "author": {
        "name": "Asai Thambi S P",
        "email": "asamymuthupa@micron.com",
        "time": "Tue Feb 07 07:54:31 2012 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Tue Feb 07 07:54:31 2012 +0100"
      },
      "message": "mtip32xx: removed the irrelevant argument of mtip_hw_submit_io() and the unused member of struct driver_data\n\nRemoved the following:\n\t* irrelevant argument \u0027barrier\u0027 of mtip_hw_submit_io()\n\t* unused member \u0027eh_active\u0027 of struct driver_data\n\nSigned-off-by: Asai Thambi S P \u003casamymuthupa@micron.com\u003e\nSigned-off-by: Sam Bradshaw \u003csbradshaw@micron.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "6c073a7ee250118b8be3a2379c96fd7f78382b06",
      "tree": "b398bd9cad821a3543df835e5a0110f270acafb9",
      "parents": [
        "ff05f603c3238010769787f3ba54c48c290ed3e5",
        "d23a4b3fd6ef70b80411b39b8c8bc548a219ce70"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 02 15:47:33 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 02 15:47:33 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  rbd: fix safety of rbd_put_client()\n  rbd: fix a memory leak in rbd_get_client()\n  ceph: create a new session lock to avoid lock inversion\n  ceph: fix length validation in parse_reply_info()\n  ceph: initialize client debugfs outside of monc-\u003emutex\n  ceph: change \"ceph.layout\" xattr to be \"ceph.file.layout\"\n"
    },
    {
      "commit": "d23a4b3fd6ef70b80411b39b8c8bc548a219ce70",
      "tree": "f42dbc4c8544acce987e35df5b3002f1def54cff",
      "parents": [
        "97bb59a03dd6767fcc00be09b0c6d9e5294eeea6"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Sun Jan 29 13:57:43 2012 -0600"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Feb 02 12:56:59 2012 -0800"
      },
      "message": "rbd: fix safety of rbd_put_client()\n\nThe rbd_client structure uses a kref to arrange for cleaning up and\nfreeing an instance when its last reference is dropped.  The cleanup\nroutine is rbd_client_release(), and one of the things it does is\ndelete the rbd_client from rbd_client_list.  It acquires node_lock\nto do so, but the way it is done is still not safe.\n\nThe problem is that when attempting to reuse an existing rbd_client,\nthe structure found might already be in the process of getting\ndestroyed and cleaned up.\n\nHere\u0027s the scenario, with \"CLIENT\" representing an existing\nrbd_client that\u0027s involved in the race:\n\n Thread on CPU A                | Thread on CPU B\n ---------------                | ---------------\n rbd_put_client(CLIENT)         | rbd_get_client()\n   kref_put()                   |   (acquires node_lock)\n     kref-\u003erefcount becomes 0   |   __rbd_client_find() returns CLIENT\n     calls rbd_client_release() |   kref_get(\u0026CLIENT-\u003ekref);\n                                |   (releases node_lock)\n       (acquires node_lock)     |\n       deletes CLIENT from list | ...and starts using CLIENT...\n       (releases node_lock)     |\n       and frees CLIENT         | \u003c-- but CLIENT gets freed here\n\nFix this by having rbd_put_client() acquire node_lock.  The result\ncould still be improved, but at least it avoids this problem.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "97bb59a03dd6767fcc00be09b0c6d9e5294eeea6",
      "tree": "f04006e8040913d49fb1841ed93abed6d84308a1",
      "parents": [
        "d8fb02abdc39f92a1066313e2b17047876afa8f9"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Tue Jan 24 10:08:36 2012 -0600"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Feb 02 12:49:27 2012 -0800"
      },
      "message": "rbd: fix a memory leak in rbd_get_client()\n\nIf an existing rbd client is found to be suitable for use in\nrbd_get_client(), the rbd_options structure is not being\nfreed as it should.  Fix that.\n\nSigned-off-by: Alex Elder \u003celder@dreamhost.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "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"
    }
  ],
  "next": "21075bdee0a6f56058920d889df4ae561bfed754"
}
