)]}'
{
  "log": [
    {
      "commit": "03fa68c245cccbcb99035cbabaa13b408ba91ab5",
      "tree": "b6190d60db6302fd9b84c3aac50bf75b7351f70c",
      "parents": [
        "9f08e9db84c1e9234e07b9b595f5b2508c621823"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "Geert.Uytterhoeven@sonycom.com",
        "time": "Wed Jun 10 04:38:54 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Jun 15 16:47:24 2009 +1000"
      },
      "message": "ps3: shorten ps3_system_bus_[gs]et_driver_data to ps3_system_bus_[gs]et_drvdata\n\nSigned-off-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nCc: Geoff Levand \u003cgeoffrey.levand@am.sony.com\u003e\nCc: Jim Paris \u003cjim@jtan.com\u003e\nAcked-by: Geoff Levand \u003cgeoffrey.levand@am.sony.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "6dee2c87ebbe5d7ce8c4c163966a0bd9c02c75ef",
      "tree": "d3ba06ad73c80fb9fccd9c0a0b590f5cc6bec6d4",
      "parents": [
        "1bd9784f5ebb5b1b5a1efb8302d7b57c6483e2e6"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Wed Jun 10 04:38:52 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Jun 15 16:47:23 2009 +1000"
      },
      "message": "block/ps3: remove driver_data direct access of struct device\n\nIn the near future, the driver core is going to not allow direct access\nto the driver_data pointer in struct device.  Instead, the functions\ndev_get_drvdata() and dev_set_drvdata() should be used.  These functions\nhave been around since the beginning, so are backwards compatible with\nall older kernel versions.\n\n[Geert: Use ps3_system_bus_[gs]et_driver_data() for ps3_system_bus_device]\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nCc: Jim Paris \u003cjim@jtan.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "1bd9784f5ebb5b1b5a1efb8302d7b57c6483e2e6",
      "tree": "ea31cb6afcabfa05ed1043e33f4dc12f5df8463f",
      "parents": [
        "c3b94fd800cc7eb59c91ccb55326cdaf589b0e88"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "Geert.Uytterhoeven@sonycom.com",
        "time": "Wed Jun 10 04:38:51 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Jun 15 16:47:23 2009 +1000"
      },
      "message": "ps3vram: Make ps3vram_priv.reports a void *\n\nSo we can kill a cast.\n\nSigned-off-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nCc: Jim Paris \u003cjim@jtan.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "c3b94fd800cc7eb59c91ccb55326cdaf589b0e88",
      "tree": "fdb5e3aef6e4fef9b55753e3d359bf1fa0544884",
      "parents": [
        "fb89e89d0ff6142f0616eb8260ea89d6fd924982"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "Geert.Uytterhoeven@sonycom.com",
        "time": "Wed Jun 10 04:38:50 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Jun 15 16:47:22 2009 +1000"
      },
      "message": "ps3vram: Remove no longer used ps3vram_priv.ddr_base\n\nSigned-off-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nCc: Jim Paris \u003cjim@jtan.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "fb89e89d0ff6142f0616eb8260ea89d6fd924982",
      "tree": "75a8457c238807871a48be213abb719765901061",
      "parents": [
        "13685a1654b65357fb34066a98ef40445f7820fc"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "Geert.Uytterhoeven@sonycom.com",
        "time": "Wed Jun 10 04:38:41 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Jun 15 16:47:22 2009 +1000"
      },
      "message": "ps3vram: Replace mutex by spinlock + bio_list\n\nRemove the mutex serializing access to the cache.\nInstead, queue up new requests on a bio_list if the driver is busy.\n\nThis improves sequential write performance by ca. 2%.\n\nSigned-off-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nCc: Jim Paris \u003cjim@jtan.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "d3352c9f1e8e2f2989d9686c8aa8acb4842fe75e",
      "tree": "ea8a18d573a45f913d9e0669a17a0b39835e55ff",
      "parents": [
        "56ac72dba5d24a477d281b985797d5e62d3f5c2e"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "Geert.Uytterhoeven@sonycom.com",
        "time": "Wed Jun 10 04:38:48 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Jun 15 13:26:20 2009 +1000"
      },
      "message": "ps3fb/vram: Extract common GPU stuff into \u003casm/ps3gpu.h\u003e\n\nSigned-off-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nCc: linux-fbdev-devel@lists.sourceforge.net\nCc: Jim Paris \u003cjim@jtan.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "56ac72dba5d24a477d281b985797d5e62d3f5c2e",
      "tree": "d2eba5567ba763b054f8c185b209b81bb35381da",
      "parents": [
        "e78d0c5c14ab91648274b2c5e6c4c35f072cea64"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "Geert.Uytterhoeven@sonycom.com",
        "time": "Wed Jun 10 04:38:47 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Jun 15 13:26:20 2009 +1000"
      },
      "message": "ps3vram: GPU memory mapping cleanup\n\n- Make the IOMMU flags used for mapping main memory into the GPU\u0027s I/O space\n    explicit, instead of relying on the default in the hypervisor,\n  - Add missing calls to lv1_gpu_context_iomap(..., CBE_IOPTE_M) to unmap the\n    memory during cleanup.\n\nSigned-off-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nCc: Jim Paris \u003cjim@jtan.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "3273d8778f90457a495603945e95b47c2c139f22",
      "tree": "d396985b80804aa0496383d5d5b481c08090da54",
      "parents": [
        "3c20e2f2793380add92dacce63395a8503b6c7c9"
      ],
      "author": {
        "name": "Jim Paris",
        "email": "jim@jtan.com",
        "time": "Wed Jun 10 04:38:39 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Jun 15 13:26:18 2009 +1000"
      },
      "message": "ps3vram: Correct exchanged gotos in ps3vram_probe() error path\n\nSigned-off-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nCc: Jim Paris \u003cjim@jtan.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "3c20e2f2793380add92dacce63395a8503b6c7c9",
      "tree": "6e4c10bf5162b0c9a479bc3180dc2cd59040409a",
      "parents": [
        "734957c89794971c874f9d3ccd9eb49dc3325f65"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "Geert.Uytterhoeven@sonycom.com",
        "time": "Wed Jun 10 04:38:38 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Jun 15 13:26:18 2009 +1000"
      },
      "message": "ps3vram: Use proc_create_data() instead of proc_create()\n\nUse proc_create_data() to avoid race conditions.\n\nReported-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nCc: Jim Paris \u003cjim@jtan.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "734957c89794971c874f9d3ccd9eb49dc3325f65",
      "tree": "3beb7d7bb3b2f70fb44ecc1fc80b794f3b57f58a",
      "parents": [
        "7a4a89c38960591fa6555d287f793bd592c07ebd"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "Geert.Uytterhoeven@sonycom.com",
        "time": "Wed Jun 10 04:38:37 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Jun 15 13:26:17 2009 +1000"
      },
      "message": "ps3vram: Fix error path (return -EIO) for short read/write\n\nSigned-off-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nCc: Jim Paris \u003cjim@jtan.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "489f7ab6c18cdd64a2d444e056d60a0e722f4ad7",
      "tree": "2c7ed6a0042dc15c91ece08c5a3866f610ddca6d",
      "parents": [
        "b322b7816908487c08b89b72f838174c37d8c836",
        "82d27b2b2f3a80ffa7759a49b9cba39e47df476e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 14 13:46:25 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 14 13:46:25 2009 -0700"
      },
      "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: (31 commits)\n  trivial: remove the trivial patch monkey\u0027s name from SubmittingPatches\n  trivial: Fix a typo in comment of addrconf_dad_start()\n  trivial: usb: fix missing space typo in doc\n  trivial: pci hotplug: adding __init/__exit macros to sgi_hotplug\n  trivial: Remove the hyphen from git commands\n  trivial: fix ETIMEOUT -\u003e ETIMEDOUT typos\n  trivial: Kconfig: .ko is normally not included in module names\n  trivial: SubmittingPatches: fix typo\n  trivial: Documentation/dell_rbu.txt: fix typos\n  trivial: Fix Pavel\u0027s address in MAINTAINERS\n  trivial: ftrace:fix description of trace directory\n  trivial: unnecessary (void*) cast removal in sound/oss/msnd.c\n  trivial: input/misc: Fix typo in Kconfig\n  trivial: fix grammo in bus_for_each_dev() kerneldoc\n  trivial: rbtree.txt: fix rb_entry() parameters in sample code\n  trivial: spelling fix in ppc code comments\n  trivial: fix typo in bio_alloc kernel doc\n  trivial: Documentation/rbtree.txt: cleanup kerneldoc of rbtree.txt\n  trivial: Miscellaneous documentation typo fixes\n  trivial: fix typo milisecond/millisecond for documentation and source comments.\n  ...\n"
    },
    {
      "commit": "02a99ed6207e9a1d787bb360ef97de023c7edf4a",
      "tree": "f5818df7dd3f3741d02afbdd4271deed48c41f3d",
      "parents": [
        "2b10dc45d15150434d7f206264e912eacbff734b",
        "3447ef29a7f3b1fd0d8d58376950e695e04f6f8b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 13:15:17 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 13:15:17 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.monstr.eu/linux-2.6-microblaze\n\n* \u0027for-linus\u0027 of git://git.monstr.eu/linux-2.6-microblaze: (55 commits)\n  microblaze: Don\u0027t use access_ok for unaligned\n  microblaze: remove unused flat_stack_align() definition\n  microblaze: Fix problem with early_printk in startup\n  microblaze_mmu_v2: Makefiles\n  microblaze_mmu_v2: Kconfig update\n  microblaze_mmu_v2: stat.h MMU update\n  microblaze_mmu_v2: Elf update\n  microblaze_mmu_v2: Update dma.h for MMU\n  microblaze_mmu_v2: Update cacheflush.h\n  microblaze_mmu_v2: Update signal returning address\n  microblaze_mmu_v2: Traps MMU update\n  microblaze_mmu_v2: Enable fork syscall for MMU and add fork as vfork for noMMU\n  microblaze_mmu_v2: Update linker script for MMU\n  microblaze_mmu_v2: Add MMU related exceptions handling\n  microblaze_mmu_v2: uaccess MMU update\n  microblaze_mmu_v2: Update exception handling - MMU exception\n  microblaze_mmu_v2: entry.S, entry.h\n  microblaze_mmu_v2: Add CURRENT_TASK for entry.S\n  microblaze_mmu_v2: MMU asm offset update\n  microblaze_mmu_v2: Update tlb.h and tlbflush.h\n  ...\n"
    },
    {
      "commit": "4737f0978d6e64eae468e01fa181abf6499e6b84",
      "tree": "44871914422157121d4a68d376e60d1b1e7f1f92",
      "parents": [
        "3226224039c8f8cb840d236b5f27d2a1104789e2"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Fri Jun 05 00:44:53 2009 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Jun 12 18:01:50 2009 +0200"
      },
      "message": "trivial: Kconfig: .ko is normally not included in module names\n\n.ko is normally not included in Kconfig help, make it consistent.\n\nSigned-off-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "98e94444748e9af93423d1fab90543e75569a58c",
      "tree": "d775c68462a2f9d478a45f2f7de916dfe2e6833f",
      "parents": [
        "9fa29b9df32ba4db055f3977933cd0c1b8fe67cd"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon May 18 03:39:09 2009 -0400"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:16:39 2009 +0930"
      },
      "message": "virtio_blk: add missing __dev{init,exit} markings\n\nThe remove member of the virtio_driver structure uses __devexit_p(), so\nthe remove function itself should be marked with __devexit.  And where\nthere be __devexit on the remove, so is there __devinit on the probe.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "d2a7ddda9ffb1c8961abff6714b0f1eb925c120f",
      "tree": "1090884fd260d042255255467367e4e6b6193e5d",
      "parents": [
        "9499f5e7ed5224c40706f0cec6542a9916bc7606"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Fri Jun 12 22:16:36 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:16:36 2009 +0930"
      },
      "message": "virtio: find_vqs/del_vqs virtio operations\n\nThis replaces find_vq/del_vq with find_vqs/del_vqs virtio operations,\nand updates all drivers. This is needed for MSI support, because MSI\nneeds to know the total number of vectors upfront.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e (+ lguest/9p compile fixes)\n"
    },
    {
      "commit": "9499f5e7ed5224c40706f0cec6542a9916bc7606",
      "tree": "3e4e1b36d3d549ea356e88e6e44359a887c6ee01",
      "parents": [
        "ef688e151c00e5d529703be9a04fd506df8bc54e"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:16:35 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:16:36 2009 +0930"
      },
      "message": "virtio: add names to virtqueue struct, mapping from devices to queues.\n\nAdd a linked list of all virtqueues for a virtio device: this helps for\ndebugging and is also needed for upcoming interface change.\n\nAlso, add a \"name\" field for clearer debug messages.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "5e50b9ef975219304cc91d601530994861585bfe",
      "tree": "e5fe8ca9b5262c90290f66182615f7e284be8754",
      "parents": [
        "1adbee50fd6fce5af4feb34d2db93cfe4d2066a4"
      ],
      "author": {
        "name": "Ondrej Zary",
        "email": "linux@rainbow-software.org",
        "time": "Wed Jun 10 12:57:09 2009 -0700"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Jun 10 23:07:16 2009 +0200"
      },
      "message": "floppy: fix hibernation\n\nBased on Ingo Molnar\u0027s patch from 2006, this makes the floppy work after\nresume from hibernation, at least on my machine.\n\nThis fix resets the floppy controller on resume.  It was experimentally\ndetermined to bring the controller back to life - we don\u0027t really know why\nit works.\n\nfloppy_init() does the same thing at boot/modprobe time.\n\nSigned-off-by: Ondrej Zary \u003clinux@rainbow-software.org\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1adbee50fd6fce5af4feb34d2db93cfe4d2066a4",
      "tree": "77a6a68fa675da7d0722c1239513e9c4b27d1732",
      "parents": [
        "0e0c62123b517d2b3c26922342c0cc5bb63a93f8"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Wed Jun 10 12:57:08 2009 -0700"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Jun 10 23:07:15 2009 +0200"
      },
      "message": "ramdisk: remove long-deprecated \"ramdisk\u003d\" boot-time parameter\n\nThe \"ramdisk\" parameter was removed from the defunct rd.c file quite some\ntime ago, in favour of the more specific \"ramdisk_size\" parameter so, for\nconsistency, the same should be done here.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nAcked-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1d589bb16b825b3a7b4edd34d997f1f1f953033d",
      "tree": "2abc78cb296b6f341c3b08b3f261392e77d6668c",
      "parents": [
        "77634f33d4078542cf1087995cced0ffdae25aa2"
      ],
      "author": {
        "name": "john cooper",
        "email": "john.cooper@redhat.com",
        "time": "Tue Jun 09 14:41:40 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jun 09 14:41:40 2009 +0200"
      },
      "message": "Add serial number support for virtio_blk, V4a\n\nThis patch extracts the opaque data from pci i/o\nregion 0 via the added VIRTIO_BLK_F_IDENTIFY\nfield.  By convention this data takes the form of\nthat returned by an ATA IDENTIFY DEVICE command,\nhowever the driver (except for structure size)\nmakes no interpretation of the data.  The structure\ndata is copied wholesale to userspace via a\nHDIO_GET_IDENTITY ioctl command (eg: hdparm -i \u003cdev\u003e).\n\nSigned-off-by: john cooper \u003cjohn.cooper@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3969251b80a7b143d01576780073fe0cc9ef6253",
      "tree": "7928657a978ccc6eaca6589a5466277dec43409d",
      "parents": [
        "72f9f1324fc4cd450c92e4600a710231b0445c75"
      ],
      "author": {
        "name": "scameron@beardog.cca.cpqcorp.net",
        "email": "scameron@beardog.cca.cpqcorp.net",
        "time": "Mon Jun 08 16:10:57 2009 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jun 09 05:47:44 2009 +0200"
      },
      "message": "cciss: decode unit attention in SCSI error handling code\n\nMake SCSI reset error handler decode unit attention ASC\nand after a target reset wait for a unit attention that indicates\na reset occurred rather than just for any old unit attention.\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cca.cpqcorp.net\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "72f9f1324fc4cd450c92e4600a710231b0445c75",
      "tree": "1b293d0fb9c28bde38c321fa213ce7e765a8fd69",
      "parents": [
        "85cc61ae41084cb6d8ecc6c9e01ac4563005c8ac"
      ],
      "author": {
        "name": "scameron@beardog.cca.cpqcorp.net",
        "email": "scameron@beardog.cca.cpqcorp.net",
        "time": "Mon Jun 08 16:09:32 2009 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jun 09 05:47:43 2009 +0200"
      },
      "message": "cciss: Remove no longer needed sendcmd reject processing code\n\nNow that the cciss SCSI error handling routines operate with interrupts\nenabled, we no longer need to maintain the list of command completions that\nsendcmd() might inadvertantly scoop up, since now it only runs at driver init\ntime, and there won\u0027t be any other commands for it to scoop up.  So we\ncan remove that list and the code that adds to it and processes it.\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cca.cpqcorp.net\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "85cc61ae41084cb6d8ecc6c9e01ac4563005c8ac",
      "tree": "46cdea00cdac692292f5997fdce2c8b4cac983f9",
      "parents": [
        "789a424ad1352b335960e7c56494d0410577fa61"
      ],
      "author": {
        "name": "scameron@beardog.cca.cpqcorp.net",
        "email": "scameron@beardog.cca.cpqcorp.net",
        "time": "Mon Jun 08 16:07:45 2009 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jun 09 05:47:43 2009 +0200"
      },
      "message": "cciss: change SCSI error handling routines to work with interrupts enabled.\n\nChange cciss scsi error handling routines to work with interrupts enabled.\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cca.cpqcorp.net\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "789a424ad1352b335960e7c56494d0410577fa61",
      "tree": "7968d121b86b66c6271032441fd222e627f14ccd",
      "parents": [
        "3c2ab40296894d1f7ad9714550fdf9b96d4e9ee6"
      ],
      "author": {
        "name": "scameron@beardog.cca.cpqcorp.net",
        "email": "scameron@beardog.cca.cpqcorp.net",
        "time": "Mon Jun 08 16:05:56 2009 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jun 09 05:47:43 2009 +0200"
      },
      "message": "cciss: separate error processing and command retrying code in sendcmd_withirq_core()\n\nSeparate the error processing from sendcmd_withirq_core from the code\nwhich retries commands.  The rationale for this is that the SCSI error\nhandling code can then be made to use sendcmd_withirq_core, but avoid\nretrying commands.\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cca.cpqcorp.net\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3c2ab40296894d1f7ad9714550fdf9b96d4e9ee6",
      "tree": "d83a8cfceddeae1c7a2bc102250c0482ffd6fb36",
      "parents": [
        "b57695fe131b13d3f2460cfeb9175cff673ed337"
      ],
      "author": {
        "name": "scameron@beardog.cca.cpqcorp.net",
        "email": "scameron@beardog.cca.cpqcorp.net",
        "time": "Mon Jun 08 16:04:35 2009 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jun 09 05:47:43 2009 +0200"
      },
      "message": "cciss: factor out fix target status processing code from sendcmd functions\n\nFactor out code to process target status of completed commands in sendcmd()\nand sendcmd_withirq_core(), and fix problem that bad target status was ignored in\nsendcmd_withirq_core.\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cca.cpqcorp.net\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b57695fe131b13d3f2460cfeb9175cff673ed337",
      "tree": "5c1310fdbca48957c1496de418f80ff4f48dc259",
      "parents": [
        "5390cfc3fea49d015ae1eed8551c0bf00489b50e"
      ],
      "author": {
        "name": "scameron@beardog.cca.cpqcorp.net",
        "email": "scameron@beardog.cca.cpqcorp.net",
        "time": "Mon Jun 08 16:02:17 2009 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jun 09 05:47:42 2009 +0200"
      },
      "message": "cciss: simplify interface of sendcmd() and sendcmd_withirq()\n\nSimplify interfaces of sendcmd() and sendcmd_withirq() so that they\nprovide only one way to address commands instead of three ways.\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cca.cpqcorp.net\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5390cfc3fea49d015ae1eed8551c0bf00489b50e",
      "tree": "75e10c0906513958f5e9654f43f864a096049701",
      "parents": [
        "40df6ae4277a67e97aa0a8bd8e293fdbb00e5623"
      ],
      "author": {
        "name": "scameron@beardog.cca.cpqcorp.net",
        "email": "scameron@beardog.cca.cpqcorp.net",
        "time": "Mon Jun 08 16:01:11 2009 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jun 09 05:47:42 2009 +0200"
      },
      "message": "cciss: factor out core of sendcmd_withirq() for use by SCSI error handling code\n\nFactor the core of sendcmd_withirq out to provide a simpler interface\nwhich provides access to full error information.\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cca.cpqcorp.net\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "40df6ae4277a67e97aa0a8bd8e293fdbb00e5623",
      "tree": "b01607c1893c23138c85cd80d5f7144e4ffe471d",
      "parents": [
        "dbb66c4be020b01dc2f3d7c609ddb0e09d2c0af7"
      ],
      "author": {
        "name": "scameron@beardog.cca.cpqcorp.net",
        "email": "scameron@beardog.cca.cpqcorp.net",
        "time": "Mon Jun 08 15:59:38 2009 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jun 09 05:47:42 2009 +0200"
      },
      "message": "cciss: Use schedule_timeout_uninterruptible in SCSI error handling code\n\nUse schedule_timeout_uninterruptible instead of schedule_timeout in the\nscsi error handling code when waiting between TUR polls since we are not\ninterested in nor want to be interrupted by signals.\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cca.cpqcorp.net\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "77b0308a0778861111184e097533000f7a458c37",
      "tree": "b879244a8271bbe307e015a931b28e0fb31d338f",
      "parents": [
        "7fe063268e73681cdca1a6496a25f93d3332f517"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Jun 02 14:51:30 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jun 02 14:51:30 2009 +0200"
      },
      "message": "cciss: use schedule_timeout_interruptible()\n\nUse schedule_timeout_interruptible() instead of open-coding the set and\nschedule parts.\n\nCc: Mike Miller \u003cmikem@beardog.cca.cpqcorp.net\u003e\nCc: Stephen M. Cameron \u003cscameron@beardog.cca.cpqcorp.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7fe063268e73681cdca1a6496a25f93d3332f517",
      "tree": "97c9b5f53012908343af83c481c0b8fad888690e",
      "parents": [
        "88f627ae394eadd75ada669904269f1a4a77b3bd"
      ],
      "author": {
        "name": "Andrew Patterson",
        "email": "andrew.patterson@hp.com",
        "time": "Tue Jun 02 14:48:39 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jun 02 14:48:39 2009 +0200"
      },
      "message": "cciss: add cciss driver sysfs entries\n\nAdd sysfs entries to the cciss driver needed for the dm/multipath tools.\n\nA file for vendor, model, rev, and unique_id is added for each logical\ndrive under directory /sys/bus/pci/devices/\u003cdev\u003e/ccissX/cXdY.  Where X \u003d\nthe controller (or host) number and Y is the logical drive number.\n\nA link from /sys/bus/pci/devices/\u003cdev\u003e/ccissX/cXdY/block:cciss!cXdY to\n/sys/block/cciss!cXdY/device is also created.  A bus is created in\n/sys/bus/cciss.  A link is created from the pci ccissX entry to\n/sys/bus/cciss/devices/ccissX.  Please consider this for inclusion.\n\nSigned-off-by: Mike Miller \u003cmike.miller@hp.com\u003e\nCc: Stephen M. Cameron \u003cscameron@beardog.cca.cpqcorp.net\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "88f627ae394eadd75ada669904269f1a4a77b3bd",
      "tree": "679356d2253914ae93132c3d0116111e63284cba",
      "parents": [
        "4a4b2d7684c66dbd8ed04eb284bc94a78e061d29"
      ],
      "author": {
        "name": "Stephen M. Cameron",
        "email": "scameron@beardog.cca.cpqcorp.net",
        "time": "Tue Jun 02 14:48:11 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jun 02 14:48:11 2009 +0200"
      },
      "message": "cciss: fix SCSI device reset handler\n\nFix the SCSI reset error handler to send a working, properly addressed\nreset message to the target device and add code to wait for the target\ndevice to become ready by polling it with Test Unit Ready.\n\nThe existing reset code was broken in that it didn\u0027t bother to set the\n8-byte LUN address to anything besides zero, so the command was addressed\nto the controller, which pretended to the driver that the command\nsucceeded, while doing nothing.  Ages ago I tested this code, but\nunbeknownst to me, my test was flawed, and what I thought was a tape drive\ngetting reset was actually nothing of the sort.  Unfortunately, there is\nstill lots of Smartarray firmware that doesn\u0027t handle doing target resets\nright, and this code won\u0027t help in those cases, but it also shouldn\u0027t make\nthings worse in those cases than they already are.\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cca.cpqcorp.net\u003e\nCc: Mike Miller \u003cmikem@beardog.cca.cpqcorp.net\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "4a4b2d7684c66dbd8ed04eb284bc94a78e061d29",
      "tree": "cd53475c9c89a5d833c55bd53bf22d34228ea909",
      "parents": [
        "53c663ce0f39ba8e8ef652e400b317bc60ac7f19"
      ],
      "author": {
        "name": "Stephen M. Cameron",
        "email": "scameron@beardog.cca.cpqcorp.net",
        "time": "Tue Jun 02 14:47:50 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jun 02 14:47:50 2009 +0200"
      },
      "message": "cciss: factor out core of sendcmd() for a more sane interface\n\nFactor out the core of sendcmd() to provide a simpler interface which\nexposes all the error information to the caller and make the original\nsendcmd use this new function.  Rationale: The SCSI error handling\nroutines need to send commands with interrupts turned off, but they also\nneed access to the full error information.\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cca.cpqcorp.net\u003e\nCc: Mike Miller \u003cmikem@beardog.cca.cpqcorp.net\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ae03bf639a5027d27270123f5f6e3ee6a412781d",
      "tree": "d705f41a188ad656b1f47f7952626a9f992e3b8f",
      "parents": [
        "e1defc4ff0cf57aca6c5e3ff99fa503f5943c1f1"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri May 22 17:17:50 2009 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 22 23:22:54 2009 +0200"
      },
      "message": "block: Use accessor functions for queue limits\n\nConvert all external users of queue limits to using wrapper functions\ninstead of poking the request queue variables directly.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e1defc4ff0cf57aca6c5e3ff99fa503f5943c1f1",
      "tree": "d60d15a082171c58ac811d547d51a9c3119f23e3",
      "parents": [
        "9bd7de51ee8537094656149eaf45338cadb7d7d4"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri May 22 17:17:49 2009 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 22 23:22:54 2009 +0200"
      },
      "message": "block: Do away with the notion of hardsect_size\n\nUntil now we have had a 1:1 mapping between storage device physical\nblock size and the logical block sized used when addressing the device.\nWith SATA 4KB drives coming out that will no longer be the case.  The\nsector size will be 4KB but the logical block size will remain\n512-bytes.  Hence we need to distinguish between the physical block size\nand the logical ditto.\n\nThis patch renames hardsect_size to logical_block_size.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "9bd7de51ee8537094656149eaf45338cadb7d7d4",
      "tree": "a691987319dfcdb07de2bce619746f88d26882c4",
      "parents": [
        "e4b636366c00738b9609cda307014d71b1225b7f",
        "6a44587ee716ac911082cbdec766e5b3f051c071"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 22 20:28:35 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 22 20:28:35 2009 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into for-2.6.31\n\nConflicts:\n\tdrivers/ide/ide-io.c\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b9ed7252d219c1c663944bf03846eabb515dbe75",
      "tree": "9582f1255e501c5111ac88dbbba4a1f90beb223c",
      "parents": [
        "0a7ae2ff0d29bb3b327edff4c8ab67b3834fa811"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Fri May 22 09:25:32 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 22 09:59:51 2009 +0200"
      },
      "message": "xen-blkfront: beyond ARRAY_SIZE of info-\u003eshadow\n\nDo not go beyond ARRAY_SIZE of info-\u003eshadow\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nAcked-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6fa612b56c575a5235568593eab4240c90608630",
      "tree": "288ff82b2dd6a6c278785ff34e52bc7bf348d284",
      "parents": [
        "873a2e89c5e32a5c72a9ece76fcb871358ae22d2"
      ],
      "author": {
        "name": "Michal Simek",
        "email": "monstr@monstr.eu",
        "time": "Mon May 11 15:49:12 2009 +0200"
      },
      "committer": {
        "name": "Michal Simek",
        "email": "monstr@monstr.eu",
        "time": "Thu May 21 15:56:04 2009 +0200"
      },
      "message": "microblaze: Kconfig: Enable drivers for Microblaze\n\nSigned-off-by: Michal Simek \u003cmonstr@monstr.eu\u003e\n"
    },
    {
      "commit": "5f49f63178360b07a095bd33b0d850d60edf7590",
      "tree": "23764399405214c115543eb5dec59982cf0baa26",
      "parents": [
        "3755100dd5f66761aaaa7ae44c70b319a7c78a56"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue May 19 18:33:05 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue May 19 11:36:08 2009 +0200"
      },
      "message": "block: set rq-\u003eresid_len to blk_rq_bytes() on issue\n\nIn commit c3a4d78c580de4edc9ef0f7c59812fb02ceb037f, while introducing\nrq-\u003eresid_len, the default value of residue count was changed from\nfull count to zero.  The conversion was done under the assumption that\nwhen a request fails residue count wasn\u0027t defined.  However, Boaz and\nJames pointed out that this wasn\u0027t true and the residue count should\nbe preserved for failed requests too.\n\nThis patchset restores the original behavior by setting rq-\u003eresid_len\nto blk_rq_bytes(rq) on request start and restoring explicit clearing\nin affected drivers.  While at it, take advantage of the fact that\nrq-\u003eresid_len is set to full count where applicable.\n\n* ide-cd: rq-\u003eresid_len cleared on pc success\n\n* mptsas: req-\u003eresid_len cleared on success\n\n* sas_expander: rsp/req-\u003eresid_len cleared on success\n\n* mpt2sas_transport: req-\u003eresid_len cleared on success\n\n* ide-cd, ide-tape, mptsas, sas_host_smp, mpt2sas_transport, ub: take\n  advantage of initial full count to simplify code\n\nBoaz Harrosh spotted bug in resid_len initialization.  Fixed as\nsuggested.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Borislav Petkov \u003cpetkovbb@googlemail.com\u003e\nCc: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Pete Zaitcev \u003czaitcev@redhat.com\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nCc: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nCc: Eric Moore \u003cEric.Moore@lsi.com\u003e\nCc: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3755100dd5f66761aaaa7ae44c70b319a7c78a56",
      "tree": "cd7206012aa4af29666b1f84191f690c2bd2e939",
      "parents": [
        "f831cc03490c78a76e2d35ad77ec2292d0323728"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue May 19 18:33:04 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue May 19 11:36:08 2009 +0200"
      },
      "message": "ub: use __blk_end_request_all()\n\nub_end_rq() always tries to complete full request.  The @cmd_len\nparameter was there because rq-\u003edata_len used to be overwritten with\nresidue count.  Drop @cmd_len and use __blk_end_request_all().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Pete Zaitcev \u003czaitcev@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "31a14400e8f365e5d4d1a0b2a1ef4d5405d6091e",
      "tree": "9299d0d1edb3a44265201e286bd8d38084199bce",
      "parents": [
        "28afea5b2ffaa48f4f43d22ae8edcc384c05df80"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Tue May 19 08:27:42 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue May 19 08:27:42 2009 +0200"
      },
      "message": "xen/blkfront: fix warning when deleting gendisk on unplug/shutdown\n\nCurrently blkfront gives a warning when hot unplugging due to calling\ndel_gendisk() with interrupts disabled (due to blkif_io_lock).\n\nWARNING: at kernel/softirq.c:124 local_bh_enable+0x36/0x84()\nModules linked in: xenfs xen_netfront ext3 jbd mbcache xen_blkfront\nPid: 13, comm: xenwatch Not tainted 2.6.29-xs5.5.0.13 #3\nCall Trace:\n [\u003cc012611c\u003e] warn_slowpath+0x80/0xb6\n [\u003cc0104cf1\u003e] xen_sched_clock+0x16/0x63\n [\u003cc0104710\u003e] xen_force_evtchn_callback+0xc/0x10\n [\u003cc0104e32\u003e] check_events+0x8/0xe\n [\u003cc0104d9b\u003e] xen_restore_fl_direct_end+0x0/0x1\n [\u003cc0103749\u003e] xen_mc_flush+0x10a/0x13f\n [\u003cc0105bd2\u003e] __switch_to+0x114/0x14e\n [\u003cc011d92b\u003e] dequeue_task+0x62/0x70\n [\u003cc0123b6f\u003e] finish_task_switch+0x2b/0x84\n [\u003cc0299877\u003e] schedule+0x66d/0x6e7\n [\u003cc0104710\u003e] xen_force_evtchn_callback+0xc/0x10\n [\u003cc0104710\u003e] xen_force_evtchn_callback+0xc/0x10\n [\u003cc012a642\u003e] local_bh_enable+0x36/0x84\n [\u003cc022f9a7\u003e] sk_filter+0x57/0x5c\n [\u003cc0233dae\u003e] netlink_broadcast+0x1d5/0x315\n [\u003cc01c6371\u003e] kobject_uevent_env+0x28d/0x331\n [\u003cc01e7ead\u003e] device_del+0x10f/0x120\n [\u003cc01e7ec6\u003e] device_unregister+0x8/0x10\n [\u003cc015f86d\u003e] bdi_unregister+0x2d/0x39\n [\u003cc01bf6f4\u003e] unlink_gendisk+0x23/0x3e\n [\u003cc01ac946\u003e] del_gendisk+0x7b/0xe7\n [\u003cd0828c19\u003e] blkfront_closing+0x28/0x6e [xen_blkfront]\n [\u003cd082900c\u003e] backend_changed+0x3ad/0x41d [xen_blkfront]\n\nWe can fix this by calling del_gendisk() later in blkfront_closing, after\nreleasing blkif_io_lock. Since the queue is stopped during the interrupts\ndisabled phase I don\u0027t think there is any danger of an event occuring between\nreleasing the blkif_io_lock and deleting the disk.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "28afea5b2ffaa48f4f43d22ae8edcc384c05df80",
      "tree": "a14c5275a701b1453447f3e7fa3a529ce08de994",
      "parents": [
        "22ef37eed673587ac984965dc88ba94c68873291"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Tue May 19 08:25:48 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue May 19 08:25:48 2009 +0200"
      },
      "message": "xen/blkfront: allow xenbus state transition to Closing-\u003eClosed  when not Connected\n\nThis situation can occur when attempting to attach a block device whose\nbackend is an empty physical CD-ROM driver. The backend in this case\nwill go directly from the Initialising state to Closing-\u003eClosed.\nPreviously this would result in a NULL pointer deref on info-\u003egd\n(xenbus_dev_fatal does not return as a1a15ac5 seems to expect)\n\nCc: stable@kernel.org\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nAcked-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f831cc03490c78a76e2d35ad77ec2292d0323728",
      "tree": "0ff09e89b46cefe154eb37c61111488fa56cdc3a",
      "parents": [
        "1cde26f928863d90e9e7c1217880c8450464d305"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 18 14:44:45 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 18 14:44:45 2009 +0200"
      },
      "message": "virtio_blk: get rid of unused variable\n\ndrivers/block/virtio_blk.c: In function \u0027blk_done\u0027:\ndrivers/block/virtio_blk.c:53: warning: unused variable \u0027nr_bytes\u0027\n\nLeftover from commit 1cde26f928863d90e9e7c1217880c8450464d305\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1cde26f928863d90e9e7c1217880c8450464d305",
      "tree": "e0f6e5157cccc8ab8b87b1192a1da6ddc6113e82",
      "parents": [
        "6c3b46f74587d46e71b8c2b78fdca626a3aca280"
      ],
      "author": {
        "name": "Hannes Reinecke",
        "email": "hare@suse.de",
        "time": "Mon May 18 14:41:30 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 18 14:41:30 2009 +0200"
      },
      "message": "virtio_blk: SG_IO passthru support\n\nAdd support for SG_IO passthru to virtio_blk.  We add the scsi command\nblock after the normal outhdr, and the scsi inhdr with full status\ninformation aswell as the sense buffer before the regular inhdr.\n\n[hch: forward ported, added the VIRTIO_BLK_F_SCSI flags, some comments\n and tested the whole beast]\n[axboe: updated to use -\u003eresid and not dual-path the byte count]\n\nSigned-off-by: Hannes Reinecke \u003chare@suse.de\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e (+ checkpatch.pl tweak)\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6c3b46f74587d46e71b8c2b78fdca626a3aca280",
      "tree": "3d48a026a55c615d4072fc4b75dbca20949bad81",
      "parents": [
        "77f6bf57ba9d2c50173536dbfdacdab27cb867ca"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon May 18 14:38:28 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 18 14:38:28 2009 +0200"
      },
      "message": "virtio_blk: don\u0027t blindly derefence req-\u003erq_disk\n\nrequest-\u003erq_disk is only set for FS requests or BLOCK_PC requests\noriginating from the generic block layer scsi ioctls.  It\u0027s not set\nfor requests origination from other soures or internal cache flush\ncommands implemented by the patch I\u0027ll send after this.\n\nSo instead of using it to get at the private data in do_virtblk_request\nsetup queue-\u003equeuedata and use it.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6818173bd658439b83896a2a7586f64ab51bf29c",
      "tree": "17d25ee77485af18da1a80cb7f1d8ec581c6abfc",
      "parents": [
        "7c77f0b3f9208c339a4b40737bb2cb0f0319bb8d"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Thu May 07 15:37:36 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 14:13:10 2009 +0200"
      },
      "message": "splice: implement default splice_read method\n\nIf f_op-\u003esplice_read() is not implemented, fall back to a plain read.\nUse vfs_readv() to read into previously allocated pages.\n\nThis will allow splice and functions using splice, such as the loop\ndevice, to work on all filesystems.  This includes \"direct_io\" files\nin fuse which bypass the page cache.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "9934c8c04561413609d2bc38c6b9f268cba774a4",
      "tree": "30dd8f7be54f9b2e03094de9cd03b6a9ee2909cd",
      "parents": [
        "2343046826a8ca426b07601d9593ee046c298b68"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri May 08 11:54:16 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 09:52:18 2009 +0200"
      },
      "message": "block: implement and enforce request peek/start/fetch\n\nTill now block layer allowed two separate modes of request execution.\nA request is always acquired from the request queue via\nelv_next_request().  After that, drivers are free to either dequeue it\nor process it without dequeueing.  Dequeue allows elv_next_request()\nto return the next request so that multiple requests can be in flight.\n\nExecuting requests without dequeueing has its merits mostly in\nallowing drivers for simpler devices which can\u0027t do sg to deal with\nsegments only without considering request boundary.  However, the\nbenefit this brings is dubious and declining while the cost of the API\nambiguity is increasing.  Segment based drivers are usually for very\nold or limited devices and as converting to dequeueing model isn\u0027t\ndifficult, it doesn\u0027t justify the API overhead it puts on block layer\nand its more modern users.\n\nPrevious patches converted all block low level drivers to dequeueing\nmodel.  This patch completes the API transition by...\n\n* renaming elv_next_request() to blk_peek_request()\n\n* renaming blkdev_dequeue_request() to blk_start_request()\n\n* adding blk_fetch_request() which is combination of peek and start\n\n* disallowing completion of queued (not started) requests\n\n* applying new API to all LLDs\n\nRenamings are for consistency and to break out of tree code so that\nit\u0027s apparent that out of tree drivers need updating.\n\n[ Impact: block request issue API cleanup, no functional change ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Mike Miller \u003cmike.miller@hp.com\u003e\nCc: unsik Kim \u003cdonari75@gmail.com\u003e\nCc: Paul Clements \u003cpaul.clements@steeleye.com\u003e\nCc: Tim Waugh \u003ctim@cyberelk.net\u003e\nCc: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Laurent Vivier \u003cLaurent@lvivier.info\u003e\nCc: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Adrian McMenamin \u003cadrian@mcmen.demon.co.uk\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nCc: Borislav Petkov \u003cpetkovbb@googlemail.com\u003e\nCc: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nCc: Alex Dubov \u003coakad@yahoo.com\u003e\nCc: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Markus Lidel \u003cMarkus.Lidel@shadowconnect.com\u003e\nCc: Stefan Weinhuber \u003cwein@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Pete Zaitcev \u003czaitcev@redhat.com\u003e\nCc: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "296b2f6ae654581adc27f0d6f0af454c7f3d06ee",
      "tree": "8fab2b91741336d41e559a839b547d7ac3090524",
      "parents": [
        "fb3ac7f6b811eac8e0aafa3df1c16ed872e898a8"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri May 08 11:54:15 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 09:52:17 2009 +0200"
      },
      "message": "block: convert to dequeueing model (easy ones)\n\nplat-omap/mailbox, floppy, viocd, mspro_block, i2o_block and\nmmc/card/queue are already pretty close to dequeueing model and can be\nconverted with simple changes.  Convert them.\n\nWhile at it,\n\n* xen-blkfront: !fs check moved downwards to share dequeue call with\n  normal path.\n\n* mspro_block: __blk_end_request(..., blk_rq_cur_byte()) converted to\n  __blk_end_request_cur()\n\n* mmc/card/queue: loop of __blk_end_request() converted to\n  __blk_end_request_all()\n\n[ Impact: dequeue in-flight request ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Alex Dubov \u003coakad@yahoo.com\u003e\nCc: Markus Lidel \u003cMarkus.Lidel@shadowconnect.com\u003e\nCc: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "fb3ac7f6b811eac8e0aafa3df1c16ed872e898a8",
      "tree": "bfd7cab2afe52dc4eba37f6428a42c1e496454b0",
      "parents": [
        "6b0bf407b586b6ba8e060ad9979cb2bc3370b7eb"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri May 08 11:54:13 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 09:52:17 2009 +0200"
      },
      "message": "z2ram: dequeue in-flight request\n\nz2ram processes requests one-by-one synchronously and can be easily\nconverted to dequeueing model.  Convert it.\n\n[ Impact: dequeue in-flight request ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "bab2a807a489822ded0c9d4a5344c80bcac10b0a",
      "tree": "cf93330ae12f820d1dd53bc9d484fa6cad38962c",
      "parents": [
        "06b0608e2b46465e8e663214e7db982ddb000346"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri May 08 11:54:10 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 09:52:16 2009 +0200"
      },
      "message": "xd: dequeue in-flight request\n\nxd processes requests one-by-one synchronously and can be easily\nconverted to dequeueing model.  Convert it.\n\nWhile at it, use rq_cur_bytes instead of rq_bytes when checking for\nsector overflow.  This is for for consistency and better behavior for\nmerged requests.\n\n[ Impact: dequeue in-flight request ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "06b0608e2b46465e8e663214e7db982ddb000346",
      "tree": "70ad957fc0715fe52fe9dc9b0dac51c63f468518",
      "parents": [
        "9e31bebee2d8b5f8abe9677f2a29b90cba848657"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri May 08 11:54:09 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 09:52:16 2009 +0200"
      },
      "message": "swim: dequeue in-flight request\n\nswim processes requests one-by-one synchronously and can easily be\nconverted to dequeuing model.  Convert it.\n\n[ Impact: dequeue in-flight request ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Laurent Vivier \u003cLaurent@lvivier.info\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "9e31bebee2d8b5f8abe9677f2a29b90cba848657",
      "tree": "b9c159c187411db33a5d6169c520f31551f78ad8",
      "parents": [
        "10e1e629b386aef97bf66de6ef28d450bec06ee3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri May 08 11:54:08 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 09:52:16 2009 +0200"
      },
      "message": "amiflop: dequeue in-flight request\n\nRequest processing in amiflop is done sequentially in\nredo_fd_request() proper and redo_fd_request() can easily be converted\nto track in-flight request.  Remove CURRENT, track in-flight request\ndirectly and dequeue it when processing starts.\n\n[ Impact: dequeue in-flight request ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "10e1e629b386aef97bf66de6ef28d450bec06ee3",
      "tree": "cdcdea0f2b56bacd67ef4e98bd48f9b72faf788c",
      "parents": [
        "b12d4f82c1a3cdcb2441c803a3368a9426f2f47f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri May 08 11:54:07 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 09:52:16 2009 +0200"
      },
      "message": "ps3disk: dequeue in-flight request\n\nOther than in issue error paths, ps3disk always completely finishes\nfetched requests.  With full completion on error paths, it can be\neasily converted to dequeueing model.\n\n* After L1 r/w call failure, ps3disk_submit_request_sg() now fails the\n  whole request.  Issue failure isn\u0027t likely to benefit from partial\n  retry anyway and ps3disk uses full failure in completion error path\n  too, so I don\u0027t think this amounts to any meaningful functionality\n  loss.\n\n* flush completion is converted to _all for consistency.  It doesn\u0027t\n  make any functional difference.\n\n[ Impact: dequeue in-flight request ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b12d4f82c1a3cdcb2441c803a3368a9426f2f47f",
      "tree": "043c804960c3192076737411c1a6854f2b49ded9",
      "parents": [
        "2d75ce084eec2a8154225c7e978191b364029003"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri May 08 11:54:06 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 09:52:16 2009 +0200"
      },
      "message": "paride: dequeue in-flight request\n\npd/pf/pcd have track in-flight request by pd/pf/pcd_req.  They can be\nconverted to dequeueing model by updating fetching and completion\npaths.  Convert them.\n\nNote that removal of elv_next_request() call from pf_next_buf()\ndoesn\u0027t make any functional difference.  The path is traveled only\nduring partial completion of a request and elv_next_request() call\nmust return the same request anyway.\n\n[ Impact: dequeue in-flight request ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Tim Waugh \u003ctim@cyberelk.net\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2d75ce084eec2a8154225c7e978191b364029003",
      "tree": "98e529e9acb8b370841ff30a3b967e79c1ac7e05",
      "parents": [
        "f4bd4b90bfa86e867111aa182895cb5ac203aa7a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri May 08 11:54:05 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 09:52:15 2009 +0200"
      },
      "message": "xsysace: dequeue in-flight request\n\nxsysace already tracks in-flight request using ace-\u003ereq.  Converting\nto dequeueing model is mostly a matter of adding dequeueing call after\nrequest fetching.  The only tricky part is handling CF removal which\nshould complete both in flight and on queue requests.  Convert to\ndequeueing model.\n\nWhile at it, remove explicit blk_rq_cur_bytes() and use\n__blk_end_request_cur() instead.\n\n[ Impact: dequeue in-flight request ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f4bd4b90bfa86e867111aa182895cb5ac203aa7a",
      "tree": "266012f2dca07677b93e1c545f42fd1ede3d9d3d",
      "parents": [
        "a336ca6fe6e0c46b2eef0e520951acb4e6cb2976"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri May 08 11:54:04 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 09:52:15 2009 +0200"
      },
      "message": "swim3: dequeue in-flight request\n\nswim3 has at most single request in flight and already tracks it using\nfd_req.  Convert it to dequeuing model by updating request fetching\nand wrapping completion function.\n\n[ Impact: dequeue in-flight request ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a336ca6fe6e0c46b2eef0e520951acb4e6cb2976",
      "tree": "c981d2eab7610e0c35d00a567a21250e137291d6",
      "parents": [
        "8a12c4a456c7ee261a85c2cbec835601e6aae05a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri May 08 11:54:03 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 09:52:15 2009 +0200"
      },
      "message": "ataflop: dequeue and track in-flight request\n\nataflop has single request in flight.  Till now, whenever it needs to\naccess the in-flight request it called elv_next_request().  This patch\nmakes ataflop track the in-flight request directly and dequeue it when\nprocessing starts.  The added complexity is minimal and this will help\nfuture block layer changes.\n\n[ Impact: dequeue in-flight request, one elv_next_request() per request ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "8a12c4a456c7ee261a85c2cbec835601e6aae05a",
      "tree": "90142ec5d30b1a74ded14ac013408c7390caeb1b",
      "parents": [
        "5b36ad6000ddea390aca3c3b67ead7616ace2ffc"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri May 08 11:54:02 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 09:52:15 2009 +0200"
      },
      "message": "hd: dequeue and track in-flight request\n\nhd has at most single request in flight.  Till now, whenever it needs\nto access the in-flight request it called elv_next_request().  This\npatch makes hd track the in-flight request directly and dequeue it\nwhen processing starts.  The added complexity is minimal and this will\nhelp future block layer changes.\n\n[ Impact: dequeue in-flight request, one elv_next_request() per request ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5b36ad6000ddea390aca3c3b67ead7616ace2ffc",
      "tree": "dedca03fffd6729487fbd9bc3959428038e0cdfb",
      "parents": [
        "9a8d23d8855e554fc5887f14cb008b55c4300ccc"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri May 08 11:54:01 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 09:52:15 2009 +0200"
      },
      "message": "mg_disk: dequeue and track in-flight request\n\nmg_disk has at most single request in flight per device.  Till now,\nwhenever it needs to access the in-flight request it called\nelv_next_request().  This patch makes mg_disk track the in-flight\nrequest directly using mg_host-\u003ereq and dequeue it when processing\nstarts.\n\nq-\u003equeuedata is set to mg_host so that mg_host can be determined\nwithout fetching request from the queue.\n\n[ Impact: dequeue in-flight request, one elv_next_request() per request ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: unsik Kim \u003cdonari75@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "9a8d23d8855e554fc5887f14cb008b55c4300ccc",
      "tree": "a754cec4066df52f94161784262edff0de0fb312",
      "parents": [
        "8f6205cd572fece673da0255d74843680f67f879"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri May 08 11:54:00 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 09:52:14 2009 +0200"
      },
      "message": "mg_disk: fix queue hang / infinite retry on !fs requests\n\nBoth request functions in mg_disk simply return when they encounter a\n!fs request, which means the request will never be cleared from the\nqueue causing queue hang and indefinite retry of the request.  Fix it.\n\nWhile at it, flatten condition checks and add unlikely to !fs tests.\n\n[ Impact: fix possible queue hang / infinite retry of !fs requests ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: unsik Kim \u003cdonari75@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1011c1b9f2e45ce7c6e38888d2b83936aec38771",
      "tree": "63f1f8f604631f37df9917a941531de0148f8379",
      "parents": [
        "a2dec7b36364a5cc564c4d76cf16d2e7d33f5c05"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu May 07 22:24:45 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 09:50:55 2009 +0200"
      },
      "message": "block: blk_rq_[cur_]_{sectors|bytes}() usage cleanup\n\nWith the previous changes, the followings are now guaranteed for all\nrequests in any valid state.\n\n* blk_rq_sectors() \u003d\u003d blk_rq_bytes() \u003e\u003e 9\n* blk_rq_cur_sectors() \u003d\u003d blk_rq_cur_bytes() \u003e\u003e 9\n\nClean up accessor usages.  Notable changes are\n\n* nbd,i2o_block: end_all used instead of explicit byte count\n* scsi_lib: unnecessary conditional on request type removed\n\n[ Impact: cleanup ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Paul Clements \u003cpaul.clements@steeleye.com\u003e\nCc: Pete Zaitcev \u003czaitcev@redhat.com\u003e\nCc: Alex Dubov \u003coakad@yahoo.com\u003e\nCc: Markus Lidel \u003cMarkus.Lidel@shadowconnect.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b0790410300abaaf4f25f702803beff701baebf1",
      "tree": "63d8fcd38e4cd5927fd83e482e306480bb68a689",
      "parents": [
        "2e46e8b27aa57c6bd34b3102b40ee4d0144b4fab"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu May 07 22:24:42 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 09:50:55 2009 +0200"
      },
      "message": "block: cleanup rq-\u003edata_len usages\n\nWith recent unification of fields, it\u0027s now guaranteed that\nrq-\u003edata_len always equals blk_rq_bytes().  Convert all non-IDE direct\nusers to accessors.  IDE will be converted in a separate patch.\n\nBoaz: spotted incorrect data_len/resid_len conversion in osd.\n\n[ Impact: convert direct rq-\u003edata_len usages to blk_rq_bytes() ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nCc: Pete Zaitcev \u003czaitcev@redhat.com\u003e\nCc: Eric Moore \u003cEric.Moore@lsi.com\u003e\nCc: Markus Lidel \u003cMarkus.Lidel@shadowconnect.com\u003e\nCc: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Eric Moore \u003cEric.Moore@lsi.com\u003e\nCc: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nCc: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "83096ebf1263b2c1ee5e653ba37d993d02e3eb7b",
      "tree": "2226b71a616ec1cb2d37511c6a09ba9507a1cd69",
      "parents": [
        "5b93629b4509c03ffa87a9316412fedf6f58cb37"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu May 07 22:24:39 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 09:50:54 2009 +0200"
      },
      "message": "block: convert to pos and nr_sectors accessors\n\nWith recent cleanups, there is no place where low level driver\ndirectly manipulates request fields.  This means that the \u0027hard\u0027\nrequest fields always equal the !hard fields.  Convert all\nrq-\u003esectors, nr_sectors and current_nr_sectors references to\naccessors.\n\nWhile at it, drop superflous blk_rq_pos() \u003c 0 test in swim.c.\n\n[ Impact: use pos and nr_sectors accessors ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nTested-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nTested-by: Adrian McMenamin \u003cadrian@mcmen.demon.co.uk\u003e\nAcked-by: Adrian McMenamin \u003cadrian@mcmen.demon.co.uk\u003e\nAcked-by: Mike Miller \u003cmike.miller@hp.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nCc: Borislav Petkov \u003cpetkovbb@googlemail.com\u003e\nCc: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nCc: Eric Moore \u003cEric.Moore@lsi.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Pete Zaitcev \u003czaitcev@redhat.com\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Paul Clements \u003cpaul.clements@steeleye.com\u003e\nCc: Tim Waugh \u003ctim@cyberelk.net\u003e\nCc: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Alex Dubov \u003coakad@yahoo.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Dario Ballabio \u003cballabio_dario@emc.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: unsik Kim \u003cdonari75@gmail.com\u003e\nCc: Laurent Vivier \u003cLaurent@lvivier.info\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5b93629b4509c03ffa87a9316412fedf6f58cb37",
      "tree": "ad5ceda3f718361b8df3057b4f9edcc79aa4cd9d",
      "parents": [
        "c3a4d78c580de4edc9ef0f7c59812fb02ceb037f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu May 07 22:24:38 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 09:50:53 2009 +0200"
      },
      "message": "block: implement blk_rq_pos/[cur_]sectors() and convert obvious ones\n\nImplement accessors - blk_rq_pos(), blk_rq_sectors() and\nblk_rq_cur_sectors() which return rq-\u003ehard_sector, rq-\u003ehard_nr_sectors\nand rq-\u003ehard_cur_sectors respectively and convert direct references of\nthe said fields to the accessors.\n\nThis is in preparation of request data length handling cleanup.\n\nGeert\t: suggested adding const to struct request * parameter to accessors\nSergei\t: spotted error in patch description\n\n[ Impact: cleanup ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nAcked-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nTested-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nAckec-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nCc: Borislav Petkov \u003cpetkovbb@googlemail.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c3a4d78c580de4edc9ef0f7c59812fb02ceb037f",
      "tree": "916ca44287100707508678e2cc0eff0c43b9ca39",
      "parents": [
        "9720aef2539c10e3a872e9a92beec225030d99db"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu May 07 22:24:37 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 09:50:53 2009 +0200"
      },
      "message": "block: add rq-\u003eresid_len\n\nrq-\u003edata_len served two purposes - the length of data buffer on issue\nand the residual count on completion.  This duality creates some\nheadaches.\n\nFirst of all, block layer and low level drivers can\u0027t really determine\nwhat rq-\u003edata_len contains while a request is executing.  It could be\nthe total request length or it coulde be anything else one of the\nlower layers is using to keep track of residual count.  This\ncomplicates things because blk_rq_bytes() and thus\n[__]blk_end_request_all() relies on rq-\u003edata_len for PC commands.\nDrivers which want to report residual count should first cache the\ntotal request length, update rq-\u003edata_len and then complete the\nrequest with the cached data length.\n\nSecondly, it makes requests default to reporting full residual count,\nie. reporting that no data transfer occurred.  The residual count is\nan exception not the norm; however, the driver should clear\nrq-\u003edata_len to zero to signify the normal cases while leaving it\nalone means no data transfer occurred at all.  This reverse default\nbehavior complicates code unnecessarily and renders block PC on some\ndrivers (ide-tape/floppy) unuseable.\n\nThis patch adds rq-\u003eresid_len which is used only for residual count.\n\nWhile at it, remove now unnecessasry blk_rq_bytes() caching in\nide_pc_intr() as rq-\u003edata_len is not changed anymore.\n\nBoaz\t: spotted missing conversion in osd\nSergei\t: spotted too early conversion to blk_rq_bytes() in ide-tape\n\n[ Impact: cleanup residual count handling, report 0 resid by default ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nCc: Borislav Petkov \u003cpetkovbb@googlemail.com\u003e\nCc: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nCc: Mike Miller \u003cmike.miller@hp.com\u003e\nCc: Eric Moore \u003cEric.Moore@lsi.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Doug Gilbert \u003cdgilbert@interlog.com\u003e\nCc: Mike Miller \u003cmike.miller@hp.com\u003e\nCc: Eric Moore \u003cEric.Moore@lsi.com\u003e\nCc: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nCc: Pete Zaitcev \u003czaitcev@redhat.com\u003e\nCc: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "53d6979ab6747e758207e8ac861b96d0da0d3332",
      "tree": "f95147fe83e984a1311db3da47d8d12b9ecbbf01",
      "parents": [
        "f68adec3c7155a8bbf32a90cb4c4d0737df045d9"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu May 07 22:24:35 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 09:50:53 2009 +0200"
      },
      "message": "nbd: don\u0027t clear rq-\u003esector and nr_sectors unnecessarily\n\nThere\u0027s no reason to clear rq-\u003esector and nr_sectors after calling\nblk_rq_init().  They\u0027re guaranteed to be clear.  Drop unnecessary\nclearing.\n\n[ Impact: cleanup ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Paul Clements \u003cpaul.clements@steeleye.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0191944282e84931f92915b5f06b348a92dac7e1",
      "tree": "5459927f8545c1a666913ee327c4f25c6994c6eb",
      "parents": [
        "0d9f346fb0cd6d6fc70827c5396a0d83939530e4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 28 12:38:33 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 20:24:20 2009 +0200"
      },
      "message": "hd: fix locking\n\nhd dance around local irq and HD_IRQ enable without achieving much.\nIt ends up transferring data from irq handler with both local irq and\nHD_IRQ disabled.  The only place it actually does something is while\ntransferring the first block of a request which it does with HD_IRQ\ndisabled but local irq enabled.\n\nUnfortunately, the dancing is horribly broken from locking POV.  IRQ\nand timeout handlers access block queue without grabbing the queue\nlock and running the driver in SMP configuration crashes the whole\nmachine pretty quickly.\n\nRemove meaningless irq enable/disable dancing and add proper locking\nin issue, irq and timeout paths.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "0d9f346fb0cd6d6fc70827c5396a0d83939530e4",
      "tree": "d24a2705318635f9b2e5c688cf9a34a2334588a6",
      "parents": [
        "39f36b47caae1443eb37c34c6def108bb79f8d25"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Apr 28 12:38:33 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 20:24:20 2009 +0200"
      },
      "message": "mg_disk: fix CONFIG_LBD\u003dy warning\n\ndrivers/block/mg_disk.c: In function ‘mg_dump_status’:\ndrivers/block/mg_disk.c:265: warning: format ‘%ld’ expects type ‘long int’, but\nargument 2 has type ‘sector_t’\n\n[ Impact: kill build warning ]\n\nCc: unsik Kim \u003cdonari75@gmail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "39f36b47caae1443eb37c34c6def108bb79f8d25",
      "tree": "ffa4b5b23d0a3ebd963ba2fdecd594745075f680",
      "parents": [
        "27b1833279995e7c290a40cac4ef36ccea7e9283"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 28 12:38:32 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 20:24:19 2009 +0200"
      },
      "message": "mg_disk: fix locking\n\nIRQ and timeout handlers call functions which expect locked queue lock\nwithout locking it.  Fix it.\n\nWhile at it, convert 0s used as null pointer constant to NULLs.\n\n[ Impact: fix locking, cleanup ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: unsik Kim \u003cdonari75@gmail.com\u003e\n"
    },
    {
      "commit": "f68adec3c7155a8bbf32a90cb4c4d0737df045d9",
      "tree": "6fcdebf47e3ec5b39beaa20cbd4b919353cc0cff",
      "parents": [
        "8a11a789c39cd6f61de4243234cf44a46c23ffd0"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Apr 28 13:06:17 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 08:14:52 2009 +0200"
      },
      "message": "mg_disk: use defines from \u003clinux/ata.h\u003e\n\nWhile at it:\n- remove MG_REG_HEAD_MUST_BE_ON define\n- remove MG_REG_CTRL_INTR_ENABLE define\n- remove MG_REG_HEAD_LBA_MODE define\n- remove unused defines\n\nCc: unsik Kim \u003cdonari75@gmail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "8a11a789c39cd6f61de4243234cf44a46c23ffd0",
      "tree": "ec88d32cffdf40bf13c3f83ad4220e4205666e3f",
      "parents": [
        "a03bb5a32fff4aa23f081a3cff7e98d4084104cd"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Apr 28 13:06:16 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 08:14:52 2009 +0200"
      },
      "message": "mg_disk: fix dependency on libata\n\nAdd local copies of ata_id_string() and ata_id_c_string() to mg_disk\nso there is no need for the driver to depend on ATA and SCSI.\n\n[ Impact: break dependency on libata by copying ata id string functions ]\n\nCc: unsik Kim \u003cdonari75@gmail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a03bb5a32fff4aa23f081a3cff7e98d4084104cd",
      "tree": "9aca610d0e94a6266f17458de4464402c7f53c6b",
      "parents": [
        "eec9462088a26c046d4db3100796a340a50890b8"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 28 13:06:15 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 08:14:51 2009 +0200"
      },
      "message": "mg_disk: clean up request completion paths\n\nmg_disk implements its own partial completion.  Convert to standard\nblock layer partial completion.\n\n[ Impact: cleanup ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: unsik Kim \u003cdonari75@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "eec9462088a26c046d4db3100796a340a50890b8",
      "tree": "7038abaee44acf1498ede878257ea30f7ebb3c40",
      "parents": [
        "e138b4e08ef65771000fbe6d93d67e3960ff862b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 28 13:06:14 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 08:14:51 2009 +0200"
      },
      "message": "mg_disk: fold mg_disk.h into mg_disk.c\n\ninclude/linux/mg_disk.h is used only by drivers/block/mg_disk.c.  No\nreason to put it in a separate header.  Fold it into mg_disk.c.\n\n[ Impact: cleanup ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: unsik Kim \u003cdonari75@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e138b4e08ef65771000fbe6d93d67e3960ff862b",
      "tree": "2f7593bc1774bd6771dc29b8a522d681e9aa1719",
      "parents": [
        "467ca759fc83fc35cb7d15aec0d74c62cffc4481"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 28 13:06:13 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 08:14:51 2009 +0200"
      },
      "message": "swim: clean up request completion paths\n\nswim curiously tries to update request parameters before calling\n__blk_end_request() when __blk_end_request() will do it anyway and\nunnecessarily checks whether current_nr_sectors is zero right after\nfetching.\n\nDrop unnecessary stuff and use standard block layer mechanisms.\n\n[ Impact: cleanup ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Laurent Vivier \u003cLaurent@lvivier.info\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "467ca759fc83fc35cb7d15aec0d74c62cffc4481",
      "tree": "c3b1e83b73df349ce246ada97775d2f7ed6ddd58",
      "parents": [
        "e091eb67af957bac4e4f7410c5d1aa263ee483a4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 28 13:06:12 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 08:14:51 2009 +0200"
      },
      "message": "swim3: clean up request completion paths\n\nswim3 curiously tries to update request parameters before calling\n__blk_end_request() when __blk_end_request() will do it anyway, and it\nupdates request for partial completion manually instead of using\nblk_update_request().  Also, it does some spurious checks on rq such\nas testing whether rq-\u003esector is negative or current_nr_sectors is\nzero right after fetching.\n\nDrop unnecessary stuff and use standard block layer mechanisms.\n\n[ Impact: cleanup ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e091eb67af957bac4e4f7410c5d1aa263ee483a4",
      "tree": "2be45bf08417bb1e2159f0a7519e9c79ac7d5a8f",
      "parents": [
        "f81f2f7c9fee307e371f37424577d46f9eaf8692"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 28 13:06:11 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 08:14:51 2009 +0200"
      },
      "message": "hd: clean up request completion paths\n\nhd read/write_intr() functions manually manipulate request to\nincrementally complete it, which block layer already supports.  Simply\nuse block layer completion routines instead of manual partial\ncompletion.\n\nWhile at it, clear unnecessary elv_next_request() check at the tail of\nread_intr().  This also makes read and write_intr() more consistent.\n\n[ Impact: cleanup ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "044208506d35bd62396c4673176e2c12393905b8",
      "tree": "cf3623eb1693e04010e92f8f631e2354016fc3a4",
      "parents": [
        "cd4c34ebec155e5c10f897d9bebf618248121e70"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 28 13:06:08 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 08:14:50 2009 +0200"
      },
      "message": "sunvdc: kill vdc_end_request()\n\nvdc_end_request() is a thin silly wrapper on top of\n__blk_end_request().  Kill it.\n\n[ Impact: cleanup ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "cd4c34ebec155e5c10f897d9bebf618248121e70",
      "tree": "17baaee04a3b360fdc4a85ca53f31b7d92475bdd",
      "parents": [
        "5b5c5d12b91cb6b2a2967f06aef35d59008dc2e7"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 28 13:06:07 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 08:14:50 2009 +0200"
      },
      "message": "ps3disk: simplify request completion\n\nps3disk_interrupt() always completes requests fully but it uses\nrq-\u003ehard_cur_sectors for FLUSH requests for some reason.  Drop them\nand simply use __blk_end_request_all().\n\n[ Impact: cleanup ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5b5c5d12b91cb6b2a2967f06aef35d59008dc2e7",
      "tree": "ea8397d10aaedda61fcc849ce9a7fcab17b5438b",
      "parents": [
        "4c94dece1baf320d925cedb231489c4e0358ac5a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 28 13:06:06 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 08:14:50 2009 +0200"
      },
      "message": "amiflop,ataflop,xd,mg_disk: clean up unnecessary stuff from block drivers\n\nrq_data_dir() can only be READ or WRITE and rq-\u003esector and nr_sectors\nare always automatically updated after partial request completion.\nDon\u0027t worry about rq_data_dir() not being either READ or WRITE or\nmanually update sector and nr_sectors.\n\n[ Impact: cleanup ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jörg Dorchain \u003cjoerg@dorchain.net\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: unsik Kim \u003cdonari75@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f06d9a2b52e246a66b606130cea3f0d7b7be17a7",
      "tree": "020df1f9d54b00c72d8af02ac0827d496597e75a",
      "parents": [
        "40cbbb781d3eba5d6ac0860db078af490e5c7c6b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Apr 23 11:05:19 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:36 2009 +0200"
      },
      "message": "block: replace end_request() with [__]blk_end_request_cur()\n\nend_request() has been kept around for backward compatibility;\nhowever, it\u0027s about time for it to go away.\n\n* There aren\u0027t too many users left.\n\n* Its use of @updtodate is pretty confusing.\n\n* In some cases, newer code ends up using mixture of end_request() and\n  [__]blk_end_request[_all](), which is way too confusing.\n\nSo, add [__]blk_end_request_cur() and replace end_request() with it.\nMost conversions are straightforward.  Noteworthy ones are...\n\n* paride/pcd: next_request() updated to take 0/-errno instead of 1/0.\n\n* paride/pf: pf_end_request() and next_request() updated to take\n  0/-errno instead of 1/0.\n\n* xd: xd_readwrite() updated to return 0/-errno instead of 1/0.\n\n* mtd/mtd_blkdevs: blktrans_discard_request() updated to return\n  0/-errno instead of 1/0.  Unnecessary local variable res\n  initialization removed from mtd_blktrans_thread().\n\n[ Impact: cleanup ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Joerg Dorchain \u003cjoerg@dorchain.net\u003e\nAcked-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nAcked-by: Laurent Vivier \u003cLaurent@lvivier.info\u003e\nCc: Tim Waugh \u003ctim@cyberelk.net\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Markus Lidel \u003cMarkus.Lidel@shadowconnect.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Pete Zaitcev \u003czaitcev@redhat.com\u003e\nCc: unsik Kim \u003cdonari75@gmail.com\u003e\n"
    },
    {
      "commit": "40cbbb781d3eba5d6ac0860db078af490e5c7c6b",
      "tree": "dec374543cf045fc630bccddbb7646c695094b0d",
      "parents": [
        "b243ddcbe9be146172baa544dadecebf156eda0e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Apr 23 11:05:19 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:35 2009 +0200"
      },
      "message": "block: implement and use [__]blk_end_request_all()\n\nThere are many [__]blk_end_request() call sites which call it with\nfull request length and expect full completion.  Many of them ensure\nthat the request actually completes by doing BUG_ON() the return\nvalue, which is awkward and error-prone.\n\nThis patch adds [__]blk_end_request_all() which takes @rq and @error\nand fully completes the request.  BUG_ON() is added to to ensure that\nthis actually happens.\n\nMost conversions are simple but there are a few noteworthy ones.\n\n* cdrom/viocd: viocd_end_request() replaced with direct calls to\n  __blk_end_request_all().\n\n* s390/block/dasd: dasd_end_request() replaced with direct calls to\n  __blk_end_request_all().\n\n* s390/char/tape_block: tapeblock_end_request() replaced with direct\n  calls to blk_end_request_all().\n\n[ Impact: cleanup ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Mike Miller \u003cmike.miller@hp.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Alex Dubov \u003coakad@yahoo.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "e686307fdc84f249490e6c9da92fcb2424491f14",
      "tree": "d0174abe1f71a4435bf4b7a5822bfdc7dcf650aa",
      "parents": [
        "e93b9fb7d85da4fd9d5171649e5ddcac1dd572bf"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Fri Apr 17 08:41:21 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:28 2009 +0200"
      },
      "message": "loop: use BIO list management functions\n\nNow that the bio list management stuff is generic, convert loop to use\nbio lists instead of its own private bio list implementation.\n\nCc:  Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e93b9fb7d85da4fd9d5171649e5ddcac1dd572bf",
      "tree": "72671e9cad1d1fa6acadd7e389515f3579f3ff26",
      "parents": [
        "7090a0a97f55cbf47547a140fcc5a349f32c598c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 28 12:38:33 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:36:56 2009 +0200"
      },
      "message": "hd: fix locking\n\nhd dance around local irq and HD_IRQ enable without achieving much.\nIt ends up transferring data from irq handler with both local irq and\nHD_IRQ disabled.  The only place it actually does something is while\ntransferring the first block of a request which it does with HD_IRQ\ndisabled but local irq enabled.\n\nUnfortunately, the dancing is horribly broken from locking POV.  IRQ\nand timeout handlers access block queue without grabbing the queue\nlock and running the driver in SMP configuration crashes the whole\nmachine pretty quickly.\n\nRemove meaningless irq enable/disable dancing and add proper locking\nin issue, irq and timeout paths.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "7090a0a97f55cbf47547a140fcc5a349f32c598c",
      "tree": "d82b1b376559f94aa9106621c410a2bb58be3ea1",
      "parents": [
        "ac2ff946a53e7bd0ae98f4e5d1d6c1b1dced82e5"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Apr 28 12:38:33 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:36:56 2009 +0200"
      },
      "message": "mg_disk: fix CONFIG_LBD\u003dy warning\n\ndrivers/block/mg_disk.c: In function ‘mg_dump_status’:\ndrivers/block/mg_disk.c:265: warning: format ‘%ld’ expects type ‘long int’, but\nargument 2 has type ‘sector_t’\n\n[ Impact: kill build warning ]\n\nCc: unsik Kim \u003cdonari75@gmail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "ac2ff946a53e7bd0ae98f4e5d1d6c1b1dced82e5",
      "tree": "ab50d2e1bcf5c76bb9e018839d77ff531e7e4c83",
      "parents": [
        "ce8a7424d23a36f043d0de8484f888971c831119"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 28 12:38:32 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:36:56 2009 +0200"
      },
      "message": "mg_disk: fix locking\n\nIRQ and timeout handlers call functions which expect locked queue lock\nwithout locking it.  Fix it.\n\nWhile at it, convert 0s used as null pointer constant to NULLs.\n\n[ Impact: fix locking, cleanup ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: unsik Kim \u003cdonari75@gmail.com\u003e\n"
    },
    {
      "commit": "f3c737de8f57b5ce756010c2175f7d574194b30d",
      "tree": "fa741dba43d33b83f66c7f912e983feae594d40f",
      "parents": [
        "42dad7647aec49b3ad20dd0cb832b232a6ae514f"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.ne",
        "time": "Thu Apr 23 08:37:58 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Apr 24 08:54:21 2009 +0200"
      },
      "message": "umem: fix request_queue lock warning\n\nThe umem driver issues two warnings on boot, due to blk_plug_device() and\nblk_remove_plug() being called without q-\u003equeue_lock held.  Starting with\ne48ec690 (block: extend queue_flag bitops), the queue_flag_* functions\nwarn if q-\u003equeue_lock doesn\u0027t appear to be locked.  In fact, q-\u003equeue_lock\nis NULL (though that apparently isn\u0027t otherwise a problem as the driver is\nusing card-\u003elock for everything).\n\nAlthough blk_init_queue() with take a request_fn_proc and spinlock_t*,\nthere isn\u0027t a corresponding init helper that takes a make_request_fn.\nSetting queue_lock to \u0026card-\u003elock explicitly seems to work fine for me.\nThe warning goes away and the device appears to behave.\n\n[    1.531881] v2.3 : Micro Memory(tm) PCI memory board block driver\n[    1.538136] umem 0000:02:01.0: PCI INT A -\u003e GSI 20 (level, low) -\u003e IRQ 20\n[    1.545018] umem 0000:02:01.0: Micro Memory(tm) controller found (PCI Mem Module (Battery Backup))\n[    1.554176] umem 0000:02:01.0: CSR 0xfc9ffc00 -\u003e 0xffffc200013d0c00 (0x100)\n[    1.561279] umem 0000:02:01.0: Size 1048576 KB, Battery 1 Disabled (FAILURE), Battery 2 Disabled (FAILURE)\n[    1.571114] umem 0000:02:01.0: Window size 16777216 bytes, IRQ 20\n[    1.577304] umem 0000:02:01.0: memory NOT initialized. Consider over-writing whole device.\n[    1.585989]  umema:\u003c4\u003e------------[ cut here ]------------\n[    1.591775] WARNING: at include/linux/blkdev.h:492 blk_plug_device+0x6d/0x106()\n[    1.592025] Hardware name: H8SSL\n[    1.592025] Modules linked in:\n[    1.592025] Pid: 1, comm: swapper Not tainted 2.6.29 #8\n[    1.592025] Call Trace:\n[    1.592025]  [\u003cffffffff8023c994\u003e] warn_slowpath+0xd3/0xf2\n[    1.592025]  [\u003cffffffff8025a5b5\u003e] ? save_trace+0x3f/0x9b\n[    1.592025]  [\u003cffffffff8025a68b\u003e] ? add_lock_to_list+0x7a/0xba\n[    1.592025]  [\u003cffffffff8025e609\u003e] ? validate_chain+0xb3b/0xce8\n[    1.592025]  [\u003cffffffff80441556\u003e] ? mm_make_request+0x27/0x59\n[    1.592025]  [\u003cffffffff80441556\u003e] ? mm_make_request+0x27/0x59\n[    1.592025]  [\u003cffffffff8025ef04\u003e] ? __lock_acquire+0x74e/0x7b9\n[    1.592025]  [\u003cffffffff8025a70e\u003e] ? get_lock_stats+0x34/0x5e\n[    1.592025]  [\u003cffffffff8025a746\u003e] ? put_lock_stats+0xe/0x27\n[    1.592025]  [\u003cffffffff80441556\u003e] ? mm_make_request+0x27/0x59\n[    1.592025]  [\u003cffffffff803ad165\u003e] blk_plug_device+0x6d/0x106\n[    1.592025]  [\u003cffffffff80441575\u003e] mm_make_request+0x46/0x59\n[    1.592025]  [\u003cffffffff803ac2d9\u003e] generic_make_request+0x335/0x3cf\n[    1.592025]  [\u003cffffffff8027fcc7\u003e] ? mempool_alloc_slab+0x11/0x13\n[    1.592025]  [\u003cffffffff8027fdce\u003e] ? mempool_alloc+0x45/0x101\n[    1.592025]  [\u003cffffffff8025a746\u003e] ? put_lock_stats+0xe/0x27\n[    1.592025]  [\u003cffffffff803adda5\u003e] submit_bio+0x10a/0x119\n[    1.592025]  [\u003cffffffff802c8d00\u003e] submit_bh+0xe5/0x109\n[    1.592025]  [\u003cffffffff802cbf43\u003e] block_read_full_page+0x2aa/0x2cb\n[    1.592025]  [\u003cffffffff802cf4c4\u003e] ? blkdev_get_block+0x0/0x4c\n[    1.592025]  [\u003cffffffff805c90a8\u003e] ? _spin_unlock_irq+0x36/0x51\n[    1.592025]  [\u003cffffffff80286836\u003e] ? __lru_cache_add+0x92/0xb2\n[    1.592025]  [\u003cffffffff802cf008\u003e] blkdev_readpage+0x13/0x15\n[    1.592025]  [\u003cffffffff8027de06\u003e] read_cache_page_async+0x90/0x134\n[    1.592025]  [\u003cffffffff802ceff5\u003e] ? blkdev_readpage+0x0/0x15\n[    1.592025]  [\u003cffffffff802f5f1c\u003e] ? adfspart_check_ICS+0x0/0x16c\n[    1.592025]  [\u003cffffffff8027deb8\u003e] read_cache_page+0xe/0x45\n[    1.592025]  [\u003cffffffff802f5170\u003e] read_dev_sector+0x2e/0x93\n[    1.592025]  [\u003cffffffff802f5f44\u003e] adfspart_check_ICS+0x28/0x16c\n[    1.592025]  [\u003cffffffff8025d427\u003e] ? trace_hardirqs_on+0xd/0xf\n[    1.592025]  [\u003cffffffff802f5f1c\u003e] ? adfspart_check_ICS+0x0/0x16c\n[    1.592025]  [\u003cffffffff802f59c5\u003e] rescan_partitions+0x168/0x2fb\n[    1.592025]  [\u003cffffffff802ceae9\u003e] __blkdev_get+0x259/0x336\n[    1.592025]  [\u003cffffffff803ca1e2\u003e] ? kobject_put+0x47/0x4b\n[    1.592025]  [\u003cffffffff802cebd1\u003e] blkdev_get+0xb/0xd\n[    1.592025]  [\u003cffffffff802f5773\u003e] register_disk+0xc4/0x12b\n[    1.592025]  [\u003cffffffff803b2a7b\u003e] add_disk+0xc3/0x12d\n[    1.592025]  [\u003cffffffff808a1d4a\u003e] ? mm_init+0x0/0x1a5\n[    1.592025]  [\u003cffffffff808a1e73\u003e] mm_init+0x129/0x1a5\n[    1.592025]  [\u003cffffffff808a1d4a\u003e] ? mm_init+0x0/0x1a5\n[    1.592025]  [\u003cffffffff80209056\u003e] _stext+0x56/0x130\n[    1.592025]  [\u003cffffffff80274932\u003e] ? register_irq_proc+0xae/0xca\n[    1.592025]  [\u003cffffffff802f0000\u003e] ? proc_pid_lookup+0xb4/0x18b\n[    1.592025]  [\u003cffffffff8087f975\u003e] kernel_init+0x132/0x18b\n[    1.592025]  [\u003cffffffff8020d17a\u003e] child_rip+0xa/0x20\n[    1.592025]  [\u003cffffffff8020cb40\u003e] ? restore_args+0x0/0x30\n[    1.592025]  [\u003cffffffff8087f843\u003e] ? kernel_init+0x0/0x18b\n[    1.592025]  [\u003cffffffff8020d170\u003e] ? child_rip+0x0/0x20\n[    1.592025] ---[ end trace 7150b3b86da74e1e ]---\n[    1.889858] ------------[ cut here ]------------[ve_plug+0x5f/0x91()\n[    1.893848] Hardware name: H8SSL\n[    1.893848] Modules linked in:\n[    1.893848] Pid: 1, comm: swapper Tainted: G        W  2.6.29 #8\n[    1.893848] Call Trace:\n[    1.893848]  [\u003cffffffff8023c994\u003e] warn_slowpath+0xd3/0xf2\n[    1.893848]  [\u003cffffffff805c8411\u003e] ? trace_hardirqs_on_thunk+0x3a/0x3f\n[    1.893848]  [\u003cffffffff8020cb40\u003e] ? restore_args+0x0/0x30\n[    1.893848]  [\u003cffffffff80254245\u003e] ? __atomic_notifier_call_chain+0x0/0xb2\n[    1.893848]  [\u003cffffffff805c90a3\u003e] ? _spin_unlock_irq+0x31/0x51\n[    1.893848]  [\u003cffffffff805c90bf\u003e] ? _spin_unlock_irq+0x4d/0x51\n[    1.893848]  [\u003cffffffff8044157d\u003e] ? mm_make_request+0x4e/0x59\n[    1.893848]  [\u003cffffffff8025a70e\u003e] ? get_lock_stats+0x34/0x5e\n[    1.893848]  [\u003cffffffff8025a75d\u003e] ? put_lock_stats+0x25/0x27\n[    1.893848]  [\u003cffffffff80441504\u003e] ? mm_unplug_device+0x25/0x50\n[    1.893848]  [\u003cffffffff803acf23\u003e] blk_remove_plug+0x5f/0x91\n[    1.893848]  [\u003cffffffff8044150f\u003e] mm_unplug_device+0x30/0x50\n[    1.893848]  [\u003cffffffff803ab74a\u003e] blk_unplug+0x78/0x7d\n[    1.893848]  [\u003cffffffff803ab75c\u003e] blk_backing_dev_unplug+0xd/0xf\n[    1.893848]  [\u003cffffffff802c853c\u003e] block_sync_page+0x4a/0x4c\n[    1.893848]  [\u003cffffffff8027da1c\u003e] sync_page+0x44/0x4d\n[    1.893848]  [\u003cffffffff805c66fd\u003e] __wait_on_bit_lock+0x42/0x8a\n[    1.893848]  [\u003cffffffff8027d9d8\u003e] ? sync_page+0x0/0x4d\n[    1.893848]  [\u003cffffffff8027d9c4\u003e] __lock_page+0x64/0x6b\n[    1.893848]  [\u003cffffffff802508db\u003e] ? wake_bit_function+0x0/0x2a\n[    1.893848]  [\u003cffffffff8027de4a\u003e] read_cache_page_async+0xd4/0x134\n[    1.893848]  [\u003cffffffff802ceff5\u003e] ? blkdev_readpage+0x0/0x15\n[    1.893848]  [\u003cffffffff802f5f1c\u003e] ? adfspart_check_ICS+0x0/0x16c\n[    1.893848]  [\u003cffffffff8027deb8\u003e] read_cache_page+0xe/0x45\n[    1.893848]  [\u003cffffffff802f5170\u003e] read_dev_sector+0x2e/0x93\n[    1.893848]  [\u003cffffffff802f5f44\u003e] adfspart_check_ICS+0x28/0x16c\n[    1.893848]  [\u003cffffffff8025d427\u003e] ? trace_hardirqs_on+0xd/0xf\n[    1.893848]  [\u003cffffffff802f5f1c\u003e] ? adfspart_check_ICS+0x0/0x16c\n[    1.893848]  [\u003cffffffff802f59c5\u003e] rescan_partitions+0x168/0x2fb\n[    1.893848]  [\u003cffffffff802ceae9\u003e] __blkdev_get+0x259/0x336\n[    1.893848]  [\u003cffffffff803ca1e2\u003e] ? kobject_put+0x47/0x4b\n[    1.893848]  [\u003cffffffff802cebd1\u003e] blkdev_get+0xb/0xd\n[    1.893848]  [\u003cffffffff802f5773\u003e] register_disk+0xc4/0x12b\n[    1.893848]  [\u003cffffffff803b2a7b\u003e] add_disk+0xc3/0x12d\n[    1.893848]  [\u003cffffffff808a1d4a\u003e] ? mm_init+0x0/0x1a5\n[    1.893848]  [\u003cffffffff808a1e73\u003e] mm_init+0x129/0x1a5\n[    1.893848]  [\u003cffffffff808a1d4a\u003e] ? mm_init+0x0/0x1a5\n[    1.893848]  [\u003cffffffff80209056\u003e] _stext+0x56/0x130\n[    1.893848]  [\u003cffffffff80274932\u003e] ? register_irq_proc+0xae/0xca\n[    1.893848]  [\u003cffffffff802f0000\u003e] ? proc_pid_lookup+0xb4/0x18b\n[    1.893848]  [\u003cffffffff8087f975\u003e] kernel_init+0x132/0x18b\n[    1.893848]  [\u003cffffffff8020d17a\u003e] child_rip+0xa/0x20\n[    1.893848]  [\u003cffffffff8020cb40\u003e] ? restore_args+0x0/0x30\n[    1.893848]  [\u003cffffffff8087f843\u003e] ? kernel_init+0x0/0x18b\n[    1.893848]  [\u003cffffffff8020d170\u003e] ? child_rip+0x0/0x20\n[    1.893848] ---[ end trace 7150b3b86da74e1f ]---\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3444b26afa145148951112534f298bdc554ec789",
      "tree": "b2c8d9b13d04869ffdad1e46a9ebbf819e7ed7b4",
      "parents": [
        "d45e230bf03850f17394a760dfa003d986a67729"
      ],
      "author": {
        "name": "David Vrabel",
        "email": "david.vrabel@csr.com",
        "time": "Wed Apr 08 17:36:28 2009 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 17 10:50:27 2009 -0700"
      },
      "message": "USB: add reset endpoint operations\n\nWireless USB endpoint state has a sequence number and a current\nwindow and not just a single toggle bit.  So allow HCDs to provide a\nendpoint_reset method and call this or clear the software toggles as\nrequired (after a clear halt, set configuration etc.).\n\nusb_settoggle() and friends are then HCD internal and are moved into\ncore/hcd.h and all device drivers call usb_reset_endpoint() instead.\n\nIf the device endpoint state has been reset (with a clear halt) but\nthe host endpoint state has not then subsequent data transfers will\nnot complete. The device will only work again after it is reset or\ndisconnected.\n\nSigned-off-by: David Vrabel \u003cdavid.vrabel@csr.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "c2572f2b4ffc27ba79211aceee3bef53a59bb5cd",
      "tree": "8c6680ad7778659c447c2a60b8565490b0d6f427",
      "parents": [
        "dfbc4752eab33e66f113f9daa2effbe241cd661d"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Apr 15 10:32:07 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 15 12:10:13 2009 +0200"
      },
      "message": "brd: fix cacheflushing\n\nbrd is missing a flush_dcache_page. On 2nd thoughts, perhaps it is the\npagecache\u0027s responsibility to flush user virtual aliases (the driver of\ncourse should flush kernel virtual mappings)... but anyway, there\nalready exists cache flushing for one direction of transfer, so we\nshould add the other.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "dfbc4752eab33e66f113f9daa2effbe241cd661d",
      "tree": "3c27a1989452261b681ec42c8a16cce70f91deb3",
      "parents": [
        "297dbf50d7ab0539cf9cf7f2a66918665a18e45e"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Apr 15 10:27:07 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 15 12:10:13 2009 +0200"
      },
      "message": "brd: support barriers\n\nbrd is always ordered (not that it matters, as it is defined not to\nsurvive when the system goes down). So tell the block layer it is\nordered, which might be of help with testing filesystems.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e930438c42e744ef1f8bfdbb338253c9f384df42",
      "tree": "9fd71b732916dc8ccbf985461b4cd1bfd00137a6",
      "parents": [
        "316cb4ef3eb2ad6e35e15cc56d39c6cda58c093a"
      ],
      "author": {
        "name": "Yang Hongyang",
        "email": "yanghy@cn.fujitsu.com",
        "time": "Mon Apr 13 14:40:14 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 13 15:04:33 2009 -0700"
      },
      "message": "Replace all DMA_nBIT_MASK macro with DMA_BIT_MASK(n)\n\nThis is the second go through of the old DMA_nBIT_MASK macro,and there\u0027re not\nso many of them left,so I put them into one patch.I hope this is the last round.\nAfter this the definition of the old DMA_nBIT_MASK macro could be removed.\n\nSigned-off-by: Yang Hongyang \u003cyanghy@cn.fujitsu.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Tony Lindgren \u003ctony@atomide.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f0edef8c8b35f04b89311590dd6f1249f07fab3a",
      "tree": "1959e043ecd40e0ce92b0b3a6f6af125c5bbfcf3",
      "parents": [
        "fb4252e59452c18b88af014a2c4ee697bbf8cbc6"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Apr 08 14:13:04 2009 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Apr 08 14:13:04 2009 +0200"
      },
      "message": "xsysace: Fix dereferencing of cf_id after hd_driveid removal\n\nCommit 4aaf2fec718f6fbf38668edf733a0ab09a49cab1 (xsysace: make it\n\u0027struct hd_driveid\u0027-free) converted the cf_id member of \u0027struct\nace_device\u0027 from a \u0027struct hd_driveid\u0027 to a u16 array.  However,\nreferences to the base of the structure were still using the \u0027\u0026\u0027\noperator.  When the address was used with the ata_id_u32() macro, the\ncompiler used the size of the entire array instead of sizeof(u16) to\ncalculate the offset from the base address.\n\nThis patch removes the use of the \u0027\u0026\u0027 operator from all references of\ncf_id to fix the bug and remove future confusion.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "6a5d263866d699ebf6843105497afc86ee53de5b",
      "tree": "439195e272631908cdc2e3e44abaf7e1c3447157",
      "parents": [
        "aeeae86859f4319de0a4946b44771d9926eeed54",
        "ffcd7dca3ab78f9f425971756e5e90024157f6be"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 11:06:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 11:06:41 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  loop: mutex already unlocked in loop_clr_fd()\n  cfq-iosched: don\u0027t let idling interfere with plugging\n  block: remove unused REQ_UNPLUG\n  cfq-iosched: kill two unused cfqq flags\n  cfq-iosched: change dispatch logic to deal with single requests at the time\n  mflash: initial support\n  cciss: change to discover first memory BAR\n  cciss: kernel scan thread for MSA2012\n  cciss: fix residual count for block pc requests\n  block: fix inconsistency in I/O stat accounting code\n  block: elevator quiescing helpers\n"
    },
    {
      "commit": "284901a90a9e0b812ca3f5f852cbbfb60d10249d",
      "tree": "06c1b5a0f83c90cfb662f756e7781977ce739ce8",
      "parents": [
        "6afd142fd0dfba497246d0fab236c20a7b4bf778"
      ],
      "author": {
        "name": "Yang Hongyang",
        "email": "yanghy@cn.fujitsu.com",
        "time": "Mon Apr 06 19:01:15 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 08:31:11 2009 -0700"
      },
      "message": "dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32)\n\nReplace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32)\n\nSigned-off-by: Yang Hongyang\u003cyanghy@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6a35528a8346f6e6fd32ed7e51f04d1fa4ca2c01",
      "tree": "9caaf8645b573687bbcf3a16b5aa7dd233fed46e",
      "parents": [
        "8a59f5d2526593c6bc1a0754c3a16ccc9ed41ce3"
      ],
      "author": {
        "name": "Yang Hongyang",
        "email": "yanghy@cn.fujitsu.com",
        "time": "Mon Apr 06 19:01:13 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 08:31:10 2009 -0700"
      },
      "message": "dma-mapping: replace all DMA_64BIT_MASK macro with DMA_BIT_MASK(64)\n\nReplace all DMA_64BIT_MASK macro with DMA_BIT_MASK(64)\n\nSigned-off-by: Yang Hongyang\u003cyanghy@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ffcd7dca3ab78f9f425971756e5e90024157f6be",
      "tree": "777753013a09b5de8938a9b1af1c1b6ac5147635",
      "parents": [
        "b029195dda0129b427c6e579a3bb3ae752da3a93"
      ],
      "author": {
        "name": "Alexander Beregalov",
        "email": "a.beregalov@gmail.com",
        "time": "Tue Apr 07 13:48:21 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 07 13:48:21 2009 +0200"
      },
      "message": "loop: mutex already unlocked in loop_clr_fd()\n\nmount/1865 is trying to release lock (\u0026lo-\u003elo_ctl_mutex) at:\nbut there are no more locks to release!\n\nmutex is already unlocked in loop_clr_fd(), we should not\ntry to unlock it in lo_release() again.\n\nSigned-off-by: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3fbed4c61abd8458896e38633d10110cb5a589d4",
      "tree": "6024567b36cc26c4d6fddef59fab222651310dec",
      "parents": [
        "e143858104e318263689c551543dfc3f186cea12"
      ],
      "author": {
        "name": "unsik Kim",
        "email": "donari75@gmail.com",
        "time": "Thu Apr 02 12:50:58 2009 -0700"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 07 08:12:38 2009 +0200"
      },
      "message": "mflash: initial support\n\nThis driver supports mflash IO mode for linux.\n\nMflash is embedded flash drive and mainly targeted mobile and consumer\nelectronic devices.\n\nInternally, mflash has nand flash and other hardware logics and supports 2\ndifferent operation (ATA, IO) modes.  ATA mode doesn\u0027t need any new driver\nand currently works well under standard IDE subsystem.  Actually it\u0027s one\nchip SSD.  IO mode is ATA-like custom mode for the host that doesn\u0027t have\nIDE interface.\n\nFollowings are brief descriptions about IO mode.\nA. IO mode based on ATA protocol and uses some custom command. (read confirm,\nwrite confirm)\nB. IO mode uses SRAM bus interface.\nC. IO mode supports 4kB boot area, so host can boot from mflash.\n\nThis driver is quitely similar to a standard ATA driver, but because of\nfollowing reasons it is currently seperated with ATA layer.\n\n1. ATA layer deals standard ATA protocol.  ATA layer have many low-\n   level device specific interface, but data transfer keeps ATA rule.\n   But, mflash IO mode doesn\u0027t.\n\n2. Even though currently not used in mflash driver code, mflash has\n   some custom command and modes.  (nand fusing, firmware patch, etc) If\n   this feature supported in linux kernel, ATA layer more altered.\n\n3. Currently PATA platform device driver doesn\u0027t support interrupt.\n   (I\u0027m not sure) But, mflash uses interrupt (polling mode is just for\n   debug).\n\n4. mflash is somewhat under-develop product.  Even though some company\n   already using mflash their own product, I think more time is needed for\n   standardization of custom command and mode.  That time (maybe October)\n   I will talk to with ATA people.  If they accept integration, I will\n   integrate.\n\nSigned-off-by: unsik Kim \u003cdonari75@gmail.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e143858104e318263689c551543dfc3f186cea12",
      "tree": "96d2bf9cc01931c9f8e4f93d5f200ad1b05cb890",
      "parents": [
        "0a9279cc7cbe726e995c44a1acae81d446775816"
      ],
      "author": {
        "name": "Mike Miller",
        "email": "mike.miller@hp.com",
        "time": "Thu Apr 02 12:50:56 2009 -0700"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 07 08:12:38 2009 +0200"
      },
      "message": "cciss: change to discover first memory BAR\n\nAdd a method for discovering the first memory BAR.  All Smart Array\ncontrollers to date have always had the the memory BAR as the first BAR.\nA new controller to be released later this year breaks that model.\n\nSigned-off-by: Mike Miller \u003cmike.miller@hp.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0a9279cc7cbe726e995c44a1acae81d446775816",
      "tree": "80b7eb06a7629f6e0ab0c865f791b6a421a0ef6e",
      "parents": [
        "ac44e5b2ed62bf4acf9df84575d3f18c7a6fdf22"
      ],
      "author": {
        "name": "Mike Miller",
        "email": "mike.miller@hp.com",
        "time": "Thu Apr 02 12:50:55 2009 -0700"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 07 08:12:38 2009 +0200"
      },
      "message": "cciss: kernel scan thread for MSA2012\n\nThe MSA2012 cannot inform the driver of configuration changes since all\nmanagement is out of band.  This is a departure from any storage we have\nsupported in the past.  We need some way to detect changes on the topology\nso we implement this kernel thread.  In some instances there\u0027s nothing we\ncan do from the driver (like LUN failure) so just print out a message.  In\nthe case where logical volumes are added or deleted we call\nrebuild_lun_table to refresh the driver\u0027s view of the world.\n\nSigned-off-by: Mike Miller \u003cmike.miller@hp.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ac44e5b2ed62bf4acf9df84575d3f18c7a6fdf22",
      "tree": "55e44b1d54299f85332e6e1087cad28e9a439c33",
      "parents": [
        "26308eab69aa193f7b3fb50764a64ae14544a39b"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Mar 27 10:43:52 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 07 08:12:38 2009 +0200"
      },
      "message": "cciss: fix residual count for block pc requests\n\nWe must complete the full request, so store the request count and then set\nthe -\u003edata_len to the residual count from the hardware.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ea02259fdf47ca81ff3ca0c22906d989094fb8ff",
      "tree": "5d3672aa246e016f695bc62a861902a50de7b461",
      "parents": [
        "8fe74cf053de7ad2124a894996f84fa890a81093",
        "eae6c2b6414fc6673ac5415442fe463c01005366"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 03 09:02:32 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 03 09:02:32 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/linux-hdreg-h-cleanup\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bart/linux-hdreg-h-cleanup:\n  remove \u003clinux/ata.h\u003e include from \u003clinux/hdreg.h\u003e\n  include/linux/hdreg.h: remove unused defines\n  isd200: use ATA_* defines instead of *_STAT and *_ERR ones\n  include/linux/hdreg.h: cover WIN_* and friends with #ifndef/#endif __KERNEL__\n  aoe: WIN_* -\u003e ATA_CMD_*\n  isd200: WIN_* -\u003e ATA_CMD_*\n  include/linux/hdreg.h: cover struct hd_driveid with #ifndef/#endif __KERNEL__\n  xsysace: make it \u0027struct hd_driveid\u0027-free\n  ubd_kern: make it \u0027struct hd_driveid\u0027-free\n  isd200: make it \u0027struct hd_driveid\u0027-free\n"
    },
    {
      "commit": "15746fcaa3a00753bbab2326088b85b10c1ba36a",
      "tree": "a61e2e83fc3eaefc62f2e45d1b95125a8180c7ab",
      "parents": [
        "1a2ad21128bb4eb79f3c05e5801edcc5ed3ef1d3"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@suse.cz",
        "time": "Thu Apr 02 16:58:42 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:05:02 2009 -0700"
      },
      "message": "nbd: trivial cleanups\n\nTrivial cleanups for nbd: only the return -EIO one really changes code,\nand I\u0027ve verified all the callers (plus 0 \u003d\u003d success, 1 \u003d\u003d error\nconvention is really ugly).\n\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nAcked-by: Paul Clements \u003cpaul.clements@steeleye.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1a2ad21128bb4eb79f3c05e5801edcc5ed3ef1d3",
      "tree": "ba5845f5e7f225b427d4ce250b911b9303aa9511",
      "parents": [
        "1b0f7ffd0ea27cd3a0b9ca04e3df9522048c32a3"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@suse.cz",
        "time": "Thu Apr 02 16:58:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:05:02 2009 -0700"
      },
      "message": "nbd: add locking to nbd_ioctl\n\nThe code was written to rely on big kernel lock to protect it from races.\nIt mostly works when interface is not abused.\n\nSo this uses tx_lock to protect data structures from concurrent use\nbetween ioctl and worker threads.\n\nNext step will be moving from ioctl to unlocked_ioctl.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: add missing return]\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nAcked-by: Paul Clements \u003cpaul.clements@steeleye.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "83f9ef463bcb4ba7b4fee1d6212fac7d277010d3"
}
