)]}'
{
  "log": [
    {
      "commit": "6c4867f6469964e34c5f4ee229a2a7f71a34c7ff",
      "tree": "639fb854b56d746aeb324011372b4c0571fd01ef",
      "parents": [
        "d11bb4462c4cc6ddd45c6927c617ad79fa6fb8fc"
      ],
      "author": {
        "name": "Carsten Emde",
        "email": "C.Emde@osadl.org",
        "time": "Wed Sep 21 10:22:11 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Wed Sep 21 10:22:11 2011 +0200"
      },
      "message": "floppy: use del_timer_sync() in init cleanup\n\nWhen no floppy is found the module code can be released while a timer\nfunction is pending or about to be executed.\n\nCPU0                                  CPU1\n\t\t\t\t      floppy_init()\ntimer_softirq()\n   spin_lock_irq(\u0026base-\u003elock);\n   detach_timer();\n   spin_unlock_irq(\u0026base-\u003elock);\n   -\u003e Interrupt\n\t\t\t\t\tdel_timer();\n\t\t\t\t        return -ENODEV;\n                                      module_cleanup();\n   \u003c- EOI\n   call_timer_fn();\n   OOPS\n\nUse del_timer_sync() to prevent this.\n\nSigned-off-by: Carsten Emde \u003cC.Emde@osadl.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "89c63a8ef36a621cb6790c1a56c737e6805ad8f4",
      "tree": "5ea04a45a3260e734871407d7840dca4bf56d850",
      "parents": [
        "65299a3b788bd274bed92f9fa3232082c9f3ea70",
        "1bc05b0ae6448b20d46076899e0cc12ad999e50e"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Aug 23 15:09:13 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Aug 23 15:09:13 2011 +0200"
      },
      "message": "Merge branch \u0027stable/for-jens\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen into for-linus\n"
    },
    {
      "commit": "1bc05b0ae6448b20d46076899e0cc12ad999e50e",
      "tree": "509b16a1f2c83f2966b6c7b8e9a8f4bd73ad5063",
      "parents": [
        "6f5986bce558e64fe867bff600a2127a3cb0c006"
      ],
      "author": {
        "name": "Joe Jin",
        "email": "joe.jin@oracle.com",
        "time": "Mon Aug 15 12:57:07 2011 +0800"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Mon Aug 22 11:35:36 2011 -0400"
      },
      "message": "xen-blkback: fixed indentation and comments\n\nThis patch fixes belows:\n\n1. Fix code style issue.\n2. Fix incorrect functions name in comments.\n\nSigned-off-by: Joe Jin \u003cjoe.jin@oracle.com\u003e\nCc: Jens Axboe \u003cjaxboe@fusionio.com\u003e\nCc: Ian Campbell \u003cIan.Campbell@eu.citrix.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "6f5986bce558e64fe867bff600a2127a3cb0c006",
      "tree": "b08c7f219d1757f6389258d9879c1ae592232716",
      "parents": [
        "ea5e116162b7e0cf83a2b8a273440514404604de"
      ],
      "author": {
        "name": "Joe Jin",
        "email": "joe.jin@oracle.com",
        "time": "Mon Aug 15 12:51:31 2011 +0800"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Mon Aug 22 11:35:35 2011 -0400"
      },
      "message": "xen-blkback: Don\u0027t disconnect backend until state switched to XenbusStateClosed.\n\nWhen do block-attach/block-detach test with below steps, umount hangs\nin the guest. Furthermore shutdown ends up being stuck when umounting file-systems.\n\n1. start guest.\n2. attach new block device by xm block-attach in Dom0.\n3. mount new disk in guest.\n4. execute xm block-detach to detach the block device in dom0 until timeout\n5. Any request to the disk will hung.\n\nRoot cause:\nThis issue is caused when setting backend device\u0027s state to\n\u0027XenbusStateClosing\u0027, which sends to the frontend the XenbusStateClosing\nnotification. When frontend receives the notification it tries to release\nthe disk in blkfront_closing(), but at that moment the disk is still in use\nby guest, so frontend refuses to close. Specifically it sets the disk state to\nXenbusStateClosing and sends the notification to backend - when backend receives the\nevent, it disconnects the vbd from real device, and sets the vbd device state to\nXenbusStateClosing. The backend disconnects the real device/file, and any IO\nrequests to the disk in guest will end up in ether, leaving disk DEAD and set to\nXenbusStateClosing. When the guest wants to disconnect the disk, umount will\nhang on blkif_release()-\u003exlvbd_release_gendisk() as it is unable to send any IO\nto the disk, which prevents clean system shutdown.\n\nSolution:\nDon\u0027t disconnect backend until frontend state switched to XenbusStateClosed.\n\nSigned-off-by: Joe Jin \u003cjoe.jin@oracle.com\u003e\nCc: Daniel Stodden \u003cdaniel.stodden@citrix.com\u003e\nCc: Jens Axboe \u003cjaxboe@fusionio.com\u003e\nCc: Annie Li \u003cannie.li@oracle.com\u003e\nCc: Ian Campbell \u003cIan.Campbell@eu.citrix.com\u003e\n[v1: Modified description a bit]\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "40bb96ade4ef1549f387625589175def31dc9023",
      "tree": "1b02671145e225e54354ffeb0ee7fe2afe3c4339",
      "parents": [
        "fa1bf42ff9296ac4cf211b0a1b450a6071d26a95",
        "ea5e116162b7e0cf83a2b8a273440514404604de"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Aug 09 20:43:26 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Aug 09 20:43:26 2011 +0200"
      },
      "message": "Merge branch \u0027stable/for-jens\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen into for-linus\n"
    },
    {
      "commit": "ea5e116162b7e0cf83a2b8a273440514404604de",
      "tree": "6eee7e14bb69e015172b806d2abc98272430717f",
      "parents": [
        "89153b5cae9f40c224a5d321665a97bf14220c2c"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Wed Aug 03 11:12:17 2011 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Tue Aug 09 11:12:14 2011 -0400"
      },
      "message": "xen/blkback: Make description more obvious.\n\nWith the frontend having Xen but the backend not, it just looks odd:\n\n  \u003c*\u003e   Xen virtual block device support\n  \u003c*\u003e   Block-device backend driver\n\nFix it to have the \u0027Xen\u0027 in front of it.\n\nReported-by: Sander Eikelenboom \u003clinux@eikelenboom.it\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "f41c53a569c4cf0556893ec9cfcf697d069799e1",
      "tree": "e5ee3810301fe3c91e9a1f395028dda6e230d3f8",
      "parents": [
        "f95fe9cfb49f6e625fbb5888cae2ed6f3a276b89"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Wed Aug 03 15:02:55 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Aug 03 15:02:55 2011 +0200"
      },
      "message": "block: swim3: fix unterminated of_device_id table\n\nof_device_id structures need a NULL terminating entry, add it.\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "ddad9ef5826efdfbbdb67b13b46f30e43e46ec3e",
      "tree": "e61bae18a470e75fc46b23b9923e224aba93868d",
      "parents": [
        "e2a5429ff7947ad251310376384f449297b7492a"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Tue Aug 02 12:43:49 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Aug 02 12:43:49 2011 +0200"
      },
      "message": "drivers/block/drbd/drbd_nl.c: use bitmap_parse instead of __bitmap_parse\n\nThe buffer \u0027sc.cpu_mask\u0027 is a kernel buffer.  If bitmap_parse is used\ninstead of __bitmap_parse the extra parameter that indicates a kernel\nbuffer is not needed.\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nCc: Lars Ellenberg \u003cdrbd-dev@lists.linbit.com\u003e\nCc: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "05eb0f252b04aa94ace0794f73d56c6a02351d80",
      "tree": "51c86862b31a5d2361b54658d0b6e14ed03c9afc",
      "parents": [
        "d134b00b9acca3fb054d7c88a5f5d562ecbb42d1"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Sun Jul 31 22:21:35 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sun Jul 31 22:21:35 2011 +0200"
      },
      "message": "loop: fix deadlock when sysfs and LOOP_CLR_FD race against each other\n\nLOOP_CLR_FD takes lo-\u003elo_ctl_mutex and tries to remove the loop sysfs\nfiles. Sysfs calls show() and waits for lo-\u003elo_ctl_mutex. LOOP_CLR_FD\nwaits for show() to finish to remove the sysfs file.\n\n  cat /sys/class/block/loop0/loop/backing_file\n    mutex_lock_nested+0x176/0x350\n    ? loop_attr_do_show_backing_file+0x2f/0xd0 [loop]\n    ? loop_attr_do_show_backing_file+0x2f/0xd0 [loop]\n    loop_attr_do_show_backing_file+0x2f/0xd0 [loop]\n    dev_attr_show+0x1b/0x60\n    ? sysfs_read_file+0x86/0x1a0\n    ? __get_free_pages+0x12/0x50\n    sysfs_read_file+0xaf/0x1a0\n\n  ioctl(LOOP_CLR_FD):\n    wait_for_common+0x12c/0x180\n    ? try_to_wake_up+0x2a0/0x2a0\n    wait_for_completion+0x18/0x20\n    sysfs_deactivate+0x178/0x180\n    ? sysfs_addrm_finish+0x43/0x70\n    ? sysfs_addrm_start+0x1d/0x20\n    sysfs_addrm_finish+0x43/0x70\n    sysfs_hash_and_remove+0x85/0xa0\n    sysfs_remove_group+0x59/0x100\n    loop_clr_fd+0x1dc/0x3f0 [loop]\n    lo_ioctl+0x223/0x7a0 [loop]\n\nInstead of taking the lo_ctl_mutex from sysfs code, take the inner\nlo-\u003elo_lock, to protect the access to the backing_file data.\n\nThanks to Tejun for help debugging and finding a solution.\n\nCc: Milan Broz \u003cmbroz@redhat.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: stable@kernel.org\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "d134b00b9acca3fb054d7c88a5f5d562ecbb42d1",
      "tree": "ccc63647ec8a551289f26866ec86091e44266bad",
      "parents": [
        "770fe30a46a12b6fb6b63fbe1737654d28e84844"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Sun Jul 31 22:08:04 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sun Jul 31 22:08:04 2011 +0200"
      },
      "message": "loop: add BLK_DEV_LOOP_MIN_COUNT\u003d%i to allow distros 0 pre-allocated loop devices\n\nInstead of unconditionally creating a fixed number of dead loop\ndevices which need to be investigated by storage handling services,\neven when they are never used, we allow distros start with 0\nloop devices and have losetup(8) and similar switch to the dynamic\n/dev/loop-control interface instead of searching /dev/loop%i for free\ndevices.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "770fe30a46a12b6fb6b63fbe1737654d28e84844",
      "tree": "e8a35712602ca086c41f94d191579ac2dc365cf5",
      "parents": [
        "34dd82afd27da2537199d7f71f1542501c6f96e7"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Sun Jul 31 22:08:04 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sun Jul 31 22:08:04 2011 +0200"
      },
      "message": "loop: add management interface for on-demand device allocation\n\nLoop devices today have a fixed pre-allocated number of usually 8.\nThe number can only be changed at module init time. To find a free\ndevice to use, /dev/loop%i needs to be scanned, and all devices need\nto be opened until a free one is possibly found.\n\nThis adds a new /dev/loop-control device node, that allows to\ndynamically find or allocate a free device, and to add and remove loop\ndevices from the running system:\n LOOP_CTL_ADD adds a specific device. Arg is the number\n of the device. It returns the device i or a negative\n error code.\n\n LOOP_CTL_REMOVE removes a specific device, Arg is the\n number the device. It returns the device i or a negative\n error code.\n\n LOOP_CTL_GET_FREE finds the next unbound device or allocates\n a new one. No arg is given. It returns the device i or a\n negative error code.\n\nThe loop kernel module gets automatically loaded when\n/dev/loop-control is accessed the first time. The alias\nspecified in the module, instructs udev to create this\n\u0027dead\u0027 device node, even when the module is not loaded.\n\nExample:\n cfd \u003d open(\"/dev/loop-control\", O_RDWR);\n\n # add a new specific loop device\n err \u003d ioctl(cfd, LOOP_CTL_ADD, devnr);\n\n # remove a specific loop device\n err \u003d ioctl(cfd, LOOP_CTL_REMOVE, devnr);\n\n # find or allocate a free loop device to use\n devnr \u003d ioctl(cfd, LOOP_CTL_GET_FREE);\n\n sprintf(loopname, \"/dev/loop%i\", devnr);\n ffd \u003d open(\"backing-file\", O_RDWR);\n lfd \u003d open(loopname, O_RDWR);\n err \u003d ioctl(lfd, LOOP_SET_FD, ffd);\n\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Karel Zak  \u003ckzak@redhat.com\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "34dd82afd27da2537199d7f71f1542501c6f96e7",
      "tree": "35688ccd99d99e16f3c82829eb824703e7460822",
      "parents": [
        "aa387cc895672b00f807ad7c734a2defaf677712"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Sun Jul 31 22:08:04 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sun Jul 31 22:08:04 2011 +0200"
      },
      "message": "loop: replace linked list of allocated devices with an idr index\n\nReplace the linked list, that keeps track of allocated devices, with an\nidr index to allow a more efficient lookup of devices.\n\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "60063497a95e716c9a689af3be2687d261f115b4",
      "tree": "6ce0d68db76982c53df46aee5f29f944ebf2c320",
      "parents": [
        "148817ba092f9f6edd35bad3c6c6b8e8f90fe2ed"
      ],
      "author": {
        "name": "Arun Sharma",
        "email": "asharma@fb.com",
        "time": "Tue Jul 26 16:09:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:47 2011 -0700"
      },
      "message": "atomic: use \u003clinux/atomic.h\u003e\n\nThis allows us to move duplicated code in \u003casm/atomic.h\u003e\n(atomic_inc_not_zero() for now) to \u003clinux/atomic.h\u003e\n\nSigned-off-by: Arun Sharma \u003casharma@fb.com\u003e\nReviewed-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ba5b56cb3e3d2cab73d4fee9a022bb69462a8cd9",
      "tree": "eda7ea059a41ae5d68e2ad5a36a87069187ef22a",
      "parents": [
        "243dd2809a5edd2e0e3e62781083aa44049af37d",
        "d79698da32b317e96216236f265a9b72b78ae568"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 13:38:50 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 13:38:50 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (23 commits)\n  ceph: document unlocked d_parent accesses\n  ceph: explicitly reference rename old_dentry parent dir in request\n  ceph: document locking for ceph_set_dentry_offset\n  ceph: avoid d_parent in ceph_dentry_hash; fix ceph_encode_fh() hashing bug\n  ceph: protect d_parent access in ceph_d_revalidate\n  ceph: protect access to d_parent\n  ceph: handle racing calls to ceph_init_dentry\n  ceph: set dir complete frag after adding capability\n  rbd: set blk_queue request sizes to object size\n  ceph: set up readahead size when rsize is not passed\n  rbd: cancel watch request when releasing the device\n  ceph: ignore lease mask\n  ceph: fix ceph_lookup_open intent usage\n  ceph: only link open operations to directory unsafe list if O_CREAT|O_TRUNC\n  ceph: fix bad parent_inode calc in ceph_lookup_open\n  ceph: avoid carrying Fw cap during write into page cache\n  libceph: don\u0027t time out osd requests that haven\u0027t been received\n  ceph: report f_bfree based on kb_avail rather than diffing.\n  ceph: only queue capsnap if caps are dirty\n  ceph: fix snap writeback when racing with writes\n  ...\n"
    },
    {
      "commit": "029bcbd8b076fd19787b8c73e58dd0a6f2c0caf1",
      "tree": "305128db78ecfb09e6a236caeeac1fbb9ece1175",
      "parents": [
        "e9852227431a0ed6ceda064f33e4218757acab6c"
      ],
      "author": {
        "name": "Josh Durgin",
        "email": "josh.durgin@dreamhost.com",
        "time": "Fri Jul 22 11:35:23 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:29:35 2011 -0700"
      },
      "message": "rbd: set blk_queue request sizes to object size\n\nThis improves performance since more requests can be merged.\n\nReviewed-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Josh Durgin \u003cjosh.durgin@dreamhost.com\u003e\n"
    },
    {
      "commit": "79e3057c4c9d32b88e6745fd220d91b0a8b2030b",
      "tree": "fb6f4bff64c4e6014af3bdaa5284e921d24111bd",
      "parents": [
        "2f90b852e3ae73889d7f6de6ecf429b9b6a6b103"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Tue Jul 12 16:56:57 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 26 11:29:04 2011 -0700"
      },
      "message": "rbd: cancel watch request when releasing the device\n\nWe were missing this cleanup, so when a device was released\nthe osd didn\u0027t clean up its watchers list, so following notifications\ncould be slow as osd needed to timeout on the client.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\n"
    },
    {
      "commit": "8ded371f81fba8b38a049f8c5f30ce6438fc7b75",
      "tree": "0684d176cb6f35c92c4bf0185b1af9f5380077eb",
      "parents": [
        "096a705bbc080a4041636d07514560da8d78acbe",
        "07d0c38e7d84f911c72058a124c7f17b3c779a65"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 10:38:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 10:38:18 2011 -0700"
      },
      "message": "Merge branch \u0027for-3.1/drivers\u0027 of git://git.kernel.dk/linux-block\n\n* \u0027for-3.1/drivers\u0027 of git://git.kernel.dk/linux-block:\n  cciss: do not attempt to read from a write-only register\n  xen/blkback: Add module alias for autoloading\n  xen/blkback: Don\u0027t let in-flight requests defer pending ones.\n  bsg: fix address space warning from sparse\n  bsg: remove unnecessary conditional expressions\n  bsg: fix bsg_poll() to return POLLOUT properly\n"
    },
    {
      "commit": "bbd9d6f7fbb0305c9a592bf05a32e87eb364a4ff",
      "tree": "12b2bb4202b05f6ae6a43c6ce830a0472043dbe5",
      "parents": [
        "8e204874db000928e37199c2db82b7eb8966cc3c",
        "5a9a43646cf709312d71eca71cef90ad802f28f9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 19:02:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 19:02:39 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (107 commits)\n  vfs: use ERR_CAST for err-ptr tossing in lookup_instantiate_filp\n  isofs: Remove global fs lock\n  jffs2: fix IN_DELETE_SELF on overwriting rename() killing a directory\n  fix IN_DELETE_SELF on overwriting rename() on ramfs et.al.\n  mm/truncate.c: fix build for CONFIG_BLOCK not enabled\n  fs:update the NOTE of the file_operations structure\n  Remove dead code in dget_parent()\n  AFS: Fix silly characters in a comment\n  switch d_add_ci() to d_splice_alias() in \"found negative\" case as well\n  simplify gfs2_lookup()\n  jfs_lookup(): don\u0027t bother with . or ..\n  get rid of useless dget_parent() in btrfs rename() and link()\n  get rid of useless dget_parent() in fs/btrfs/ioctl.c\n  fs: push i_mutex and filemap_write_and_wait down into -\u003efsync() handlers\n  drivers: fix up various -\u003ellseek() implementations\n  fs: handle SEEK_HOLE/SEEK_DATA properly in all fs\u0027s that define their own llseek\n  Ext4: handle SEEK_HOLE/SEEK_DATA generically\n  Btrfs: implement our own -\u003ellseek\n  fs: add SEEK_HOLE and SEEK_DATA flags\n  reiserfs: make reiserfs default to barrier\u003dflush\n  ...\n\nFix up trivial conflicts in fs/xfs/linux-2.6/xfs_super.c due to the new\nshrinker callout for the inode cache, that clashed with the xfs code to\nstart the periodic workers later.\n"
    },
    {
      "commit": "a99a7d1436f9375662f35ccac8f1a1e1b0302a11",
      "tree": "0b3f411f6b1c4256063cf1d53773110f5a5f7482",
      "parents": [
        "bdc7ccfc0631797636837b10df7f87bc1e2e4ae3",
        "ded7c1ee9799fe0ca725b459f151402e3ca4d12b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:51:56 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:51:56 2011 -0700"
      },
      "message": "Merge branch \u0027timers-cleanup-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-cleanup-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  mips: Fix i8253 clockevent fallout\n  i8253: Cleanup outb/inb magic\n  arm: Footbridge: Use common i8253 clockevent\n  mips: Use common i8253 clockevent\n  x86: Use common i8253 clockevent\n  i8253: Create common clockevent implementation\n  i8253: Export i8253_lock unconditionally\n  pcpskr: MIPS: Make config dependencies finer grained\n  pcspkr: Cleanup Kconfig dependencies\n  i8253: Move remaining content and delete asm/i8253.h\n  i8253: Consolidate definitions of PIT_LATCH\n  x86: i8253: Consolidate definitions of global_clock_event\n  i8253: Alpha, PowerPC: Remove unused asm/8253pit.h\n  alpha: i8253: Cleanup remaining users of i8253pit.h\n  i8253: Remove I8253_LOCK config\n  i8253: Make pcsp sound driver use the shared i8253_lock\n  i8253: Make pcspkr input driver use the shared i8253_lock\n  i8253: Consolidate all kernel definitions of i8253_lock\n  i8253: Unify all kernel declarations of i8253_lock\n  i8253: Create linux/i8253.h and use it in all 8253 related files\n"
    },
    {
      "commit": "8181780c163e7111f15619067cfa044172d532e1",
      "tree": "7eec99ddd1b20e9018edfba5c05a179b317c27fe",
      "parents": [
        "7235dd74a4733d4b3651349b5261d2e06996427d",
        "99ce39e359fa29e4b609a6a13485e7573eda5dfb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 14:53:38 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 14:53:38 2011 -0700"
      },
      "message": "Merge branch \u0027devicetree/next\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027devicetree/next\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  dt: include linux/errno.h in linux/of_address.h\n  of/address: Add of_find_matching_node_by_address helper\n  dt: remove extra xsysace platform_driver registration\n  tty/serial: Add devicetree support for nVidia Tegra serial ports\n  dt: add empty of_property_read_u32[_array] for non-dt\n  dt: bindings: move SEC node under new crypto/\n  dt: add helper function to read u32 arrays\n  tty/serial: change of_serial to use new of_property_read_u32() api\n  dt: add \u0027const\u0027 for of_property_read_string parameter **out_string\n  dt: add helper functions to read u32 and string property values\n  tty: of_serial: support for 32 bit accesses\n  dt: document the of_serial bindings\n  dt/platform: allow device name to be overridden\n  drivers/amba: create devices from device tree\n  dt: add of_platform_populate() for creating device from the device tree\n  dt: Add default match table for bus ids\n"
    },
    {
      "commit": "111ad119d1765b1bbef2629a5f2bd825caeb7e74",
      "tree": "167ee4a4e6e9276bb7178ddcce85d6860543cfb4",
      "parents": [
        "997271cf5e12c1b38aec0764187094663501c984",
        "3a6d28b11a895d08b6b4fc6f16dd9ff995844b45"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 13:45:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 13:45:15 2011 -0700"
      },
      "message": "Merge branch \u0027stable/drivers\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen\n\n* \u0027stable/drivers\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  xen/pciback: Have \u0027passthrough\u0027 option instead of XEN_PCIDEV_BACKEND_PASS and XEN_PCIDEV_BACKEND_VPCI\n  xen/pciback: Remove the DEBUG option.\n  xen/pciback: Drop two backends, squash and cleanup some code.\n  xen/pciback: Print out the MSI/MSI-X (PIRQ) values\n  xen/pciback: Don\u0027t setup an fake IRQ handler for SR-IOV devices.\n  xen: rename pciback module to xen-pciback.\n  xen/pciback: Fine-grain the spinlocks and fix BUG: scheduling while atomic cases.\n  xen/pciback: Allocate IRQ handler for device that is shared with guest.\n  xen/pciback: Disable MSI/MSI-X when reseting a device\n  xen/pciback: guest SR-IOV support for PV guest\n  xen/pciback: Register the owner (domain) of the PCI device.\n  xen/pciback: Cleanup the driver based on checkpatch warnings and errors.\n  xen/pciback: xen pci backend driver.\n  xen: tmem: self-ballooning and frontswap-selfshrinking\n  xen: Add module alias to autoload backend drivers\n  xen: Populate xenbus device attributes\n  xen: Add __attribute__((format(printf... where appropriate\n  xen: prepare tmem shim to handle frontswap\n  xen: allow enable use of VGA console on dom0\n"
    },
    {
      "commit": "e7f59097071f2e193e900093742a4be85839f3d9",
      "tree": "35cc747b65d29fdc4f6dea472bf75b540da20453",
      "parents": [
        "0ee5dc676a5f8fadede608c7281dfedb1ae714ea"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jul 07 15:45:59 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 01:44:21 2011 -0400"
      },
      "message": "kill useless checks for sb-\u003es_op \u003d\u003d NULL\n\nnever is...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8c11642a50555e584774737f7c296f9aece310cf",
      "tree": "1ff8dfaf05479593ef2c50378a68dfc6aec495a5",
      "parents": [
        "5d10302f46df1d9a85c34ea97f9b6c29e414482e",
        "620917de59eeb934b9f8cf35cc2d95c1ac8ed0fc"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Fri Jul 15 20:11:34 2011 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Fri Jul 15 20:11:34 2011 -0600"
      },
      "message": "Merge commit \u0027v3.0-rc7\u0027 into devicetree/next\n"
    },
    {
      "commit": "89153b5cae9f40c224a5d321665a97bf14220c2c",
      "tree": "00290a8a37e49c1dea67be06e2640f26677364c2",
      "parents": [
        "196cfe2ae8fcdc03b3c7d627e7dfe8c0ce7229f9"
      ],
      "author": {
        "name": "Stefan Bader",
        "email": "stefan.bader@canonical.com",
        "time": "Thu Jul 14 15:30:37 2011 +0200"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu Jul 14 14:19:51 2011 -0400"
      },
      "message": "xen-blkfront: Fix one off warning about name clash\n\nAvoid telling users to use xvde and onwards when using xvde.\n\nAcked-by: Stefano Stabellini \u003cstefano.stabellini@eu.citrix.com\u003e\nSigned-off-by: Stefan Bader \u003cstefan.bader@canonical.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "196cfe2ae8fcdc03b3c7d627e7dfe8c0ce7229f9",
      "tree": "6d9150912d9ad4c9d6749430532e87e98a47c360",
      "parents": [
        "a7e9357f10744c3392ce3cd735c690ee513c7375"
      ],
      "author": {
        "name": "Stefan Bader",
        "email": "stefan.bader@canonical.com",
        "time": "Thu Jul 14 15:30:22 2011 +0200"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu Jul 14 14:19:33 2011 -0400"
      },
      "message": "xen-blkfront: Drop name and minor adjustments for emulated scsi devices\n\nThese were intended to avoid the namespace clash when representing\nemulated IDE and SCSI devices. However that seems to confuse users\nmore than expected (a disk defined as sda becomes xvde).\nSo for now go back to the scheme which does no adjustments. This\nwill break when mixing IDE and SCSI names in the configuration of\nguests but should be by now expected.\n\nAcked-by: Stefano Stabellini \u003cstefano.stabellini@eu.citrix.com\u003e\nSigned-off-by: Stefan Bader \u003cstefan.bader@canonical.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "5d10302f46df1d9a85c34ea97f9b6c29e414482e",
      "tree": "65bb2287b6b5e7dda65045193b1992a209c13a46",
      "parents": [
        "2e39e5be1ddf9fc5fbe84fe7ae3e035bb07845e5"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Jul 14 05:33:52 2011 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Jul 14 05:33:52 2011 -0600"
      },
      "message": "dt: remove extra xsysace platform_driver registration\n\nAfter commit 1c48a5c93, \"dt: Eliminate\nof_platform_{,un}register_driver\", the xsysace driver attempts to\nregister two platform_drivers with the same name, which a) doesn\u0027t\nwork, and b) isn\u0027t necessary.  This patch merges the two\nplatform_drivers.\n\nReported-by: Daniel Hellstrom \u003cdaniel@gaisler.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "07d0c38e7d84f911c72058a124c7f17b3c779a65",
      "tree": "d9a63809a1d67e5410ff5cf76a43fb6899d0c281",
      "parents": [
        "a7e9357f10744c3392ce3cd735c690ee513c7375"
      ],
      "author": {
        "name": "Stephen M. Cameron",
        "email": "scameron@beardog.cce.hp.com",
        "time": "Sat Jul 09 09:04:12 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Jul 09 09:04:12 2011 +0200"
      },
      "message": "cciss: do not attempt to read from a write-only register\n\nMost smartarrays will tolerate it, but some new ones don\u0027t.\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cce.hp.com\u003e\n\nNote: this is a regression caused by commit 1ddd5049\nCc: stable@kernel.org\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "a7e9357f10744c3392ce3cd735c690ee513c7375",
      "tree": "b666d2ffb65a34014f8cdb8817172842d44d4496",
      "parents": [
        "b4726a9df270859898e254b6eee67a28f38b34d3"
      ],
      "author": {
        "name": "Bastian Blank",
        "email": "waldi@debian.org",
        "time": "Wed Jun 29 14:40:50 2011 +0200"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu Jun 30 12:48:25 2011 -0400"
      },
      "message": "xen/blkback: Add module alias for autoloading\n\nAdd xen-backend:vbd module alias to the xen-blkback module. This allows\nautomatic loading of the module.\n\nSigned-off-by: Bastian Blank \u003cwaldi@debian.org\u003e\nAcked-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "b4726a9df270859898e254b6eee67a28f38b34d3",
      "tree": "2512fcce88e4ad97ea1068864d716fd105d86c39",
      "parents": [
        "2b727c6300b49352f80f63704bb50c256949e95e"
      ],
      "author": {
        "name": "Daniel Stodden",
        "email": "daniel.stodden@citrix.com",
        "time": "Sat May 28 13:21:10 2011 -0700"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu Jun 30 12:48:06 2011 -0400"
      },
      "message": "xen/blkback: Don\u0027t let in-flight requests defer pending ones.\n\nRunning RING_FINAL_CHECK_FOR_REQUESTS from make_response is a bad\nidea. It means that in-flight I/O is essentially blocking continued\nbatches. This essentially kills throughput on frontends which unplug\n(or even just notify) early and rightfully assume addtional requests\nwill be picked up on time, not synchronously.\n\nSigned-off-by: Daniel Stodden \u003cdaniel.stodden@citrix.com\u003e\n[v1: Rebased and fixed compile problems]\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "08b8bfc1c649cf82edf43f686cbb9a4bac809679",
      "tree": "1706e037fc0fa2596bd96ff11fcb9fed4b6a1c19",
      "parents": [
        "f7fdd84e04c8fdc9196abe3bfd27535bccb52ee5"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Jun 12 09:21:13 2011 -0700"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu Jun 30 12:14:40 2011 -0400"
      },
      "message": "xen: Add __attribute__((format(printf... where appropriate\n\nUse the compiler to verify printf formats and arguments.\n\nFix fallout.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "7b28afe01ab6ffb5f152f47831b44933facd2328",
      "tree": "a537d78f49fa1b959c9a453f459c1acd767a939f",
      "parents": [
        "726e99ab88db059fe1422e15376ae404f8c66eb4",
        "86e1e98e5c6b4edab97e2b058466ef553cfd878e"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Jun 30 10:10:50 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Jun 30 10:10:50 2011 +0200"
      },
      "message": "Merge branch \u0027for-3.0-important\u0027 of git://git.drbd.org/linux-2.6-drbd into for-linus\n"
    },
    {
      "commit": "86e1e98e5c6b4edab97e2b058466ef553cfd878e",
      "tree": "e8b26c03a90edaf5214a094d3dcb1b223041b862",
      "parents": [
        "15b493d11fcce3c5547e3d7fb6d90e11ffe12777"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Tue Jun 28 13:22:48 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Jun 30 09:23:46 2011 +0200"
      },
      "message": "drbd: we should write meta data updates with FLUSH FUA\n\nWe used to write these with BIO_RW_BARRIER aka REQ_HARDBARRIER (unless\ndisabled in the configuration). The correct semantic now would be to\nwrite with FLUSH/FUA.\nFor example, with activity log transactions, FUA alone is not enough, we\nneed the corresponding bitmap update (and all related application\nupdates) on stable storage as well.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "cb6518cbef5e3e36b7ae90fcab610a52ea7e9fc0",
      "tree": "1eb6576ba34d7a731eeea5dab58c96905a142be2",
      "parents": [
        "5a8b424276f7ba50c51e7caf485b2be23739e5b8"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Mon Jun 20 14:44:45 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Jun 30 09:23:44 2011 +0200"
      },
      "message": "drbd: when receive times out on meta socket, also check last receive time on data socket\n\nIf we have an asymetrically congested network, we may send P_PING,\nbut due to congestion, the corresponding P_PING_ACK would time out,\nand we would drop a (congested, but otherwise) healthy connection\n(\"PingAck did not arrive in time.\")\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "5a8b424276f7ba50c51e7caf485b2be23739e5b8",
      "tree": "001a7250e631db20a5bc3d9fd667dc8a817d9c1f",
      "parents": [
        "8ccee20e3ef4e12dbf02a18f17d386569b1f73ee"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Tue Jun 14 14:18:23 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Jun 30 09:23:43 2011 +0200"
      },
      "message": "drbd: account bitmap IO during resync as resync-(related-)-io\n\nIf we have a good resync rate, we will frequently update the on-disk\nbitmap, which, if not accounted for as resync io, may let an otherwise\nidle device appear to be \"busy\", and cause us to throttle resync.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "8ccee20e3ef4e12dbf02a18f17d386569b1f73ee",
      "tree": "a725b7844412c1cf9079e46ce779d33338ae1d67",
      "parents": [
        "829c60878626be290a4c248e8f1b86a0d5cbd38b"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Mon Jun 06 11:31:42 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Jun 30 09:23:42 2011 +0200"
      },
      "message": "drbd: don\u0027t cond_resched_lock with IRQs disabled\n\nThe last commit, drbd: add missing spinlock to bitmap receive,\nintroduced a cond_resched_lock(), where the lock in question is taken\nwith irqs disabled.\n\nAs we must not schedule with IRQs disabled,\nand cond_resched_lock_irq() does not exist, yet,\nwe re-aquire the spin_lock_irq() for each bitmap page processed in turn.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "829c60878626be290a4c248e8f1b86a0d5cbd38b",
      "tree": "3774c1a3abb72bcc5ab0b37a23fdd9727ca188e4",
      "parents": [
        "0cfdd247d1779d5ffc8f685b172a526ecdc6773f"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Fri Jun 03 21:18:13 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Jun 30 09:23:41 2011 +0200"
      },
      "message": "drbd: add missing spinlock to bitmap receive\n\nDuring bitmap exchange, when using the RLE bitmap compression scheme,\nwe have a code path that can set the whole bitmap at once.\n\nTo avoid holding spin_lock_irq() for too long, we used to lock out other\nbitmap modifications during bitmap exchange by other means, and then,\nknowing we have exclusive access to the bitmap, modify it without\nthe spinlock, and with IRQs enabled.\n\nSince we now allow local IO to continue, potentially setting additional\nbits during the bitmap receive phase, this is no longer true, and we get\nuncoordinated updates of bitmap members, causing bm_set to no longer\naccurately reflect the total number of set bits.\n\nTo actually see this, you\u0027d need to have a large bitmap, use RLE bitmap\ncompression, and have busy IO during sync handshake and bitmap exchange.\n\nFix this by taking the spin_lock_irq() in this code path as well, but\ncalling cond_resched_lock() after each page worth of bits processed.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "0cfdd247d1779d5ffc8f685b172a526ecdc6773f",
      "tree": "affca52cde37dde016424d5c17679464f855f7ae",
      "parents": [
        "a1c15c59feee36267c43142a41152fbf7402afb6"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed May 25 11:14:35 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Jun 30 09:23:40 2011 +0200"
      },
      "message": "drbd: Use the correct max_bio_size when creating resync requests\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "334955ef964bee9d3b1e20966847eee28cfd05f6",
      "tree": "e0c35313ce6d82e94768f0c5d78c53ec296392a2",
      "parents": [
        "06e86849cf4019945a106913adb9ff0abcc01770"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Wed Jun 01 19:04:57 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jun 09 15:01:37 2011 +0200"
      },
      "message": "i8253: Create linux/i8253.h and use it in all 8253 related files\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: linux-mips@linux-mips.org\nLink: http://lkml.kernel.org/r/20110601180610.054254048@duck.linux-mips.net\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n arch/arm/mach-footbridge/isa-timer.c |    2 +-\n arch/mips/cobalt/time.c              |    2 +-\n arch/mips/jazz/irq.c                 |    2 +-\n arch/mips/kernel/i8253.c             |    2 +-\n arch/mips/mti-malta/malta-time.c     |    2 +-\n arch/mips/sgi-ip22/ip22-time.c       |    2 +-\n arch/mips/sni/time.c                 |    2 +-\n arch/x86/kernel/apic/apic.c          |    2 +-\n arch/x86/kernel/apm_32.c             |    2 +-\n arch/x86/kernel/hpet.c               |    2 +-\n arch/x86/kernel/i8253.c              |    2 +-\n arch/x86/kernel/time.c               |    2 +-\n drivers/block/hd.c                   |    2 +-\n drivers/clocksource/i8253.c          |    2 +-\n drivers/input/gameport/gameport.c    |    2 +-\n drivers/input/joystick/analog.c      |    2 +-\n drivers/input/misc/pcspkr.c          |    2 +-\n include/linux/i8253.h                |   11 +++++++++++\n sound/drivers/pcsp/pcsp.h            |    2 +-\n 19 files changed, 29 insertions(+), 18 deletions(-)\n\n"
    },
    {
      "commit": "4f1ba49efafccbc73017f824efa2505c81b247cd",
      "tree": "db072bbccffd1f1c6b1269ac7a752cb30af3a726",
      "parents": [
        "39b4a46f19295b4876fba6655f27d67232dc6a1f",
        "e3a57b3ccf5c04934ac43b5b80e32ba51b817288"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 04 08:11:26 2011 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 04 08:11:26 2011 +0900"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-block:\n  block: Use hlist_entry() for io_context.cic_list.first\n  cfq-iosched: Remove bogus check in queue_fail path\n  xen/blkback: potential null dereference in error handling\n  xen/blkback: don\u0027t call vbd_size() if bd_disk is NULL\n  block: blkdev_get() should access -\u003ebd_disk only after success\n  CFQ: Fix typo and remove unnecessary semicolon\n  block: remove unwanted semicolons\n  Revert \"block: Remove extra discard_alignment from hd_struct.\"\n  nbd: adjust \u0027max_part\u0027 according to part_shift\n  nbd: limit module parameters to a sane value\n  nbd: pass MSG_* flags to kernel_recvmsg()\n  block: improve the bio_add_page() and bio_add_pc_page() descriptions\n"
    },
    {
      "commit": "0f48f2600911d5de6393829e4a9986d4075558b3",
      "tree": "39745ab1858bb308f3b101f5ae555f08485bb7ea",
      "parents": [
        "3f303103b884ca577908d3e5c0650ad12e40c586"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 02 05:29:19 2011 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 02 05:29:19 2011 +0900"
      },
      "message": "block: fix mismerge of the DISK_EVENT_MEDIA_CHANGE removal\n\nJens\u0027 back-merge commit 698567f3fa79 (\"Merge commit \u0027v2.6.39\u0027 into\nfor-2.6.40/core\") was incorrectly done, and re-introduced the\nDISK_EVENT_MEDIA_CHANGE lines that had been removed earlier in commits\n\n - 9fd097b14918 (\"block: unexport DISK_EVENT_MEDIA_CHANGE for\n   legacy/fringe drivers\")\n\n - 7eec77a1816a (\"ide: unexport DISK_EVENT_MEDIA_CHANGE for ide-gd\n   and ide-cd\")\n\nbecause of conflicts with the \"g-\u003eflags\" updates near-by by commit\nd4dc210f69bc (\"block: don\u0027t block events on excl write for non-optical\ndevices\")\n\nAs a result, we re-introduced the hanging behavior due to infinite disk\nmedia change reports.\n\nTssk, tssk, people! Don\u0027t do back-merges at all, and *definitely* don\u0027t\ndo them to hide merge conflicts from me - especially as I\u0027m likely\nbetter at merging them than you are, since I do so many merges.\n\nReported-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Jens Axboe \u003cjaxboe@fusionio.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9b83c771214cf6a256ee875050e6eaf320cf7983",
      "tree": "39b5308ea40a47d19cefab98721402296b78a246",
      "parents": [
        "6464920a6e30604cb71d0ecbaa20e35009bd76fb"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Fri May 27 09:27:16 2011 +0300"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Wed Jun 01 09:28:21 2011 -0400"
      },
      "message": "xen/blkback: potential null dereference in error handling\n\nblkbk-\u003epending_pages can be NULL here so I added a check for it.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\n[v1: Redid the loop a bit]\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "6464920a6e30604cb71d0ecbaa20e35009bd76fb",
      "tree": "e4b8e6a06c6548d739176988c0bbdc21cafa40eb",
      "parents": [
        "4c49ff3fe128ca68dabd07537415c419ad7f82f9"
      ],
      "author": {
        "name": "Laszlo Ersek",
        "email": "lersek@redhat.com",
        "time": "Wed May 25 12:24:25 2011 +0200"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Wed Jun 01 09:28:20 2011 -0400"
      },
      "message": "xen/blkback: don\u0027t call vbd_size() if bd_disk is NULL\n\n...because vbd_size() dereferences bd_disk if bd_part is NULL.\n\nSigned-off-by: Laszlo Ersek\u003clersek@redhat.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "6917f83ffe5e6b6414ccc845263b792ed201c0f1",
      "tree": "e90ecfcad36fc10e679ae0b6d2a7e5e725b58d1e",
      "parents": [
        "7a7c924cf03da2a76ea4dc0aac1a788cf95a9c29"
      ],
      "author": {
        "name": "Liu Yuan",
        "email": "tailai.ly@taobao.com",
        "time": "Sun Apr 24 02:49:26 2011 +0800"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon May 30 11:14:13 2011 +0930"
      },
      "message": "drivers, block: virtio_blk: Replace cryptic number with the macro\n\nIt is easier to figure out the context by reading SCSI_SENSE_BUFFERSIZE\ninstead of plain \u002796\u0027.\n\nSigned-off-by: Liu Yuan \u003ctailai.ly@taobao.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "7a7c924cf03da2a76ea4dc0aac1a788cf95a9c29",
      "tree": "717aba1aab456d252c684abf256afa8e92b7dd96",
      "parents": [
        "990c91f0af46c57f0291060d928c7ab82f9d5667"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Feb 01 21:43:48 2011 +0100"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon May 30 11:14:13 2011 +0930"
      },
      "message": "virtio_blk: allow re-reading config space at runtime\n\nWire up the virtio_driver config_changed method to get notified about\nconfig changes raised by the host.  For now we just re-read the device\nsize to support online resizing of devices, but once we add more\nattributes that might be changeable they could be added as well.\n\nNote that the config_changed method is called from irq context, so\nwe\u0027ll have to use the workqueue infrastructure to provide us a proper\nuser context for our changes.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "f310642123e0d32d919c60ca3fab5acd130c4ba3",
      "tree": "f3844152e2e8c0fdd01621a400f84c8a159252a0",
      "parents": [
        "ef1d57599dc904fdb31b8e9b5336350d21a1fde1",
        "5d4c47e0195b989f284907358bd5c268a44b91c7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:18:09 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:18:09 2011 -0700"
      },
      "message": "Merge branch \u0027idle-release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6\n\n* \u0027idle-release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6:\n  x86 idle: deprecate mwait_idle() and \"idle\u003dmwait\" cmdline param\n  x86 idle: deprecate \"no-hlt\" cmdline param\n  x86 idle APM: deprecate CONFIG_APM_CPU_IDLE\n  x86 idle floppy: deprecate disable_hlt()\n  x86 idle: EXPORT_SYMBOL(default_idle, pm_idle) only when APM demands it\n  x86 idle: clarify AMD erratum 400 workaround\n  idle governor: Avoid lock acquisition to read pm_qos before entering idle\n  cpuidle: menu: fixed wrapping timers at 4.294 seconds\n"
    },
    {
      "commit": "3b70b2e5fcf6315eb833a1bcc2b810bdc75484ff",
      "tree": "803b88453cf6be96b81727105b67bb7566cf7b48",
      "parents": [
        "06ae40ce073daf233607a3c54a489f2c1e44683e"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Apr 01 15:08:48 2011 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun May 29 03:39:15 2011 -0400"
      },
      "message": "x86 idle floppy: deprecate disable_hlt()\n\nPlan to remove floppy_disable_hlt in 2012, an ancient\nworkaround with comments that it should be removed.\n\nThis allows us to remove clutter and a run-time branch\nfrom the idle code.\n\nWARN_ONCE() on invocation until it is removed.\n\ncc: x86@kernel.org\ncc: stable@kernel.org # .39.x\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "5988ce239682854d4e632fb58bff000700830394",
      "tree": "442b44bb96632b7ed507bc5eeacd10fafc689afd",
      "parents": [
        "3b2710824e00d238554c13b5add347e6c701ab1a"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Sat May 28 14:44:46 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat May 28 14:44:46 2011 +0200"
      },
      "message": "nbd: adjust \u0027max_part\u0027 according to part_shift\n\nThe \u0027max_part\u0027 parameter determines how many partitions are supported\non each nbd device. However the actual number can be changed to the\npower of 2 minus 1 form during the module initialization as\nalloc_disk() is called with (1 \u003c\u003c part_shift) for some reason.\n\nSo adjust \u0027max_part\u0027 also at least for consistency with loop and brd.\nIt is exported via sysfs already, and a user should check this value\nafter module loading if [s]he wants to use that number correctly\n(i.e. fdisk or something).\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: Laurent Vivier \u003cLaurent.Vivier@bull.net\u003e\nCc: Paul Clements \u003cPaul.Clements@steeleye.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "3b2710824e00d238554c13b5add347e6c701ab1a",
      "tree": "dc89e30838c7c0447ef800ee4c26481583468447",
      "parents": [
        "35fbf5bcf497d6ddbe7b6478141e7526d1474ff5"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Sat May 28 14:44:46 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat May 28 14:44:46 2011 +0200"
      },
      "message": "nbd: limit module parameters to a sane value\n\nThe \u0027max_part\u0027 parameter controls the number of maximum partition\na nbd device can have. However if a user specifies very large\nvalue it would exceed the limitation of device minor number and\ncan cause a kernel oops (or, at least, produce invalid device\nnodes in some cases).\n\nIn addition, specifying large \u0027nbds_max\u0027 value causes same\nproblem for the same reason.\n\nOn my desktop, following command results to the kernel bug:\n\n$ sudo modprobe nbd max_part\u003d100000\n kernel BUG at /media/Linux_Data/project/linux/fs/sysfs/group.c:65!\n invalid opcode: 0000 [#1] SMP\n last sysfs file: /sys/devices/virtual/block/nbd4/range\n CPU 1\n Modules linked in: nbd(+) bridge stp llc kvm_intel kvm asus_atk0110 sg sr_mod cdrom\n\n Pid: 2522, comm: modprobe Tainted: G        W   2.6.39-leonard+ #159 System manufacturer System Product Name/P5G41TD-M PRO\n RIP: 0010:[\u003cffffffff8115aa08\u003e]  [\u003cffffffff8115aa08\u003e] internal_create_group+0x2f/0x166\n RSP: 0018:ffff8801009f1de8  EFLAGS: 00010246\n RAX: 00000000ffffffef RBX: ffff880103920478 RCX: 00000000000a7bd3\n RDX: ffffffff81a2dbe0 RSI: 0000000000000000 RDI: ffff880103920478\n RBP: ffff8801009f1e38 R08: ffff880103920468 R09: ffff880103920478\n R10: ffff8801009f1de8 R11: ffff88011eccbb68 R12: ffffffff81a2dbe0\n R13: ffff880103920468 R14: 0000000000000000 R15: ffff880103920400\n FS:  00007f3c49de9700(0000) GS:ffff88011f800000(0000) knlGS:0000000000000000\n CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\n CR2: 00007f3b7fe7c000 CR3: 00000000cd58d000 CR4: 00000000000406e0\n DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n Process modprobe (pid: 2522, threadinfo ffff8801009f0000, task ffff8801009a93a0)\n Stack:\n  ffff8801009f1e58 ffffffff812e8f6e ffff8801009f1e58 ffffffff812e7a80\n  ffff880000000010 ffff880103920400 ffff8801002fd0c0 ffff880103920468\n  0000000000000011 ffff880103920400 ffff8801009f1e48 ffffffff8115ab6a\n Call Trace:\n  [\u003cffffffff812e8f6e\u003e] ? device_add+0x4f1/0x5e4\n  [\u003cffffffff812e7a80\u003e] ? dev_set_name+0x41/0x43\n  [\u003cffffffff8115ab6a\u003e] sysfs_create_group+0x13/0x15\n  [\u003cffffffff810b857e\u003e] blk_trace_init_sysfs+0x14/0x16\n  [\u003cffffffff811ee58b\u003e] blk_register_queue+0x4c/0xfd\n  [\u003cffffffff811f3bdf\u003e] add_disk+0xe4/0x29c\n  [\u003cffffffffa007e2ab\u003e] nbd_init+0x2ab/0x30d [nbd]\n  [\u003cffffffffa007e000\u003e] ? 0xffffffffa007dfff\n  [\u003cffffffff8100020f\u003e] do_one_initcall+0x7f/0x13e\n  [\u003cffffffff8107ab0a\u003e] sys_init_module+0xa1/0x1e3\n  [\u003cffffffff814f3542\u003e] system_call_fastpath+0x16/0x1b\n Code: 41 57 41 56 41 55 41 54 53 48 83 ec 28 0f 1f 44 00 00 48 89 fb 41 89 f6 49 89 d4 48 85 ff 74 0b 85 f6 75 0b 48 83\n  7f 30 00 75 14 \u003c0f\u003e 0b eb fe b9 ea ff ff ff 48 83 7f 30 00 0f 84 09 01 00 00 49\n RIP  [\u003cffffffff8115aa08\u003e] internal_create_group+0x2f/0x166\n  RSP \u003cffff8801009f1de8\u003e\n ---[ end trace 753285ffbf72c57c ]---\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: Laurent Vivier \u003cLaurent.Vivier@bull.net\u003e\nCc: Paul Clements \u003cPaul.Clements@steeleye.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "35fbf5bcf497d6ddbe7b6478141e7526d1474ff5",
      "tree": "1f2ecd1038aa175fd6a1086e06665cc134e13f56",
      "parents": [
        "6df87e65dbe4528ef07b917af89913abb8caaaba"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Sat May 28 14:44:46 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat May 28 14:44:46 2011 +0200"
      },
      "message": "nbd: pass MSG_* flags to kernel_recvmsg()\n\nUnlike kernel_sendmsg(), kernel_recvmsg() requires passing flags explicitly\nvia last parameter instead of struct msghdr.msg_flags. Therefore calls to\nsock_xmit(lo, 0, ..., MSG_WAITALL) have not been processed properly by tcp\nlayer wrt. the flag. Fix it.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: Paul Clements \u003cPaul.Clements@steeleye.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "ac04fee0b5c55bbac0858727a4154110b55d3f5a",
      "tree": "5277380fe275b447ebe5f8d26762c34dea503cf5",
      "parents": [
        "d86e0e83b32bc84600adb0b6ea1fce389b266682"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Fri May 27 07:59:25 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri May 27 07:59:25 2011 +0200"
      },
      "message": "loop: export module parameters\n\nExport \u0027max_loop\u0027 and \u0027max_part\u0027 parameters to sysfs so user can know\nthat how many devices are allowed and how many partitions are supported.\n\nIf \u0027max_loop\u0027 is 0, there is no restriction on the number of loop devices.\nUser can create/use the devices as many as minor numbers available. If\n\u0027max_part\u0027 is 0, it means simply the device doesn\u0027t support partitioning.\n\nAlso note that \u0027max_part\u0027 can be adjusted to power of 2 minus 1 form if\nneeded. User should check this value after the module loading if he/she\nwant to use that number correctly (i.e. fdisk, mknod, etc.).\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: Laurent Vivier \u003cLaurent.Vivier@bull.net\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "8892cbaf686fb18a5f0558b9fd7773b32c0c7852",
      "tree": "d42261b88e9ead68894e226d8d9afc838fa7cfb1",
      "parents": [
        "13868b76ab8135389fe1d8cf1c6a4847c9fef0a7"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Thu May 26 21:06:50 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu May 26 21:06:50 2011 +0200"
      },
      "message": "brd: export module parameters\n\nExport \u0027rd_nr\u0027, \u0027rd_size\u0027 and \u0027max_part\u0027 parameters to sysfs so user can\nknow that how many devices are allowed, how big each device is and how\nmany partitions are supported. If \u0027max_part\u0027 is 0, it means simply the\ndevice doesn\u0027t support partitioning.\n\nAlso note that \u0027max_part\u0027 can be adjusted to power of 2 minus 1 form if\nneeded. User should check this value after the module loading if he/she\nwant to use that number correctly (i.e. fdisk, mknod, etc.).\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: Laurent Vivier \u003cLaurent.Vivier@bull.net\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "13868b76ab8135389fe1d8cf1c6a4847c9fef0a7",
      "tree": "f0259861568c7b5c6cb30cd426eedb1787945304",
      "parents": [
        "af46566885a373b0a526932484cd8fef8de7b598"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Thu May 26 21:06:50 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu May 26 21:06:50 2011 +0200"
      },
      "message": "brd: fix comment on initial device creation\n\nIf \u0027rd_nr\u0027 param was not specified, 16 (can be adjusted via\nCONFIG_BLK_DEV_RAM_COUNT) devices would be created by default\nbut comment said 1. Fix it.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "af46566885a373b0a526932484cd8fef8de7b598",
      "tree": "e95098d113f040f9eb497965b8285d10a6b59ab9",
      "parents": [
        "315980c8688c4b06713c1a5fe9d64cdf8ab57a72"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Thu May 26 21:06:50 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu May 26 21:06:50 2011 +0200"
      },
      "message": "brd: handle on-demand devices correctly\n\nWhen finding or allocating a ram disk device, brd_probe() did not take\npartition numbers into account so that it can result to a different\ndevice. Consider following example (I set CONFIG_BLK_DEV_RAM_COUNT\u003d4\nfor simplicity) :\n\n$ sudo modprobe brd max_part\u003d15\n$ ls -l /dev/ram*\nbrw-rw---- 1 root disk 1,  0 2011-05-25 15:41 /dev/ram0\nbrw-rw---- 1 root disk 1, 16 2011-05-25 15:41 /dev/ram1\nbrw-rw---- 1 root disk 1, 32 2011-05-25 15:41 /dev/ram2\nbrw-rw---- 1 root disk 1, 48 2011-05-25 15:41 /dev/ram3\n$ sudo mknod /dev/ram4 b 1 64\n$ sudo dd if\u003d/dev/zero of\u003d/dev/ram4 bs\u003d4k count\u003d256\n256+0 records in\n256+0 records out\n1048576 bytes (1.0 MB) copied, 0.00215578 s, 486 MB/s\nnamhyung@leonhard:linux$ ls -l /dev/ram*\nbrw-rw---- 1 root disk 1,    0 2011-05-25 15:41 /dev/ram0\nbrw-rw---- 1 root disk 1,   16 2011-05-25 15:41 /dev/ram1\nbrw-rw---- 1 root disk 1,   32 2011-05-25 15:41 /dev/ram2\nbrw-rw---- 1 root disk 1,   48 2011-05-25 15:41 /dev/ram3\nbrw-r--r-- 1 root root 1,   64 2011-05-25 15:45 /dev/ram4\nbrw-rw---- 1 root disk 1, 1024 2011-05-25 15:44 /dev/ram64\n\nAfter this patch, /dev/ram4 - instead of /dev/ram64 - was\naccessed correctly.\n\nIn addition, \u0027range\u0027 passed to blk_register_region() should\ninclude all range of dev_t that RAMDISK_MAJOR can address.\nIt does not need to be limited by partition numbers unless\n\u0027rd_nr\u0027 param was specified.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: Laurent Vivier \u003cLaurent.Vivier@bull.net\u003e\nCc: stable@kernel.org\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "315980c8688c4b06713c1a5fe9d64cdf8ab57a72",
      "tree": "b3e17d5ec9f4b7a95ca66258541d6acecda4d1c6",
      "parents": [
        "a2cba2913c7623789296e39d787b01031f9c7969"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Thu May 26 21:06:50 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu May 26 21:06:50 2011 +0200"
      },
      "message": "brd: limit \u0027max_part\u0027 module param to DISK_MAX_PARTS\n\nThe \u0027max_part\u0027 parameter controls the number of maximum partition\na brd device can have. However if a user specifies very large\nvalue it would exceed the limitation of device minor number and\ncan cause a kernel panic (or, at least, produce invalid device\nnodes in some cases).\n\nOn my desktop system, following command kills the kernel. On qemu,\nit triggers similar oops but the kernel was alive:\n\n$ sudo modprobe brd max_part\u003d100000\n BUG: unable to handle kernel NULL pointer dereference at 0000000000000058\n IP: [\u003cffffffff81110a9a\u003e] sysfs_create_dir+0x2d/0xae\n PGD 7af1067 PUD 7b19067 PMD 0\n Oops: 0000 [#1] SMP\n last sysfs file:\n CPU 0\n Modules linked in: brd(+)\n\n Pid: 44, comm: insmod Tainted: G        W   2.6.39-qemu+ #158 Bochs Bochs\n RIP: 0010:[\u003cffffffff81110a9a\u003e]  [\u003cffffffff81110a9a\u003e] sysfs_create_dir+0x2d/0xae\n RSP: 0018:ffff880007b15d78  EFLAGS: 00000286\n RAX: ffff880007b05478 RBX: ffff880007a52760 RCX: ffff880007b15dc8\n RDX: ffff880007a4f900 RSI: ffff880007b15e48 RDI: ffff880007a52760\n RBP: ffff880007b15da8 R08: 0000000000000002 R09: 0000000000000000\n R10: ffff880007b15e48 R11: ffff880007b05478 R12: 0000000000000000\n R13: ffff880007b05478 R14: 0000000000400920 R15: 0000000000000063\n FS:  0000000002160880(0063) GS:ffff880007c00000(0000) knlGS:0000000000000000\n CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n CR2: 0000000000000058 CR3: 0000000007b1c000 CR4: 00000000000006b0\n DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n DR3: 0000000000000000 DR6: 0000000000000000 DR7: 0000000000000000\n Process insmod (pid: 44, threadinfo ffff880007b14000, task ffff880007acb980)\n Stack:\n  ffff880007b15dc8 ffff880007b05478 ffff880007b15da8 00000000fffffffe\n  ffff880007a52760 ffff880007b05478 ffff880007b15de8 ffffffff81143c0a\n  0000000000400920 ffff880007a52760 ffff880007b05478 0000000000000000\n Call Trace:\n  [\u003cffffffff81143c0a\u003e] kobject_add_internal+0xdf/0x1a0\n  [\u003cffffffff81143da1\u003e] kobject_add_varg+0x41/0x50\n  [\u003cffffffff81143e6b\u003e] kobject_add+0x64/0x66\n  [\u003cffffffff8113bbe7\u003e] blk_register_queue+0x5f/0xb8\n  [\u003cffffffff81140f72\u003e] add_disk+0xdf/0x289\n  [\u003cffffffffa00040df\u003e] brd_init+0xdf/0x1aa [brd]\n  [\u003cffffffffa0004000\u003e] ? 0xffffffffa0003fff\n  [\u003cffffffffa0004000\u003e] ? 0xffffffffa0003fff\n  [\u003cffffffff8100020a\u003e] do_one_initcall+0x7a/0x12e\n  [\u003cffffffff8108516c\u003e] sys_init_module+0x9c/0x1dc\n  [\u003cffffffff812ff4bb\u003e] system_call_fastpath+0x16/0x1b\n Code: 89 e5 41 55 41 54 53 48 89 fb 48 83 ec 18 48 85 ff 75 04 0f 0b eb fe 48 8b 47 18 49 c7 c4 70 1e 4d 81 48 85 c0 74 04 4c 8b 60 30\n  8b 44 24 58 45 31 ed 0f b6 c4 85 c0 74 0d 48 8b 43 28 48 89\n RIP  [\u003cffffffff81110a9a\u003e] sysfs_create_dir+0x2d/0xae\n  RSP \u003cffff880007b15d78\u003e\n CR2: 0000000000000058\n ---[ end trace aebb1175ce1f6739 ]---\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: Laurent Vivier \u003cLaurent.Vivier@bull.net\u003e\nCc: stable@kernel.org\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "a2cba2913c7623789296e39d787b01031f9c7969",
      "tree": "1a8287d8e7155ac08f0c8752e1d4a085a593cc31",
      "parents": [
        "f4fa3424c66255ba1e07b26becfc3d6cab0fdf65"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Thu May 26 21:06:50 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu May 26 21:06:50 2011 +0200"
      },
      "message": "brd: get rid of unused members from struct brd_device\n\nbrd_refcnt, brd_offset, brd_sizelimit and brd_blocksize in struct\nbrd_device seem to be copied from struct loop_device but they\u0027re\nnot used anywhere. Let get rid of them.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "57bb55957432f20fd6e5bb5ddfbd9987439157ec",
      "tree": "de4adeffd13a5394b84f04c6f60582b63685adc9",
      "parents": [
        "2a651c7f8d377cf88271374315cbb5fe82eac784",
        "db3540522e955c1ebb391f4f5324dff4f20ecd09"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 11:46:31 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 11:46:31 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (23 commits)\n  ceph: fix cap flush race reentrancy\n  libceph: subscribe to osdmap when cluster is full\n  libceph: handle new osdmap down/state change encoding\n  rbd: handle online resize of underlying rbd image\n  ceph: avoid inode lookup on nfs fh reconnect\n  ceph: use LOOKUPINO to make unconnected nfs fh more reliable\n  rbd: use snprintf for disk-\u003edisk_name\n  rbd: cleanup: make kfree match kmalloc\n  rbd: warn on update_snaps failure on notify\n  ceph: check return value for start_request in writepages\n  ceph: remove useless check\n  libceph: add missing breaks in addr_set_port\n  libceph: fix TAG_WAIT case\n  ceph: fix broken comparison in readdir loop\n  libceph: fix osdmap timestamp assignment\n  ceph: fix rare potential cap leak\n  libceph: use snprintf for unknown addrs\n  libceph: use snprintf for formatting object name\n  ceph: use snprintf for dirstat content\n  libceph: fix uninitialized value when no get_authorizer method is set\n  ...\n"
    },
    {
      "commit": "929cfdd5d3bdc772aff32e5a3fb4e3894394aa75",
      "tree": "f67202d079eaf1f8d65b2e1bfac70b768ae34bc4",
      "parents": [
        "798ce8f1cca29dcc3f4b55947f611f4ffb32ac2b",
        "a1c15c59feee36267c43142a41152fbf7402afb6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 09:15:35 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 09:15:35 2011 -0700"
      },
      "message": "Merge branch \u0027for-2.6.40/drivers\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.40/drivers\u0027 of git://git.kernel.dk/linux-2.6-block: (110 commits)\n  loop: handle on-demand devices correctly\n  loop: limit \u0027max_part\u0027 module param to DISK_MAX_PARTS\n  drbd: fix warning\n  drbd: fix warning\n  drbd: Fix spelling\n  drbd: fix schedule in atomic\n  drbd: Take a more conservative approach when deciding max_bio_size\n  drbd: Fixed state transitions after async outdate-peer-handler returned\n  drbd: Disallow the peer_disk_state to be D_OUTDATED while connected\n  drbd: Fix for the connection problems on high latency links\n  drbd: fix potential activity log refcount imbalance in error path\n  drbd: Only downgrade the disk state in case of disk failures\n  drbd: fix disconnect/reconnect loop, if ping-timeout \u003d\u003d ping-int\n  drbd: fix potential distributed deadlock\n  lru_cache.h: fix comments referring to ts_ instead of lc_\n  drbd: Fix for application IO with the on-io-error\u003dpass-on policy\n  xen/p2m: Add EXPORT_SYMBOL_GPL to the M2P override functions.\n  xen/p2m/m2p/gnttab: Support GNTMAP_host_map in the M2P override.\n  xen/blkback: don\u0027t fail empty barrier requests\n  xen/blkback: fix xenbus_transaction_start() hang caused by double xenbus_transaction_end()\n  ...\n"
    },
    {
      "commit": "798ce8f1cca29dcc3f4b55947f611f4ffb32ac2b",
      "tree": "15fba84ba4b930397c29fe562504f66211365699",
      "parents": [
        "22e12bbc9bc38c6d0bd541d061a0f547596fc19d",
        "1547010e6e15a3f44f49381246421a1e19de526e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 09:14:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 09:14:07 2011 -0700"
      },
      "message": "Merge branch \u0027for-2.6.40/core\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.40/core\u0027 of git://git.kernel.dk/linux-2.6-block: (40 commits)\n  cfq-iosched: free cic_index if cfqd allocation fails\n  cfq-iosched: remove unused \u0027group_changed\u0027 in cfq_service_tree_add()\n  cfq-iosched: reduce bit operations in cfq_choose_req()\n  cfq-iosched: algebraic simplification in cfq_prio_to_maxrq()\n  blk-cgroup: Initialize ioc-\u003ecgroup_changed at ioc creation time\n  block: move bd_set_size() above rescan_partitions() in __blkdev_get()\n  block: call elv_bio_merged() when merged\n  cfq-iosched: Make IO merge related stats per cpu\n  cfq-iosched: Fix a memory leak of per cpu stats for root group\n  backing-dev: Kill set but not used var in  bdi_debug_stats_show()\n  block: get rid of on-stack plugging debug checks\n  blk-throttle: Make no throttling rule group processing lockless\n  blk-cgroup: Make cgroup stat reset path blkg-\u003elock free for dispatch stats\n  blk-cgroup: Make 64bit per cpu stats safe on 32bit arch\n  blk-throttle: Make dispatch stats per cpu\n  blk-throttle: Free up a group only after one rcu grace period\n  blk-throttle: Use helper function to add root throtl group to lists\n  blk-throttle: Introduce a helper function to fill in device details\n  blk-throttle: Dynamically allocate root group\n  blk-cgroup: Allow sleeping while dynamically allocating a group\n  ...\n"
    },
    {
      "commit": "9db4b3e32778400555d5cc6fb61d4058902d37f7",
      "tree": "06080e941734876ae0c1c4d353a50a160a940907",
      "parents": [
        "45e3d3eeb6578e523e100622266945ecd71723bb"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Apr 19 22:49:06 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 24 11:52:08 2011 -0700"
      },
      "message": "rbd: handle online resize of underlying rbd image\n\nIf we get a notification that the image header has changed, check for\na change in the image size.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "aedfec59eed37d1ff7ce09b303b668234e9a7f8e",
      "tree": "92e3e6e638acd63b07aab244cdd30826277001be",
      "parents": [
        "916d4d672779de8e42346fff338617c7b841e8e5"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu May 12 20:57:03 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 24 11:52:03 2011 -0700"
      },
      "message": "rbd: use snprintf for disk-\u003edisk_name\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "916d4d672779de8e42346fff338617c7b841e8e5",
      "tree": "aa323878aa43221442b03137614f5f0a4251171c",
      "parents": [
        "13143d2d1cffd243a6d778000b02ab4938ac751a"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu May 12 16:10:50 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 24 11:52:01 2011 -0700"
      },
      "message": "rbd: cleanup: make kfree match kmalloc\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "a1c15c59feee36267c43142a41152fbf7402afb6",
      "tree": "39f6db8cd34379207c1d5666e009ec2131774111",
      "parents": [
        "78f4bb367fd147a0e7e3998ba6e47109999d8814"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Tue May 24 16:48:55 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue May 24 16:48:55 2011 +0200"
      },
      "message": "loop: handle on-demand devices correctly\n\nWhen finding or allocating a loop device, loop_probe() did not take\npartition numbers into account so that it can result to a different\ndevice. Consider following example:\n\n$ sudo modprobe loop max_part\u003d15\n$ ls -l /dev/loop*\nbrw-rw---- 1 root disk 7,   0 2011-05-24 22:16 /dev/loop0\nbrw-rw---- 1 root disk 7,  16 2011-05-24 22:16 /dev/loop1\nbrw-rw---- 1 root disk 7,  32 2011-05-24 22:16 /dev/loop2\nbrw-rw---- 1 root disk 7,  48 2011-05-24 22:16 /dev/loop3\nbrw-rw---- 1 root disk 7,  64 2011-05-24 22:16 /dev/loop4\nbrw-rw---- 1 root disk 7,  80 2011-05-24 22:16 /dev/loop5\nbrw-rw---- 1 root disk 7,  96 2011-05-24 22:16 /dev/loop6\nbrw-rw---- 1 root disk 7, 112 2011-05-24 22:16 /dev/loop7\n$ sudo mknod /dev/loop8 b 7 128\n$ sudo losetup /dev/loop8 ~/temp/disk-with-3-parts.img\n$ sudo losetup -a\n/dev/loop128: [0805]:278201 (/home/namhyung/temp/disk-with-3-parts.img)\n$ ls -l /dev/loop*\nbrw-rw---- 1 root disk 7,    0 2011-05-24 22:16 /dev/loop0\nbrw-rw---- 1 root disk 7,   16 2011-05-24 22:16 /dev/loop1\nbrw-rw---- 1 root disk 7, 2048 2011-05-24 22:18 /dev/loop128\nbrw-rw---- 1 root disk 7, 2049 2011-05-24 22:18 /dev/loop128p1\nbrw-rw---- 1 root disk 7, 2050 2011-05-24 22:18 /dev/loop128p2\nbrw-rw---- 1 root disk 7, 2051 2011-05-24 22:18 /dev/loop128p3\nbrw-rw---- 1 root disk 7,   32 2011-05-24 22:16 /dev/loop2\nbrw-rw---- 1 root disk 7,   48 2011-05-24 22:16 /dev/loop3\nbrw-rw---- 1 root disk 7,   64 2011-05-24 22:16 /dev/loop4\nbrw-rw---- 1 root disk 7,   80 2011-05-24 22:16 /dev/loop5\nbrw-rw---- 1 root disk 7,   96 2011-05-24 22:16 /dev/loop6\nbrw-rw---- 1 root disk 7,  112 2011-05-24 22:16 /dev/loop7\nbrw-r--r-- 1 root root 7,  128 2011-05-24 22:17 /dev/loop8\n\nAfter this patch, /dev/loop8 - instead of /dev/loop128 - was\naccessed correctly.\n\nIn addition, \u0027range\u0027 passed to blk_register_region() should\ninclude all range of dev_t that LOOP_MAJOR can address. It does\nnot need to be limited by partition numbers unless \u0027max_loop\u0027\nparam was specified.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: Laurent Vivier \u003cLaurent.Vivier@bull.net\u003e\nCc: stable@kernel.org\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "78f4bb367fd147a0e7e3998ba6e47109999d8814",
      "tree": "883f8fab87aa62b04730fa62631c97b5bb32eae4",
      "parents": [
        "0ddf72be4edbd7640b57c13161f71416df16ec11"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Tue May 24 16:48:54 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue May 24 16:48:54 2011 +0200"
      },
      "message": "loop: limit \u0027max_part\u0027 module param to DISK_MAX_PARTS\n\nThe \u0027max_part\u0027 parameter controls the number of maximum partition\na loop block device can have. However if a user specifies very\nlarge value it would exceed the limitation of device minor number\nand can cause a kernel panic (or, at least, produce invalid\ndevice nodes in some cases).\n\nOn my desktop system, following command kills the kernel. On qemu,\nit triggers similar oops but the kernel was alive:\n\n$ sudo modprobe loop max_part0000\n ------------[ cut here ]------------\n kernel BUG at /media/Linux_Data/project/linux/fs/sysfs/group.c:65!\n invalid opcode: 0000 [#1] SMP\n last sysfs file:\n CPU 0\n Modules linked in: loop(+)\n\n Pid: 43, comm: insmod Tainted: G        W   2.6.39-qemu+ #155 Bochs Bochs\n RIP: 0010:[\u003cffffffff8113ce61\u003e]  [\u003cffffffff8113ce61\u003e] internal_create_group\u003d\n+0x2a/0x170\n RSP: 0018:ffff880007b3fde8  EFLAGS: 00000246\n RAX: 00000000ffffffef RBX: ffff880007b3d878 RCX: 00000000000007b4\n RDX: ffffffff8152da50 RSI: 0000000000000000 RDI: ffff880007b3d878\n RBP: ffff880007b3fe38 R08: ffff880007b3fde8 R09: 0000000000000000\n R10: ffff88000783b4a8 R11: ffff880007b3d878 R12: ffffffff8152da50\n R13: ffff880007b3d868 R14: 0000000000000000 R15: ffff880007b3d800\n FS:  0000000002137880(0063) GS:ffff880007c00000(0000) knlGS:00000000000000\u003d\n00\n CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n CR2: 0000000000422680 CR3: 0000000007b50000 CR4: 00000000000006b0\n DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n DR3: 0000000000000000 DR6: 0000000000000000 DR7: 0000000000000000\n Process insmod (pid: 43, threadinfo ffff880007b3e000, task ffff880007afb9c\u003d\n0)\n Stack:\n  ffff880007b3fe58 ffffffff811e66dd ffff880007b3fe58 ffffffff811e570b\n  0000000000000010 ffff880007b3d800 ffff880007a7b390 ffff880007b3d868\n  0000000000400920 ffff880007b3d800 ffff880007b3fe48 ffffffff8113cfc8\n Call Trace:\n  [\u003cffffffff811e66dd\u003e] ? device_add+0x4bc/0x5af\n  [\u003cffffffff811e570b\u003e] ? dev_set_name+0x3c/0x3e\n  [\u003cffffffff8113cfc8\u003e] sysfs_create_group+0xe/0x12\n  [\u003cffffffff810b420e\u003e] blk_trace_init_sysfs+0x14/0x16\n  [\u003cffffffff8116a090\u003e] blk_register_queue+0x47/0xf7\n  [\u003cffffffff8116f527\u003e] add_disk+0xdf/0x290\n  [\u003cffffffffa00060eb\u003e] loop_init+0xeb/0x1b8 [loop]\n  [\u003cffffffffa0006000\u003e] ? 0xffffffffa0005fff\n  [\u003cffffffff8100020a\u003e] do_one_initcall+0x7a/0x12e\n  [\u003cffffffff81096804\u003e] sys_init_module+0x9c/0x1e0\n  [\u003cffffffff813329bb\u003e] system_call_fastpath+0x16/0x1b\n Code: c3 55 48 89 e5 41 57 41 56 41 89 f6 41 55 41 54 49 89 d4 53 48 89 fb\u003d\n 48 83 ec 28 48 85 ff 74 0b 85 f6 75 0b 48 83 7f 30 00 75 14 \u003c0f\u003e 0b eb fe \u003d\n48 83 7f 30 00 b9 ea ff ff ff 0f 84 18 01 00 00 49\n RIP  [\u003cffffffff8113ce61\u003e] internal_create_group+0x2a/0x170\n  RSP \u003cffff880007b3fde8\u003e\n ---[ end trace a123eb592043acad ]---\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: Laurent Vivier \u003cLaurent.Vivier@bull.net\u003e\nCc: stable@kernel.org\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "0ddf72be4edbd7640b57c13161f71416df16ec11",
      "tree": "5cef009715650da96a82f1b9d9afbd5843b5a105",
      "parents": [
        "9b2f61aec73dc9e735e247fd720c673b30999e7c"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon May 23 15:29:32 2011 -0700"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 24 10:38:33 2011 +0200"
      },
      "message": "drbd: fix warning\n\nIn file included from drivers/block/drbd/drbd_main.c:54:                        drivers/block/drbd/drbd_int.h:1190: warning: parameter has incomplete type\n\nForward declarations of enums do not work.\n\nFix it unpleasantly by moving the prototype.\n\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Lars Ellenberg \u003cdrbd-dev@lists.linbit.com\u003e\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9b2f61aec73dc9e735e247fd720c673b30999e7c",
      "tree": "7d82ad8dd932c5d6a047fbfecd49aa34e8ea15a2",
      "parents": [
        "24c4830c8ec3cbc904d84c213126a35f41a4e455"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 24 10:27:38 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 24 10:38:32 2011 +0200"
      },
      "message": "drbd: fix warning\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\n"
    },
    {
      "commit": "24c4830c8ec3cbc904d84c213126a35f41a4e455",
      "tree": "3d232dd4e56ec477929a2537ef683b4f19528fb2",
      "parents": [
        "9a0d9d0389ef769e4b01abf50fcc11407706270b"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@acm.org",
        "time": "Sat May 21 18:32:29 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 24 10:21:29 2011 +0200"
      },
      "message": "drbd: Fix spelling\n\nFound these with the help of ispell -l.\n\nSigned-off-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\n"
    },
    {
      "commit": "9a0d9d0389ef769e4b01abf50fcc11407706270b",
      "tree": "e766296ff1e684a0a081a6961ec664a4131faf74",
      "parents": [
        "99432fcc528d7a5ac8494a4c07ad4726670c96e2"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Mon May 02 11:51:31 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 24 10:14:32 2011 +0200"
      },
      "message": "drbd: fix schedule in atomic\n\nAn administrative detach used to request a state change directly to D_DISKLESS,\nfirst suspending IO to avoid the last put_ldev() occuring from an endio handler,\npotentially in irq context.\n\nThis is not enough on the receiving side (typically secondary), we may miss\nsome peer_req on the way to local disk, which then may do the last put_ldev()\nfrom their drbd_peer_request_endio().\n\nThis patch makes the detach always go through the intermediate D_FAILED state.\nWe may consider to rename it D_DETACHING.\n\nAlternative approach would be to create yet an other work item to be scheduled\non the worker, do the destructor work from there, and get the timing right.\n\nmanually picked commit 564040f from the drbd 8.4 branch.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "99432fcc528d7a5ac8494a4c07ad4726670c96e2",
      "tree": "0b86df2b3e86af1eab14b987e81b7f4a5f88c090",
      "parents": [
        "21423fa79119a80e335de0c82ec29f67ed59f1bc"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri May 20 16:39:13 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 24 10:08:58 2011 +0200"
      },
      "message": "drbd: Take a more conservative approach when deciding max_bio_size\n\nThe old (optimistic) implementation could shrink the bio size\non an primary device.\n\nShrinking the bio size on a primary device is bad. Since there\nwe might get BIOs with the old (bigger) size shortly after\nwe published the new size.\n\nThe new implementation is more conservative, and eventually\nincreases the max_bio_size on a primary device (which is valid).\nIt does so, when it knows the local limit AND the remote limit.\n\n We cache the last seen max_bio_size of the peer in the meta\n data, and rely on that, to make the operation of single\n nodes more efficient.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "21423fa79119a80e335de0c82ec29f67ed59f1bc",
      "tree": "955e28d450d817d803f2504cb1b38b669c598cc9",
      "parents": [
        "fa7d939663b61f5c2bd3436d3aa126d4c0f47aa8"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 17 14:19:41 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 24 10:08:11 2011 +0200"
      },
      "message": "drbd: Fixed state transitions after async outdate-peer-handler returned\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "fa7d939663b61f5c2bd3436d3aa126d4c0f47aa8",
      "tree": "2fa5264c72d2b5e8fa8414d1ba90217edc1a7731",
      "parents": [
        "a8e407925d49c521151dd24b6376c1f9a04a093f"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 17 14:48:55 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 24 10:07:50 2011 +0200"
      },
      "message": "drbd: Disallow the peer_disk_state to be D_OUTDATED while connected\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "a8e407925d49c521151dd24b6376c1f9a04a093f",
      "tree": "9751821550b2f332f9937427874854f51a454352",
      "parents": [
        "76727f684aa2d6a2dc59a7e5cf77e092a1bf4fb6"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri May 13 12:03:55 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 24 10:07:22 2011 +0200"
      },
      "message": "drbd: Fix for the connection problems on high latency links\n\nIt seems that the real cause of all the issues where that\nwe did not noticed in drbd_try_connect() when the other\nguy closes one socket if the round trip time gets higher\nthan 100ms. There were that 100ms hard coded!\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "76727f684aa2d6a2dc59a7e5cf77e092a1bf4fb6",
      "tree": "59e80cf30c5cbf33f5179889025b8b0d7afdd970",
      "parents": [
        "d2e17807e3799bae24664a92f4d2d3dade021e00"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Mon May 16 15:31:45 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 24 10:06:44 2011 +0200"
      },
      "message": "drbd: fix potential activity log refcount imbalance in error path\n\nIt is no longer sufficient to trigger on local WRITE,\nwe need to check on (rq_state \u0026 RQ_IN_ACT_LOG)\nbefore calling drbd_al_complete_io also in the error path.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "d2e17807e3799bae24664a92f4d2d3dade021e00",
      "tree": "7e3abd6d91be6fac6d90b3d3adf21f8b1418736a",
      "parents": [
        "f36af18c7b4ea1ba333c09b606bb4a7e5af66b4d"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon Mar 14 11:54:47 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 24 10:05:48 2011 +0200"
      },
      "message": "drbd: Only downgrade the disk state in case of disk failures\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "f36af18c7b4ea1ba333c09b606bb4a7e5af66b4d",
      "tree": "6983acfaa859fee028b2927f8f520a27e1785c4d",
      "parents": [
        "53ea433145d9a56c7ad5e69f21f5662053e00e84"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Wed Mar 09 22:44:55 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 24 10:03:30 2011 +0200"
      },
      "message": "drbd: fix disconnect/reconnect loop, if ping-timeout \u003d\u003d ping-int\n\nIf there is no replication traffic within the idle timeout\n(ping-int seconds), DRBD will send a P_PING,\nand adjust the timeout to ping-timeout.\n\nIf there is no P_PING_ACK received within this ping-timeout,\nDRBD finally drops the connection, and tries to re-establish it.\n\nTo decide which timeout was active, we compared the current timeout\nwith the ping-timeout, and dropped the connection, if that was the case.\n\nBy default, ping-int is 10 seconds, ping-timeout is 500 ms.\n\nUnfortunately, if you configure ping-timeout to be the same as ping-int,\nexpiry of the idle-timeout had been mistaken for a missing ping ack,\nand caused an immediate reconnection attempt.\n\nFix:\nAllow both timeouts to be equal, use a local variable\nto store which timeout is active.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "53ea433145d9a56c7ad5e69f21f5662053e00e84",
      "tree": "fcd581287611f2ad2e169e50c34678192fb085b3",
      "parents": [
        "600942e0fdb7ed1565d056d7305c46c7c0544a3e"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Tue Mar 08 17:11:40 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 24 10:02:41 2011 +0200"
      },
      "message": "drbd: fix potential distributed deadlock\n\nWe limit ourselves to a configurable maximum number of pages used as\ntemporary bio pages.\n\nIf the configured \"max_buffers\" is not big enough to match the bandwidth\nof the respective deployment, a distributed deadlock could be triggered\nby e.g. fast online verify and heavy application IO.\n\nTCP connections would block on congestion, because both receivers\nwould wait on pages to become available.\n\nFortunately the respective senders in this case would be able to give\nback some pages already. So do that.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "738a84b25cac5af94936e5a1b15cd9909212383c",
      "tree": "ebed88ad337d18ca5f0f29eb938894381c10311d",
      "parents": [
        "779d530632c98967820d3bbcae15d492fc20301e"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 03 00:21:30 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 24 09:59:49 2011 +0200"
      },
      "message": "drbd: Fix for application IO with the on-io-error\u003dpass-on policy\n\nIn case a write failes on the local disk, go into D_INCONSISTENT\ndisk state. That causes future reads of that block to be shipped\nto the peer.\n\nRead retry remote was already in place.\n\nActually the documentation needs to get fixed now. Since the\napplication is still shielded from the error. (as long as we have\nonly a single disk failing) The difference to detach is that\nwe keep the disk. And therefore might keep all the other, still\nworking sectors up to date.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "70c71606190e9115e5f8363bfcd164c582eb314a",
      "tree": "17c7f6b5df814b9ed319bc0d839969a0de741433",
      "parents": [
        "281dc5c5ec0fb299514567cbc358562649c1af95"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Sun May 22 16:47:17 2011 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 22 21:41:57 2011 -0700"
      },
      "message": "Add appropriate \u003clinux/prefetch.h\u003e include for prefetch users\n\nAfter discovering that wide use of prefetch on modern CPUs\ncould be a net loss instead of a win, net drivers which were\nrelying on the implicit inclusion of prefetch.h via the list\nheaders showed up in the resulting cleanup fallout.  Give\nthem an explicit include via the following $0.02 script.\n\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n #!/bin/bash\n MANUAL\u003d\"\"\n for i in `git grep -l \u0027prefetch(.*)\u0027 .` ; do\n \tgrep -q \u0027\u003clinux/prefetch.h\u003e\u0027 $i\n \tif [ $? \u003d 0 ] ; then\n \t\tcontinue\n \tfi\n\n \t(\techo \u0027?^#include \u003clinux/?a\u0027\n \t\techo \u0027#include \u003clinux/prefetch.h\u003e\u0027\n \t\techo .\n \t\techo w\n \t\techo q\n \t) | ed -s $i \u003e /dev/null 2\u003e\u00261\n \tif [ $? !\u003d 0 ]; then\n \t\techo $i needs manual fixup\n \t\tMANUAL\u003d\"$i $MANUAL\"\n \tfi\n done\n echo ------------------- 8\\\u003c----------------------\n echo vi $MANUAL\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Paul \u003cpaul.gortmaker@windriver.com\u003e\n[ Fixed up some incorrect #include placements, and added some\n  non-network drivers and the fib_trie.c case    - Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "698567f3fa790fea37509a54dea855302dd88331",
      "tree": "7a1df976a0eb12cab03e82c18809a30d5482fee4",
      "parents": [
        "d70d0711edd8076ec2ce0ed109106e2df950681b",
        "61c4f2c81c61f73549928dfd9f3e8f26aa36a8cf"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri May 20 20:33:15 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri May 20 20:33:15 2011 +0200"
      },
      "message": "Merge commit \u0027v2.6.39\u0027 into for-2.6.40/core\n\nSince for-2.6.40/core was forked off the 2.6.39 devel tree, we\u0027ve\nhad churn in the core area that makes it difficult to handle\npatches for eg cfq or blk-throttle. Instead of requiring that they\nbe based in older versions with bugs that have been fixed later\nin the rc cycle, merge in 2.6.39 final.\n\nAlso fixes up conflicts in the below files.\n\nConflicts:\n\tdrivers/block/paride/pcd.c\n\tdrivers/cdrom/viocd.c\n\tdrivers/ide/ide-cd.c\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "13143d2d1cffd243a6d778000b02ab4938ac751a",
      "tree": "223cf7b9a80b5803af1a88d83868fa357ab96866",
      "parents": [
        "9d6fcb081a4770c3772c51c59c7251c22716d7bb"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu May 12 16:08:30 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu May 19 11:25:05 2011 -0700"
      },
      "message": "rbd: warn on update_snaps failure on notify\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "779d530632c98967820d3bbcae15d492fc20301e",
      "tree": "5911c12ead3c028d089e7a8be824f4d9f7590520",
      "parents": [
        "c9ce9e438b2a9faba74a05a71b3dbe169cde783b",
        "8ab521506c4dbb144f0c04c55e3d8bec42c1b2b9"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu May 19 09:46:00 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu May 19 09:46:00 2011 +0200"
      },
      "message": "Merge branches \u0027for-jens/xen-backend-fixes\u0027 and \u0027for-jens/xen-blkback-v3.3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen into for-2.6.40/drivers\n"
    },
    {
      "commit": "8ab521506c4dbb144f0c04c55e3d8bec42c1b2b9",
      "tree": "4521381df4e0dad05ec7b0d3746ea520fd824e2f",
      "parents": [
        "496b318eb65558c1a3a4fe882cb9da6d1dc6493a"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Tue May 17 11:07:05 2011 +0100"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Wed May 18 11:28:16 2011 -0400"
      },
      "message": "xen/blkback: don\u0027t fail empty barrier requests\n\nThe sector number on empty barrier requests may (will?) be -1, which,\ngiven that it\u0027s being treated as unsigned 64-bit quantity, will almost\nalways exceed the actual (virtual) disk\u0027s size.\n\nInspired by Konrad\u0027s \"When writting barriers set the sector number to\nzero...\".\n\nWhile at it also add overflow checking to the math in vbd_translate().\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "a2b9c1f6208126e6df6c02428c501f8853685812",
      "tree": "e36762d385bb490914a72485c4da4431e4b937d3",
      "parents": [
        "2e9521fd656f05a716b5294a7dbebd37ced05e43",
        "3ec717b7ca4ee1d75d77e4f6286430d8f01d1dbd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 18 06:49:02 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 18 06:49:02 2011 -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  block: don\u0027t delay blk_run_queue_async\n  scsi: remove performance regression due to async queue run\n  blk-throttle: Use task_subsys_state() to determine a task\u0027s blkio_cgroup\n  block: rescan partitions on invalidated devices on -ENOMEDIA too\n  cdrom: always check_disk_change() on open\n  block: unexport DISK_EVENT_MEDIA_CHANGE for legacy/fringe drivers\n"
    },
    {
      "commit": "1fec70932d867416ffe620dd17005f168cc84eb5",
      "tree": "921f08b555d2b71e7356034aae65bed4ed37e2df",
      "parents": [
        "11f770027b5c0de16544f3ec82b5c6f9f8d5a644"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Fri May 13 13:52:56 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 13 13:52:57 2011 -0700"
      },
      "message": "rbd: fix split bio handling\n\nThe rbd driver currently splits bios when they span an object boundary.\nHowever, the blk_end_request expects the completions to roll up the results\nin block device order, and the split rbd/ceph ops can complete in any\norder.  This patch adds a struct rbd_req_coll to track completion of split\nrequests and ensures that the results are passed back up to the block layer\nin order.\n\nThis fixes errors where the file system gets completion of a read operation\nthat spans an object boundary before the data has actually arrived.  The\nbug is easily reproduced with iozone with a working set larger than\navailable RAM.\n\nReported-by: Fyodor Ustinov \u003cufm@ufm.su\u003e\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "496b318eb65558c1a3a4fe882cb9da6d1dc6493a",
      "tree": "090f1739245a42ef4c147d36e52c3aca557b4dcd",
      "parents": [
        "5185432277ddf5bd91ad5af29cd1945f25ed10fc"
      ],
      "author": {
        "name": "Laszlo Ersek",
        "email": "lersek@redhat.com",
        "time": "Fri May 13 09:45:40 2011 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Fri May 13 09:45:40 2011 -0400"
      },
      "message": "xen/blkback: fix xenbus_transaction_start() hang caused by double xenbus_transaction_end()\n\nvbd_resize() up_read()\u0027s xs_state.suspend_mutex twice in a row via double\nxenbus_transaction_end() calls. The next down_read() in\nxenbus_transaction_start() (at eg. the next resize attempt) hangs.\n\nBugzilla: https://bugzilla.redhat.com/show_bug.cgi?id\u003d618317\n\nAcked-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nAcked-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Laszlo Ersek \u003clersek@redhat.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "11f770027b5c0de16544f3ec82b5c6f9f8d5a644",
      "tree": "7a64ef3a9a47ddd19dd22d50059a266cf626ddee",
      "parents": [
        "446cc6345d3de6571bdd0840f48aca441488a28d"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu May 12 16:13:54 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu May 12 20:59:14 2011 -0700"
      },
      "message": "rbd: fix leak of ops struct\n\nThe ops vector must be freed by the rbd_do_request caller.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "5185432277ddf5bd91ad5af29cd1945f25ed10fc",
      "tree": "e513e8837aaf5778a459e6a951b6ed36f692d582",
      "parents": [
        "cca537af7d6defe8001c2229da738f8a3c934fc0"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu May 12 18:02:28 2011 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu May 12 18:02:28 2011 -0400"
      },
      "message": "xen/blkback: Align the tabs on the structure.\n\nThe recent changes caused this field of the structure to be offset a bit.\n\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "cca537af7d6defe8001c2229da738f8a3c934fc0",
      "tree": "7ea957929ef2cacd19d3895552d23c6cf29aa8cd",
      "parents": [
        "5a577e38724226e06337bc8361f492b6bb76b9a5"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu May 12 17:23:30 2011 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu May 12 17:55:54 2011 -0400"
      },
      "message": "xen/blkback: if log_stats is enabled print out the data.\n\nAnd not depend on the driver being built with -DDEBUG flag.\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "5a577e38724226e06337bc8361f492b6bb76b9a5",
      "tree": "f6842f51e0b6cb274e505eaa775018f07444997c",
      "parents": [
        "3d814731ba67f9514bdf380c1b95dd852ac82a2f"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu May 12 16:58:21 2011 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu May 12 17:55:53 2011 -0400"
      },
      "message": "xen/blkback: Add the prefix XEN in the common.h.\n\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "3d814731ba67f9514bdf380c1b95dd852ac82a2f",
      "tree": "a7d0a5681b431524171b41cba86854f547c0a5eb",
      "parents": [
        "30fd150202fb2d08a62f9c2966a4b1fcf2e861e7"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu May 12 16:53:56 2011 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu May 12 17:55:52 2011 -0400"
      },
      "message": "xen/blkback: Prefix \u0027vbd\u0027 with \u0027xen\u0027 in structs and functions.\n\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "30fd150202fb2d08a62f9c2966a4b1fcf2e861e7",
      "tree": "23a2944351573e9982c4bb3d97a6844b46fee8f4",
      "parents": [
        "325a64860472765ecaeaa0081e9ddd67671183d4"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu May 12 16:47:48 2011 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu May 12 17:55:51 2011 -0400"
      },
      "message": "xen/blkback: Change structure name blkif_st to xen_blkif.\n\nNo need for that \u0027_st\u0027 and xen_blkif is more apt.\n\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "325a64860472765ecaeaa0081e9ddd67671183d4",
      "tree": "f880017bf25e025043b858d55840384e9fb9c774",
      "parents": [
        "452a6b2bb6de677acdd2ccb8b39cf6e8fe06f306"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu May 12 16:37:04 2011 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu May 12 17:55:50 2011 -0400"
      },
      "message": "xen/blkback: Remove the unused typedefs.\n\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "452a6b2bb6de677acdd2ccb8b39cf6e8fe06f306",
      "tree": "bbbd67999fd1e9c0e108e87c8a1d91e0e88424e8",
      "parents": [
        "b0f801273f7359a7d91fc94f5c6bf216bc17aaa1"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu May 12 16:31:51 2011 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu May 12 17:55:49 2011 -0400"
      },
      "message": "xen/blkback: Move include/xen/blkif.h into drivers/block/xen-blkback/common.h\n\nNot point of the blkif.h file. It is not used by the frontend.\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "b0f801273f7359a7d91fc94f5c6bf216bc17aaa1",
      "tree": "632c035b77b92b0ab502b52bfc31bc2246220d37",
      "parents": [
        "03e0edf946a08f498788bb6e8ab58453d98f25b9"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu May 12 16:23:06 2011 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu May 12 17:55:48 2011 -0400"
      },
      "message": "xen/blkback: Fixing some more of the cleanpatch.pl warnings.\n\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "03e0edf946a08f498788bb6e8ab58453d98f25b9",
      "tree": "c2e849aa122c4428be3b4faaeb416dafb9376e11",
      "parents": [
        "41ca4d388560d2048c7b64ff5ca7dc3bac0d0812"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu May 12 16:19:23 2011 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu May 12 17:55:47 2011 -0400"
      },
      "message": "xen/blkback: Checkpatch.pl recommend against multiple assigments.\n\nCHECK: multiple assignments should be avoided\n\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "a4c348580e65c95d4b278bb6f154f622df12b893",
      "tree": "768e1fc7132dfa752e83cb50918756c1276f89be",
      "parents": [
        "b9fc02968c5dd3c0461b4bb126499a17b13fb86e"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu May 12 16:10:55 2011 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu May 12 17:55:40 2011 -0400"
      },
      "message": "xen/blkback: Flesh out the description in the Kconfig.\n\nwith more details.\n\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "b9fc02968c5dd3c0461b4bb126499a17b13fb86e",
      "tree": "e11779de6cd4dc23d4775a9e858a7adbe798fd80",
      "parents": [
        "68c88dd7d3caf1737112238fbe91cccd8e7a69fc"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Wed May 11 16:26:59 2011 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu May 12 16:43:21 2011 -0400"
      },
      "message": "xen/blkback: Fix spelling mistakes.\n\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "68c88dd7d3caf1737112238fbe91cccd8e7a69fc",
      "tree": "48d0d90892fc5de5d2a2c632f807a34f5794f53c",
      "parents": [
        "72468bfcb815bc9875a870973469f68e20c78717"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Wed May 11 16:23:39 2011 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu May 12 16:43:20 2011 -0400"
      },
      "message": "xen/blkback: Move blkif_get_x86_[32|64]_req to common.h in block/xen-blkback dir.\n\nFrom the blkif.h header, which was exposed to the frontend.\n\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "72468bfcb815bc9875a870973469f68e20c78717",
      "tree": "605646f216ac51efab27f237b2d865fb131f0b62",
      "parents": [
        "22b20f2dffd09edd66127f2022c26d0039bad88e"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Wed May 11 16:21:08 2011 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu May 12 16:43:20 2011 -0400"
      },
      "message": "xen/blkback: Removing the debug_lvl option.\n\nIt is not really used for anything.\n\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "22b20f2dffd09edd66127f2022c26d0039bad88e",
      "tree": "08c235963147f9866e274abd7ed46c36fae8f179",
      "parents": [
        "1afbd730a33c6e4ca780a70351e8929dd4c40636"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu May 12 16:43:12 2011 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu May 12 16:43:12 2011 -0400"
      },
      "message": "xen/blkback: Use the DRV_PFX in the pr_.. macros.\n\nTo make it easier to read.\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "1afbd730a33c6e4ca780a70351e8929dd4c40636",
      "tree": "a9bbd73bef928ec4217f525ee075c85e55b6cb11",
      "parents": [
        "ebe8190659244ec21b5f16950cf7b156f5b7eb01"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Wed May 11 16:15:24 2011 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu May 12 16:42:51 2011 -0400"
      },
      "message": "xen/blkback: Make the DPRINTK uniform.\n\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    }
  ],
  "next": "ebe8190659244ec21b5f16950cf7b156f5b7eb01"
}
