)]}'
{
  "log": [
    {
      "commit": "f06154cc47399dfdb3950d3e6b71d67ee186f69d",
      "tree": "2a34875c0da6853cacf22777bc5ce0544b85e823",
      "parents": [
        "66589de55eff46f036ab5316a77834e01af3753c",
        "99ce39e359fa29e4b609a6a13485e7573eda5dfb"
      ],
      "author": {
        "name": "Bryan Huntsman",
        "email": "bryanh@codeaurora.org",
        "time": "Fri Sep 23 11:47:13 2011 -0700"
      },
      "committer": {
        "name": "Bryan Huntsman",
        "email": "bryanh@codeaurora.org",
        "time": "Fri Sep 23 11:47:21 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": "71e553ad4e5714309ccb6f9311fc1af3b0feaa6c",
      "tree": "188eb61152747dd53a617948f3000ada3fbb6a50",
      "parents": [
        "f3783ea4c293f276d79166c92bfcc4592d518d63"
      ],
      "author": {
        "name": "Stephen M. Cameron",
        "email": "scameron@beardog.cce.hp.com",
        "time": "Sat Jul 09 09:04:12 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Aug 04 21:58:38 2011 -0700"
      },
      "message": "cciss: do not attempt to read from a write-only register\n\ncommit 07d0c38e7d84f911c72058a124c7f17b3c779a65 upstream.\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\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\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": "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": "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": "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"
    },
    {
      "commit": "ebe8190659244ec21b5f16950cf7b156f5b7eb01",
      "tree": "8c76e74f11b00a6724655fb351eaf601271d3a25",
      "parents": [
        "01f37f2d53e14a05b7fc3601d182f31ac3b35847"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu May 12 16:42:31 2011 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu May 12 16:42:31 2011 -0400"
      },
      "message": "xen/blkback: Change printk/DPRINTK to pr_.. type variant.\n\nAnd also make them uniform and prefix the message with \u0027xen-blkback\u0027.\n\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "edf6ef59ec7ee82cadc93528229c4097b6c92a7e",
      "tree": "b864418f5ba692535f619b7fd38dc7cf4960f830",
      "parents": [
        "6dcfb751c927879399e404b3885cbdef7d8d368b"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Tue May 03 12:01:11 2011 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu May 12 08:56:03 2011 -0400"
      },
      "message": "xen-blkfront: Introduce BLKIF_OP_FLUSH_DISKCACHE support.\n\nIf the backend supports the \u0027feature-flush-cache\u0027 mode, use that\ninstead of the \u0027feature-barrier\u0027 support.\n\nCurrently there are three backends that support the \u0027feature-flush-cache\u0027\nmode: NetBSD, Solaris and Linux kernel. The \u0027flush\u0027 option is much\nlight-weight version than the \u0027barrier\u0027 support so lets try to use as\nthere are no filesystems in the kernel that use full barriers anymore.\n\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "4352b47ab7918108b389a48d2163c9a4c2aaf139",
      "tree": "0cff95e7f551f838de24c516d241449bfb4e07d3",
      "parents": [
        "edc83d47a9928281ecf6fb709753edb3c58ae7f1"
      ],
      "author": {
        "name": "Marek Marczykowski",
        "email": "marmarek@mimuw.edu.pl",
        "time": "Tue May 03 12:04:52 2011 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu May 12 08:55:51 2011 -0400"
      },
      "message": "xen-blkfront: fix data size for xenbus_gather in blkfront_connect\n\nbarrier variable is int, not long. This overflow caused another variable\noverride: \"err\" (in PV code) and \"binfo\" (in xenlinux code -\ndrivers/xen/blkfront/blkfront.c). The later caused incorrect device\nflags (RO/removable etc).\n\nSigned-off-by: Marek Marczykowski \u003cmarmarek@mimuw.edu.pl\u003e\nAcked-by: Ian Campbell \u003cIan.Campbell@citrix.com\u003e\n[v1: Changed title]\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "01f37f2d53e14a05b7fc3601d182f31ac3b35847",
      "tree": "b12e0eb77888710865ad577f3735a550f57a7242",
      "parents": [
        "3d68b39926b3b247d76cc4da0256e979b2b730e3"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Wed May 11 15:57:09 2011 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Wed May 11 15:57:09 2011 -0400"
      },
      "message": "xen/blkback: Fixed up comments and converted spaces to tabs.\n\nSuggested-by: Ian Campbell \u003cIan.Campbell@eu.citrix.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "edc83d47a9928281ecf6fb709753edb3c58ae7f1",
      "tree": "07f6c65a492ca04c67967142a0eb176e20bbf77f",
      "parents": [
        "8a4ec67bd5648beb09d7db988a75835b740e950d"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri May 06 08:27:00 2011 -0600"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri May 06 08:27:00 2011 -0600"
      },
      "message": "cciss: fix compile issue\n\ndrivers/block/cciss.c: In function ‘cciss_send_reset’:\ndrivers/block/cciss.c:2515:2: error: implicit declaration of function ‘fill_cmd’\ndrivers/block/cciss.c: At top level:\ndrivers/block/cciss.c:2531:12: error: conflicting types for ‘fill_cmd’\ndrivers/block/cciss.c:2534:1: note: an argument type that has a default promotion can’t match an empty parameter name list declaration\ndrivers/block/cciss.c:2515:18: note: previous implicit declaration of ‘fill_cmd’ was here\nmake[1]: *** [drivers/block/cciss.o] Error 1\nmake: *** [drivers/block/cciss.o] Error 2\n\nMove fill_cmd() to above where it is first used.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "8a4ec67bd5648beb09d7db988a75835b740e950d",
      "tree": "745a87ec016b79f3cf425f581c38090a4ff8f270",
      "parents": [
        "063d2cf72ab6101d2dd69bd6fb503b229be70325"
      ],
      "author": {
        "name": "Stephen M. Cameron",
        "email": "scameron@beardog.cce.hp.com",
        "time": "Tue May 03 14:54:12 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri May 06 08:23:59 2011 -0600"
      },
      "message": "cciss: add cciss_tape_cmds module paramter\n\nThis is to allow number of commands reserved for use by SCSI tape drives\nand medium changers to be adjusted at driver load time via the kernel\nparameter cciss_tape_cmds, with a default value of 6, and a range\nof 2 - 16 inclusive.  Previously, the driver limited the number of\ncommands which could be queued to the SCSI half of the the driver\nto only 2.  This is to fix the problem that if you had more than\ntwo tape drives, you couldn\u0027t, for example, erase or rewind them all\nat the same time.\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cce.hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "063d2cf72ab6101d2dd69bd6fb503b229be70325",
      "tree": "eb818014e9510bc372eae990e3b102caf0504ee8",
      "parents": [
        "ec52d5f1cb9a1a0db02143fdcc6004749ea19e0b"
      ],
      "author": {
        "name": "Stephen M. Cameron",
        "email": "scameron@beardog.cce.hp.com",
        "time": "Tue May 03 14:54:07 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri May 06 08:23:58 2011 -0600"
      },
      "message": "cciss: do not use bit 2 doorbell reset\n\nIt causes NMIs which are undesirable at best, unsurvivable at worst.\nPrefer the soft reset instead.\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cce.hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "ec52d5f1cb9a1a0db02143fdcc6004749ea19e0b",
      "tree": "9a6e24130f4dfcd4d97ade51cb060c72da48a9a1",
      "parents": [
        "93c46c2fa7cfb272c3014327830d6cb30d8486a4"
      ],
      "author": {
        "name": "Stephen M. Cameron",
        "email": "scameron@beardog.cce.hp.com",
        "time": "Tue May 03 14:54:02 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri May 06 08:23:57 2011 -0600"
      },
      "message": "cciss: do not attempt PCI power management reset method if we know it won\u0027t work.\n\nJust go straight to the soft-reset method instead.\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cce.hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "93c46c2fa7cfb272c3014327830d6cb30d8486a4",
      "tree": "84ceb0e7bfa5726b11bd2e5596d9857be2d4bd9c",
      "parents": [
        "5afe278114a8dd9480813377c75b5e40a42c5066"
      ],
      "author": {
        "name": "Stephen M. Cameron",
        "email": "scameron@beardog.cce.hp.com",
        "time": "Tue May 03 14:53:57 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri May 06 08:23:56 2011 -0600"
      },
      "message": "cciss: remove superfluous sleeps around reset code\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cce.hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "5afe278114a8dd9480813377c75b5e40a42c5066",
      "tree": "40f9546c8c0ecd6fcfb05d2174c336cc657b0d10",
      "parents": [
        "bf2e2e6b87ae38fab460a36abfe272d99ae8be49"
      ],
      "author": {
        "name": "Stephen M. Cameron",
        "email": "scameron@beardog.cce.hp.com",
        "time": "Tue May 03 14:53:52 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri May 06 08:23:56 2011 -0600"
      },
      "message": "cciss: do soft reset if hard reset is broken\n\non driver load, if reset_devices is set, and the hard reset\nattempts fail, try to bring up the controller to the point that\na command can be sent, and send it a soft reset command, then\nafter the reset undo whatever driver initialization was done to get\nit to the point to take a command, and re-do it after the reset.\n\nThis is to get kdump to work on all the \"non-resettable\" controllers\n(except 64xx controllers which can\u0027t be reset due to the potentially\nshared cache module.)\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cce.hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "bf2e2e6b87ae38fab460a36abfe272d99ae8be49",
      "tree": "4f51b122e44f7ae25bcb6230c17b0cbe33bbfea7",
      "parents": [
        "3e28601fdfdec75ce8f6aaaf58540fdd0883fb58"
      ],
      "author": {
        "name": "Stephen M. Cameron",
        "email": "scameron@beardog.cce.hp.com",
        "time": "Tue May 03 14:53:46 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri May 06 08:23:55 2011 -0600"
      },
      "message": "cciss: use new doorbell-bit-5 reset method\n\nThe bit-2-doorbell reset method seemed to cause (survivable) NMIs\non some systems and (unsurvivable) IOCK NMIs on some G7 servers.\nFirmware guys implemented a new doorbell method to alleviate these\nproblems triggered by bit 5 of the doorbell register.  We want to\nuse it if it\u0027s available.\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cce.hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "3e28601fdfdec75ce8f6aaaf58540fdd0883fb58",
      "tree": "be2dc2fe3301ab7beb7afd0afd22d9569e28d65d",
      "parents": [
        "59ec86bb9872fbf9fd8572a936423f5e3ad615e7"
      ],
      "author": {
        "name": "Stephen M. Cameron",
        "email": "scameron@beardog.cce.hp.com",
        "time": "Tue May 03 14:53:41 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri May 06 08:23:54 2011 -0600"
      },
      "message": "cciss: increase timeouts for post-reset no-ops\n\nJust to reduce the messages about timeouts that appear.\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cce.hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "59ec86bb9872fbf9fd8572a936423f5e3ad615e7",
      "tree": "5e17547214c215275687c13c2b4adf20094c51d2",
      "parents": [
        "19adbb9254cbd46224376fcb3a773a2272e0845e"
      ],
      "author": {
        "name": "Stephen M. Cameron",
        "email": "scameron@beardog.cce.hp.com",
        "time": "Tue May 03 14:53:36 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri May 06 08:23:53 2011 -0600"
      },
      "message": "cciss: clarify messages around reset behavior\n\nWhen waiting for the board to become \"not ready\"\ndon\u0027t print a message saying \"waiting for board to\nbecome ready\" (possibly followed by a message saying\n\"failed waiting for board to become not ready\".  Instead,\nit should be \"waiting for board to reset\" and \"failed\nwaiting for board to reset.\"\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cce.hp.com\u003e\n\"\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "19adbb9254cbd46224376fcb3a773a2272e0845e",
      "tree": "a9e26c868f5d8d08c4837b16cf6757cb85b242ab",
      "parents": [
        "8f71bb829a964ef4deead86b60fda09452fb5c2f"
      ],
      "author": {
        "name": "Stephen M. Cameron",
        "email": "scameron@beardog.cce.hp.com",
        "time": "Tue May 03 14:53:31 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri May 06 08:23:51 2011 -0600"
      },
      "message": "cciss: increase time to wait for board reset to start\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cce.hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "8f71bb829a964ef4deead86b60fda09452fb5c2f",
      "tree": "56dbf22d3176523ecae574bfbc937dccabbba9eb",
      "parents": [
        "e363e0143615a67f19d56e6b223b55df3bd9f580"
      ],
      "author": {
        "name": "Stephen M. Cameron",
        "email": "scameron@beardog.cce.hp.com",
        "time": "Tue May 03 14:53:26 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri May 06 08:23:50 2011 -0600"
      },
      "message": "cciss: get rid of message related magic numbers\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cce.hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "e363e0143615a67f19d56e6b223b55df3bd9f580",
      "tree": "413183481275e824598fb7f18ab69a4fb7ee56eb",
      "parents": [
        "2b48085f972a761b38cf60c626031a7fdd9e6d55"
      ],
      "author": {
        "name": "Stephen M. Cameron",
        "email": "scameron@beardog.cce.hp.com",
        "time": "Tue May 03 14:53:21 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri May 06 08:23:50 2011 -0600"
      },
      "message": "cciss: fix reply pool and block fetch table memory leaks\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "2b48085f972a761b38cf60c626031a7fdd9e6d55",
      "tree": "7067ea5a2634e838c57de235d9a7cac7e157d506",
      "parents": [
        "abf7966e616ef6e04393ef3678227f77d6179a8a"
      ],
      "author": {
        "name": "Stephen M. Cameron",
        "email": "scameron@beardog.cce.hp.com",
        "time": "Tue May 03 14:53:16 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri May 06 08:23:49 2011 -0600"
      },
      "message": "cciss: factor out irq request code\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cce.hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "abf7966e616ef6e04393ef3678227f77d6179a8a",
      "tree": "2980bb8819af206b14ebf3cc7d3ed8cab3ccc334",
      "parents": [
        "54dae3432021f38cf20542ccd152dddb91c7c2d7"
      ],
      "author": {
        "name": "Stephen M. Cameron",
        "email": "scameron@beardog.cce.hp.com",
        "time": "Tue May 03 14:53:10 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri May 06 08:23:48 2011 -0600"
      },
      "message": "cciss: factor out scatterlist allocation functions\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cce.hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "54dae3432021f38cf20542ccd152dddb91c7c2d7",
      "tree": "71cef672100c206d2d0108ff6c965c0690c10845",
      "parents": [
        "62710ae1ceb839de1eebb5b4492ec8a7fbcf8d02"
      ],
      "author": {
        "name": "Stephen M. Cameron",
        "email": "scameron@beardog.cce.hp.com",
        "time": "Tue May 03 14:53:05 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri May 06 08:23:47 2011 -0600"
      },
      "message": "cciss: factor out command pool allocation functions\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cce.hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "62710ae1ceb839de1eebb5b4492ec8a7fbcf8d02",
      "tree": "e11fe26e7d281618ba47a95a91ea26ecb7643973",
      "parents": [
        "9bd3c20487b7c13d397dc11dd51e30256bf4c9b3"
      ],
      "author": {
        "name": "Stephen M. Cameron",
        "email": "scameron@beardog.cce.hp.com",
        "time": "Tue May 03 14:53:00 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri May 06 08:23:46 2011 -0600"
      },
      "message": "cciss: do a better job of detecting controller reset failure\n\nDetect failure of controller reset by noticing if the 32 bytes of\n\"driver version\" we store on the hardware in the config table\nfail to get zeroed out.  Previously we noticed if the controller\ndid not transition to \"simple mode\", but this did not detect reset\nfailure if the controller was already in simple mode prior to\nthe reset attempt (e.g. due to module parameter hpsa_simple_mode\u003d1).\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cce.hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "9bd3c20487b7c13d397dc11dd51e30256bf4c9b3",
      "tree": "5fc22ec358e15644c5a86970c6366aea9cc7f693",
      "parents": [
        "490b94be0282c3b67f56453628ff0aaae827a670"
      ],
      "author": {
        "name": "Stephen M. Cameron",
        "email": "scameron@beardog.cce.hp.com",
        "time": "Tue May 03 14:52:54 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri May 06 08:23:45 2011 -0600"
      },
      "message": "cciss: add readl after writel in interrupt mask setting code\n\nThis is to ensure the board interrupts are really off when\nthese functions return.\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cce.hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "3d68b39926b3b247d76cc4da0256e979b2b730e3",
      "tree": "fb6cb2783220f2d52189d5bf40a067d5c82c98b2",
      "parents": [
        "fc53bf757ede292312eee10d64f4e691c8c8cebf"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu May 05 13:42:10 2011 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu May 05 13:43:26 2011 -0400"
      },
      "message": "xen/blkback: Fix up some of the comments.\n\nThey had the wrong data or were in the wrong spot.\n\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "fc53bf757ede292312eee10d64f4e691c8c8cebf",
      "tree": "9129e9a47a399842351a800215e30b1163a6d960",
      "parents": [
        "24f567f952aa308c3352f3340b9d296fc72bd066"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu May 05 13:37:23 2011 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu May 05 13:43:25 2011 -0400"
      },
      "message": "xen/blkback: Squash the checking for operation into dispatch_rw_block_io\n\nWe do a check for the operations right before calling dispatch_rw_block_io.\nAnd then we do the same check in dispatch_rw_block_io. This patch\nsquashes those checks into the \u0027dispatch_rw_block_io\u0027 function.\n\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "24f567f952aa308c3352f3340b9d296fc72bd066",
      "tree": "6cbc385ed612254b9eb0a77c0934804f85697e94",
      "parents": [
        "73d842af27b863cbc816e75003edbc287bf57130"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Wed May 04 17:07:27 2011 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu May 05 13:43:24 2011 -0400"
      },
      "message": "xen/blkback: Add support for BLKIF_OP_FLUSH_DISKCACHE and drop BLKIF_OP_WRITE_BARRIER.\n\nWe drop the support for \u0027feature-barrier\u0027 and add in the support\nfor the \u0027feature-flush-cache\u0027 if the real backend storage supports\nflushing.\n\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "4ad12621e442b7a072e81270808f617cb65c5672",
      "tree": "eecdd1d51f525b9b07c70f8fbcf08c9ede3b8f79",
      "parents": [
        "8c71897be2ddfd84969412635ca42fa9e137f7b6"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 03 09:23:36 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 03 09:28:13 2011 -0700"
      },
      "message": "libceph: fix ceph_osdc_alloc_request error checks\n\nceph_osdc_alloc_request returns NULL on failure.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "a19be5f0f073525306f6a4b000d90dc84065ed93",
      "tree": "3c2b4f2dfda149838f0060d3f38c7494d8612f4d",
      "parents": [
        "013c3ca184851078b9c04744efd4d47e52c6ecf8"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Wed Apr 27 12:40:11 2011 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Wed Apr 27 12:40:11 2011 -0400"
      },
      "message": "Revert \"xen/blkback: Move the plugging/unplugging to a higher level.\"\n\nThis reverts commit 97961ef46b9b5a6a7c918a38b898a7b3e49869f4 b/c\nwe lose about 15% performance if we do the unplugging and the\nend of the reading the ring buffer.\n"
    },
    {
      "commit": "013c3ca184851078b9c04744efd4d47e52c6ecf8",
      "tree": "28f355c790f7181cc0d04b731d3ca7e2a582a5ac",
      "parents": [
        "97961ef46b9b5a6a7c918a38b898a7b3e49869f4"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Tue Apr 26 16:24:18 2011 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Tue Apr 26 16:24:18 2011 -0400"
      },
      "message": "xen/blkback: Stick REQ_SYNC on WRITEs to deal with CFQ I/O scheduler.\n\nIf one runs a simple fio request with random read/write with a\n20%/80% ratio, the numbers are incredibly bad when using the CFQ scheduler.\n\nIOmeter       |       |      |          |\n64K, randrw   |  NOOP | CFQ  | deadline |\nrandrwmix\u003d80  |       |      |          |\n--------------+-------+------+----------+\nblkback       |103/27 |32/10 | 102/27   |\n--------------+-------+------+----------+\nQEMU qdisk    |103/27 |102/27| 102/27   |\n\nThe problem as explained by Vivek Goyal was:\n\n\".. that difference is that sync vs async requests. In the case of\na kernel thread submitting IO, [..] all the WRITES might be being\nconsidered as async and will go in a different queue. If you mix those\nwith some READS, they are always sync and will go in differnet queue.\nIn presence of sync queue, CFQ will idle and choke up WRITES in\nan attempt to improve latencies of READs.\n\nIn case of AIO [note: this is what QEMU qdisk is doing] , [..]\nit is direct IO and both READS and WRITES will be considered SYNC\nand will go in a single queue and no choking of WRITES will take place.\"\n\nThe solution is quite simple, tack on REQ_SYNC (which is\nwhat the WRITE_ODIRECT macro points to) and the numbers go\nback up.\n\nSuggested-by: Vivek Goyal \u003cvgoyal@redhat.com\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    }
  ],
  "next": "97961ef46b9b5a6a7c918a38b898a7b3e49869f4"
}
