)]}'
{
  "log": [
    {
      "commit": "2f9e825d3e0e2b407ae8f082de5c00afcf7378fb",
      "tree": "f8b3ee40674ce4acd5508a0a0bf52a30904caf6c",
      "parents": [
        "7ae0dea900b027cd90e8a3e14deca9a19e17638b",
        "de75d60d5ea235e6e09f4962ab22541ce0fe176a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 15:22:42 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 15:22:42 2010 -0700"
      },
      "message": "Merge branch \u0027for-2.6.36\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.36\u0027 of git://git.kernel.dk/linux-2.6-block: (149 commits)\n  block: make sure that REQ_* types are seen even with CONFIG_BLOCK\u003dn\n  xen-blkfront: fix missing out label\n  blkdev: fix blkdev_issue_zeroout return value\n  block: update request stacking methods to support discards\n  block: fix missing export of blk_types.h\n  writeback: fix bad _bh spinlock nesting\n  drbd: revert \"delay probes\", feature is being re-implemented differently\n  drbd: Initialize all members of sync_conf to their defaults [Bugz 315]\n  drbd: Disable delay probes for the upcomming release\n  writeback: cleanup bdi_register\n  writeback: add new tracepoints\n  writeback: remove unnecessary init_timer call\n  writeback: optimize periodic bdi thread wakeups\n  writeback: prevent unnecessary bdi threads wakeups\n  writeback: move bdi threads exiting logic to the forker thread\n  writeback: restructure bdi forker loop a little\n  writeback: move last_active to bdi\n  writeback: do not remove bdi from bdi_list\n  writeback: simplify bdi code a little\n  writeback: do not lose wake-ups in bdi threads\n  ...\n\nFixed up pretty trivial conflicts in drivers/block/virtio_blk.c and\ndrivers/scsi/scsi_error.c as per Jens.\n"
    },
    {
      "commit": "e7f52dfb4f378ea1bbfd4476f4e8ba42f5fb332c",
      "tree": "1f31f9c3fd2f3c9150d08c9429b3c2a36f15d5f5",
      "parents": [
        "85f4cc17a62c3ac9edeaf120cdae7261df458053"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Tue Aug 03 20:20:20 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:53:57 2010 +0200"
      },
      "message": "drbd: revert \"delay probes\", feature is being re-implemented differently\n\nIt was a now abandoned attempt to throttle resync bandwidth\nbased on the delay it causes on the bulk data socket.\nIt has no userbase yet, and has been disabled by\n9173465ccb51c09cc3102a10af93e9f469a0af6f already.\nThis removes the now unused code.\n\nThe basic feature, namely using up \"idle\" bandwith\nof network and disk IO subsystem, with minimal impact\nto application IO, is being reimplemented differently.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "85f4cc17a62c3ac9edeaf120cdae7261df458053",
      "tree": "c2895160d9748d0cbe57494083370ba048c9a82a",
      "parents": [
        "6710a5760355be8f2e51682f41b0d3fc76550309"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue Jun 29 17:35:34 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:53:57 2010 +0200"
      },
      "message": "drbd: Initialize all members of sync_conf to their defaults [Bugz 315]\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "6710a5760355be8f2e51682f41b0d3fc76550309",
      "tree": "29b40f369bcc165f97e09547540c2df9ff62007e",
      "parents": [
        "c284de61db31669cce547ffc99efda971146719d"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon Jul 19 15:04:57 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:53:57 2010 +0200"
      },
      "message": "drbd: Disable delay probes for the upcomming release\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "6e9624b8caec290d28b4c6d9ec75749df6372b87",
      "tree": "47225b544e1da82742795553dc4e8aa70c17afdc",
      "parents": [
        "8a6cfeb6deca3a8fefd639d898b0d163c0b5d368"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sat Aug 07 18:25:34 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:25:34 2010 +0200"
      },
      "message": "block: push down BKL into .open and .release\n\nThe open and release block_device_operations are currently\ncalled with the BKL held. In order to change that, we must\nfirst make sure that all drivers that currently rely\non this have no regressions.\n\nThis blindly pushes the BKL into all .open and .release\noperations for all block drivers to prepare for the\nnext step. The drivers can subsequently replace the BKL\nwith their own locks or remove it completely when it can\nbe shown that it is not needed.\n\nThe functions blkdev_get and blkdev_put are the only\nremaining users of the big kernel lock in the block\nlayer, besides a few uses in the ioctl code, none\nof which need to serialize with blkdev_{get,put}.\n\nMost of these two functions is also under the protection\nof bdev-\u003ebd_mutex, including the actual calls to\n-\u003eopen and -\u003erelease, and the common code does not\naccess any global data structures that need the BKL.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "7b6d91daee5cac6402186ff224c3af39d79f4a0e",
      "tree": "b1518cf0b6c301178e0a320f80610cd5b3aa7625",
      "parents": [
        "33659ebbae262228eef4e0fe990f393d1f0ed941"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sat Aug 07 18:20:39 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:20:39 2010 +0200"
      },
      "message": "block: unify flags for struct bio and struct request\n\nRemove the current bio flags and reuse the request flags for the bio, too.\nThis allows to more easily trace the type of I/O from the filesystem\ndown to the block driver.  There were two flags in the bio that were\nmissing in the requests:  BIO_RW_UNPLUG and BIO_RW_AHEAD.  Also I\u0027ve\nrenamed two request flags that had a superflous RW in them.\n\nNote that the flags are in bio.h despite having the REQ_ name - as\nblkdev.h includes bio.h that is the only way to go for now.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "d790d4d583aeaed9fc6f8a9f4d9f8ce6b1c15c7f",
      "tree": "854ab394486288d40fa8179cbfaf66e8bdc44b0f",
      "parents": [
        "73b2c7165b76b20eb1290e7efebc33cfd21db1ca",
        "3a09b1be53d23df780a0cd0e4087a05e2ca4a00c"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Aug 04 15:14:38 2010 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Aug 04 15:14:38 2010 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n"
    },
    {
      "commit": "698f93159a735bd29a8767c9f60d9b2d75870f8e",
      "tree": "1ea0556201e4fa79c75db621e33c722eedececda",
      "parents": [
        "b27d63d8f8d34af57805f56005e217c150187531"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Fri Jul 02 20:41:51 2010 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Sun Jul 11 21:45:40 2010 +0200"
      },
      "message": "fix comment/printk typos concerning \"already\"\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "dc66c74de6f4238020db3e2041d4aca5c5b3e9bc",
      "tree": "8df9cdd2f1672217a210e624f4613744e57450e0",
      "parents": [
        "7e27d6e778cd87b6f2415515d7127eba53fe5d02"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed Jun 02 14:31:29 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon Jun 14 12:19:41 2010 +0200"
      },
      "message": "drbd: Fixed a race between disk-attach and unexpected state changes\n\nThis was a very hard to trigger race condition.\n\nIf we got a state packet from the peer, after drbd_nl_disk() has\nalready changed the disk state to D_NEGOTIATING but\nafter_state_ch() was not yet run by the worker, then receive_state()\nmight called drbd_sync_handshake(), which in turn crashed\nwhen accessing p_uuid.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "2a0ab2cd73c26835e635ed4e3868f983519048fb",
      "tree": "3809dc43507fc168d1982b460527232255bb9bde",
      "parents": [
        "7383506c87237dbd627f0b8b72b50117f25c5ca2"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed May 26 17:59:55 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Jun 01 11:12:27 2010 +0200"
      },
      "message": "drbd: Reduce verbosity\n\nThe \"Local READ/WRITE failed\" messages are too verbose.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "7383506c87237dbd627f0b8b72b50117f25c5ca2",
      "tree": "aa4a84c35452398547b021f75861bf9e0b4581e2",
      "parents": [
        "d255e5ff5fc6cc6c60dd014d1261448a7bbc8134"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Thu May 27 11:51:56 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Jun 01 11:12:27 2010 +0200"
      },
      "message": "drbd: use drbd specific ratelimit instead of global printk_ratelimit\n\nusing the global printk_ratelimit() may mask other messages.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "d255e5ff5fc6cc6c60dd014d1261448a7bbc8134",
      "tree": "af933be5ddb81b1e47be2f91ff558c5c792f2f0f",
      "parents": [
        "32fa7e91f923d8b2578c42016ff3a94efc9968a2"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Thu May 27 09:45:45 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Jun 01 11:12:27 2010 +0200"
      },
      "message": "drbd: fix hang on local read errors while disconnected\n\n\"canceled\" w_read_retry_remote never completed, if they have been\ncanceled after drbd_disconnect connection teardown cleanup has already\nrun (or we are currently not connected anyways).\n\nFixed by not queueing a remote retry if we already know it won\u0027t work\n(pdsk not uptodate), and cleanup ourselves on \"cancel\", in case we hit a\nrace with drbd_disconnect.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "32fa7e91f923d8b2578c42016ff3a94efc9968a2",
      "tree": "29195d8636831d92d421d816ff1d9961b059908f",
      "parents": [
        "039e1fb65496636778e24c881a5e58ed7c39fbb3"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed May 26 17:13:18 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Jun 01 11:12:27 2010 +0200"
      },
      "message": "drbd: Removed the now empty w_io_error() function\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "039e1fb65496636778e24c881a5e58ed7c39fbb3",
      "tree": "2c567ca6a2fa65d2e61f0919b6321dc12a99b6a3",
      "parents": [
        "ba11ad9a3b9dd2dbb9c6686ea9d41a9a77d94327"
      ],
      "author": {
        "name": "Andrea Gelmini",
        "email": "andrea.gelmini@gelma.net",
        "time": "Sun May 23 21:48:13 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Jun 01 11:12:27 2010 +0200"
      },
      "message": "drbd: removed duplicated #includes\n\ndrbd/drbd_receiver.c: linux/mm.h is included more than once.\n\nSigned-off-by: Andrea Gelmini \u003candrea.gelmini@gelma.net\u003e\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "ba11ad9a3b9dd2dbb9c6686ea9d41a9a77d94327",
      "tree": "d1aa2d5a2673a063e7cc8b9a4bba5305c608f6a1",
      "parents": [
        "5dbf1673383f2f1554f0634fdfc390d59dc2c7d6"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Tue May 25 16:26:16 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Jun 01 11:12:27 2010 +0200"
      },
      "message": "drbd: improve usage of MSG_MORE\n\nIt seems to improve performance if we allow the \"p_data\" header in its\nown frame (no MSG_MORE), but sendpage all but the last page with MSG_MORE.\nThis is also in preparation of a later zero copy receive implementation.\n\nSuggested by Eduard.Guzovsky@stratus.com on drbd-dev.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "5dbf1673383f2f1554f0634fdfc390d59dc2c7d6",
      "tree": "a63a9ed3528b35f943100072b88add3fca72dbaf",
      "parents": [
        "344fa462e3246bd102059ccc3c59deef416676dd"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Tue May 25 16:18:01 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Jun 01 11:12:27 2010 +0200"
      },
      "message": "drbd: need to set socket bufsize early to take effect\n\nquoting tcp(7):\n    On individual connections, the socket buffer size must be set prior to the\n    listen(2) or connect(2) calls in order to have it take effect.\n\nThis adds a wrapper to do so, and uses it appropriately.\nImproves performance in certain situations.\n\nNote that because we cannot easily determine which socket will be\n\"meta\" and wich \"data\" (bulk) socket, we adjust both sockets.\nPreviously, DRBD only adjusted the bufsizes of the \"data\" socket.\n\nThanks again to Eduard.Guzovsky@stratus.com.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "344fa462e3246bd102059ccc3c59deef416676dd",
      "tree": "1e66ef2ce11d25214004468d16bac6b7a1dc24c6",
      "parents": [
        "2c8d196759054b632788633b20e39167df36041d"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Tue May 25 14:23:57 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Jun 01 11:12:27 2010 +0200"
      },
      "message": "drbd: improve network latency, TCP_QUICKACK\n\nOn Thu, Apr 29, 2010 at 04:00:50PM -0400, Eduard.Guzovsky@stratus.com\n wrote on drbd-dev@lists.linbit.com\n Subject: [Drbd-dev] DRBD small synchronous writes performance improvements\n\n\u003e 1. TCP_QUICKACK option is set incorrectly. The goal was force TCP to\n\u003e send and ACK as a  \"one time\" event.  Instead the code permanently sets\n\u003e connection in the QUICKACK mode.\n\nHe is right, we actually want to use an even val with TCP_QUICKACK.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "2c8d196759054b632788633b20e39167df36041d",
      "tree": "d4e5016e6d796b748f43ff7fca21045c6c890a5b",
      "parents": [
        "b7c335713ea130d707c22d7f7c57a8eca75ded7e"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 25 14:32:03 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Jun 01 11:12:26 2010 +0200"
      },
      "message": "drbd: Revert \"drbd: Create new current UUID as late as possible\"\n\nThe late-UUID writing is delayed until the next release.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "ee9a3607fb03e804ddf624544105f4e34260c380",
      "tree": "ce41b6e0fa10982a306f6c142a92dbf3c9961284",
      "parents": [
        "b492e95be0ae672922f4734acf3f5d35c30be948",
        "d515e86e639890b33a09390d062b0831664f04a2"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 21 21:27:26 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 21 21:27:26 2010 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into for-2.6.35\n\nConflicts:\n\tfs/ext3/fsync.c\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "4e23a59ed1c5f12e14f7899855f8379b3d42e578",
      "tree": "29317f39d5f2b482940df3c0159410fdfa553631",
      "parents": [
        "23ce422748def9652fdc019f740cd7900fa2fe3b"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu May 20 14:45:07 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 21 21:12:01 2010 +0200"
      },
      "message": "drbd: Do not free p_uuid early, this is done in the exit code of the receiver\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "23ce422748def9652fdc019f740cd7900fa2fe3b",
      "tree": "d3a4a74ad648d2b242ed0a41402fd817cac66bb6",
      "parents": [
        "fc8ce1941d668c70e57a07f13f5a63e73e5dbff3"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu May 20 13:35:31 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 21 21:12:01 2010 +0200"
      },
      "message": "drbd: Null pointer deref fix to the large \"multi bio rewrite\"\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "fc8ce1941d668c70e57a07f13f5a63e73e5dbff3",
      "tree": "ac7fddba37671fb74b414a2ff9532ac0d424ca72",
      "parents": [
        "4604d6366859f781ad16c07a6c65b16fc96e26c5"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu May 20 10:04:17 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 21 21:12:00 2010 +0200"
      },
      "message": "drbd: Fix: Do not detach, if a bio with a barrier fails\n\nIntroduced a few days ago:\n  commit 45bb912bd5ea4d2b3a270a93cbdf767a0e2df6f5\n  Author: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n  Date:   Fri May 14 17:10:48 2010 +0200\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "4604d6366859f781ad16c07a6c65b16fc96e26c5",
      "tree": "85cf6c3c004c6ab7015d247c69eda699df2dfa2a",
      "parents": [
        "31a31dccdd308d5ec7f9a1197a7875a246a348dc"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed May 19 17:37:02 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 21 21:12:00 2010 +0200"
      },
      "message": "drbd: Ensure to not trigger late-new-UUID creation multiple times\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "31a31dccdd308d5ec7f9a1197a7875a246a348dc",
      "tree": "88e6f8030ac768476433599d1276c0875862fb4f",
      "parents": [
        "df96e96f76571c30d903829a7b2ab2b421028790"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed May 19 16:28:28 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 21 21:12:00 2010 +0200"
      },
      "message": "drbd: Do not Oops when C_STANDALONE when uuid gets generated\n\nGot introduces with\n\ncommit 0c3f34516e8c5a1a0ba3585a7777d32bbbdf4ecb\nAuthor: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nDate:   Mon May 17 16:10:43 2010 +0200\n\n    drbd: Create new current UUID as late as possible\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2db4e42eaceabec42f738f3895300632cd375e67",
      "tree": "b0ea75fc16a8a6d20ef9ba218eefaa3afc865887",
      "parents": [
        "0c3f34516e8c5a1a0ba3585a7777d32bbbdf4ecb"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Thu May 13 22:02:21 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 18 02:04:10 2010 +0200"
      },
      "message": "drivers/block/drbd: Use kzalloc\n\nUse kzalloc rather than the combination of kmalloc and memset.\n\nThe semantic patch that makes this change is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@@\nexpression x,size,flags;\nstatement S;\n@@\n\n-x \u003d kmalloc(size,flags);\n+x \u003d kzalloc(size,flags);\n if (x \u003d\u003d NULL) S\n-memset(x, 0, size);\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "0c3f34516e8c5a1a0ba3585a7777d32bbbdf4ecb",
      "tree": "bb61a6235de8a6a87ebc4d4f39630d17e3c9a3de",
      "parents": [
        "9a25a04c8079725c1b1ab756694a8e0757844b40"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon May 17 16:10:43 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 18 02:03:49 2010 +0200"
      },
      "message": "drbd: Create new current UUID as late as possible\n\nThe choice was to either delay creation of the new UUID until\nIO got thawed or to delay it until the first IO request.\n\nBoth are correct, the later is more friendly to users of\ndual-primary setups, that actually only write on one side.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "9a25a04c8079725c1b1ab756694a8e0757844b40",
      "tree": "ed8fbbbbd7cb4db7d77531bcd2c046f5bd0170c1",
      "parents": [
        "a1c88d0d7aa2ef427f78834c9a3b0a673a19dca6"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon May 10 16:42:23 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 18 02:03:32 2010 +0200"
      },
      "message": "drbd: If we detect late that IO got frozen, retry after we thawed.\n\nIf we detect late (\u003d after grabing mdev-\u003ereq_lock) that IO got frozen, we\nreturn 1 to generic_make_request(), which simply will retry to make a\nrequest for that bio.\n\nIn the subsequent call of generic_make_request() into drbd_make_request_26()\nwe sleep in inc_ap_bio().\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "a1c88d0d7aa2ef427f78834c9a3b0a673a19dca6",
      "tree": "be62930616401a30e3d4784a109c001323d4470a",
      "parents": [
        "bb3d000cb99aa0924b78c1ae5f5943484527868a"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Fri May 14 19:16:41 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 18 02:03:05 2010 +0200"
      },
      "message": "drbd: always use_bmbv, ignore setting\n\nNow that the peer may handle multi-bio EEs,\nwe can ignore the peer\u0027s limit,\nand concentrate on the limits of the local IO stack.\n\nThis is safe accross drbd protocol versions,\nas our queue_max_sectors() will be adjusted accordingly.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "bb3d000cb99aa0924b78c1ae5f5943484527868a",
      "tree": "276a13a6f1484ae255725d0faab55ff071b68a98",
      "parents": [
        "45bb912bd5ea4d2b3a270a93cbdf767a0e2df6f5"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Fri May 14 19:08:55 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 18 02:02:36 2010 +0200"
      },
      "message": "drbd: allow resync requests to be larger than max_segment_size\n\nthis should allow for better background resync performance.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "45bb912bd5ea4d2b3a270a93cbdf767a0e2df6f5",
      "tree": "d95d27ea8e945fcda3427c50a5bc062c804c6eff",
      "parents": [
        "708d740ed8242b84eefc63df144313a7308c7de5"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Fri May 14 17:10:48 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 18 02:01:23 2010 +0200"
      },
      "message": "drbd: Allow drbd_epoch_entries to use multiple bios.\nThis should allow for better performance if the lower level IO stack\nof the peers differs in limits exposed either via the queue,\nor via some merge_bvec_fn.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "708d740ed8242b84eefc63df144313a7308c7de5",
      "tree": "6128220244460b945e09b8da4136f66fad08360f",
      "parents": [
        "162f3ec7f026784ff2e216f19147d67e2f8ccd56"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Mon May 03 10:38:57 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 18 01:28:35 2010 +0200"
      },
      "message": "drbd: reduce sizeof struct drbd_epoch_entry by 8 byte by aligning members\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "162f3ec7f026784ff2e216f19147d67e2f8ccd56",
      "tree": "ef211a8348dc4862da7ce21c315aed2e37e8de7b",
      "parents": [
        "a8cdfd8d3bf0b6d2bbe792f5e74f54ccc6bc1d4f"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu May 06 15:19:30 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 18 01:28:08 2010 +0200"
      },
      "message": "drbd: Fixes to the new delay_probes code\n\n* Only send delay_probes with protocol 93 or newer\n* drbd_send_delay_probes() is called only from worker context,\n  no atomic_t needed for delay_seq\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "a8cdfd8d3bf0b6d2bbe792f5e74f54ccc6bc1d4f",
      "tree": "6301877820e111e09c3ff4fe9ab7aece59dd71c7",
      "parents": [
        "eedf386ae9d9e80a5669107e960090951e62f3a3"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed May 05 20:53:33 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 18 01:26:51 2010 +0200"
      },
      "message": "drbd: A fixes to the new resync speed code\n\n* Mention P_DELAY_PROBE in the packet naming array\n* Do not corrupt the mdev-\u003edata.work list in case the timer goes\n  off before delay_probe_work got handled by the worker\n* Do not mod_timer() twice for a single delay_probe pair\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "eedf386ae9d9e80a5669107e960090951e62f3a3",
      "tree": "1f1d6739b6b6009c12f7a68dfe1d347fdba85868",
      "parents": [
        "cdd67a74603d0453ddffc24c572aed2ddd1795b8"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 04 16:31:03 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 18 01:26:27 2010 +0200"
      },
      "message": "drbd: Proc bits of new resync speed stuff\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "cdd67a74603d0453ddffc24c572aed2ddd1795b8",
      "tree": "d2a478bf8b225540044895ccf5b3b1575cc8bbd4",
      "parents": [
        "bd26bfc5b4253425d17aa49648ae1f3e976041c4"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 04 16:57:18 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 18 01:25:47 2010 +0200"
      },
      "message": "drbd: Control the actual resync rate based on the queuing delay of data packets\n\nIn a setup with a high bandwidth and high latency network, eventually\ninvolving deep queues in routers, it is beneficial to only fill those\nqueues up to an limited extend with resync data.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "bd26bfc5b4253425d17aa49648ae1f3e976041c4",
      "tree": "f4e052f417333ad045772f2aff52c56e8401ce60",
      "parents": [
        "67c7ddd055c794f0d8e9466ca2d6b5cc0b73d4df"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 04 12:33:58 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 18 01:25:28 2010 +0200"
      },
      "message": "drbd: Actually send delay probes\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "67c7ddd055c794f0d8e9466ca2d6b5cc0b73d4df",
      "tree": "c68ceb828b3677a7d68eb7065790e8d957d973c1",
      "parents": [
        "7237bc430f49de1145d761c4b39f2ebae58842d5"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 04 11:12:00 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 18 01:25:00 2010 +0200"
      },
      "message": "drbd: Four new configuration settings for resync speed control\n\nTo reasonably control resync speed over drbd-proxy connections,\ndrbd has to measure the current delay of packets transmitted over\nthe (possibly congested) data socket vs the meta-data socket.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "7237bc430f49de1145d761c4b39f2ebae58842d5",
      "tree": "281dd6163cf75db400f2eb076fcbafaee5d0f193",
      "parents": [
        "0ced55a3bed25b0e30dcb3c7dce9634ce3c60cf2"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon May 03 15:10:47 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 18 01:22:46 2010 +0200"
      },
      "message": "drbd: Sending of delay_probes\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "0ced55a3bed25b0e30dcb3c7dce9634ce3c60cf2",
      "tree": "7c5770c396588432619ecd2af5793a04ca7080b5",
      "parents": [
        "5223671bb0315d83f9ad7becbbb9e703aa735bbe"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri Apr 30 15:26:20 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 18 01:22:11 2010 +0200"
      },
      "message": "drbd: Receiving of delay_probes\n\nDelay_probes are new packets in the DRBD protocol, which allow\nDRBD to know the current delay packets have on the data socket.\n(relative to the meta data socket)\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "5223671bb0315d83f9ad7becbbb9e703aa735bbe",
      "tree": "abd92e52a9a4b65a4c927e81bfd05896faa0c197",
      "parents": [
        "6b4388ac1f282515db3a651707238cad00b50e80"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed Apr 28 14:46:57 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 18 01:20:33 2010 +0200"
      },
      "message": "drbd: Fixed bitmap in case of online-grow without resync\n\nThe \"surplus\" bits of the old (smaller) bitmap must be clean\nin case of online-grow without resync.\n\nNote: Reverted 67ae8b80d4a116ab3b7094eb3723506b20c06dff as\nwell, since the lines added by this patch are redundant. The\nbits get set by the bm_set_surplus(b) call before that.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "6b4388ac1f282515db3a651707238cad00b50e80",
      "tree": "9288c637bdc8b171dbbe13aeedac7179fc9b4fcf",
      "parents": [
        "087c24925cf4209be1a91f8ede9241e17e9734c7"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon Apr 26 14:11:45 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 18 01:19:51 2010 +0200"
      },
      "message": "drbd: Added transmission faults to the fault injection code\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "087c24925cf4209be1a91f8ede9241e17e9734c7",
      "tree": "adb2f50d3dddf1b2d55859c0582e4f3216d9b091",
      "parents": [
        "6495d2c6d04f4c45411fdb1b40527c24015f39d6"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri Mar 26 13:49:56 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 18 01:18:22 2010 +0200"
      },
      "message": "drbd: bugfix: Make resize work, if remote\u0027s size was limiting and increased in the meantime\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "6495d2c6d04f4c45411fdb1b40527c24015f39d6",
      "tree": "cb7262a4b4750bb0fba045f492ffedbf8eef6701",
      "parents": [
        "b4ee79dac3bddc468e21cae0deb00b80ec4ac051"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed Mar 24 16:07:04 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 18 01:17:47 2010 +0200"
      },
      "message": "drbd: Implemented the --assume-clean option for drbdsetup resize\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "b4ee79dac3bddc468e21cae0deb00b80ec4ac051",
      "tree": "cbba8a249e20f2b0d03a5f7c91eedd02f293bf42",
      "parents": [
        "fd76438c2421324fa2fb9303e760ec5332ff0b58"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Apr 01 09:57:40 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 18 01:17:11 2010 +0200"
      },
      "message": "drbd: Added some missing statics\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "fd76438c2421324fa2fb9303e760ec5332ff0b58",
      "tree": "98968e899931e1df65df41505a4095874912763b",
      "parents": [
        "e89b591c3aba0af87f5248b15f56ce7a4f439c16"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Apr 01 09:57:40 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 18 01:16:20 2010 +0200"
      },
      "message": "drbd: Make sure to resync all of the new storage upon online resize\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "e89b591c3aba0af87f5248b15f56ce7a4f439c16",
      "tree": "311b6977d986e9549ee9193b4471fc937007c3f5",
      "parents": [
        "02d9a94bbb0d4e0fec8db6735bdc4ccfaac8f0ce"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed Mar 24 17:11:33 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 18 01:15:44 2010 +0200"
      },
      "message": "drbd: Implemented flags for the resize packet\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "02d9a94bbb0d4e0fec8db6735bdc4ccfaac8f0ce",
      "tree": "f8a2c63b8b84e0aef6d7e8fc920b20c5bb14c1c4",
      "parents": [
        "d845030f21859dd11bcecc7e1b8575fb845eb425"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed Mar 24 16:23:03 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 18 01:14:43 2010 +0200"
      },
      "message": "drbd: Implemented the set_new_bits parameter for drbd_bm_resize()\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "d845030f21859dd11bcecc7e1b8575fb845eb425",
      "tree": "4b1a5bcf9389bf0e7eb31aa762b2a37ba6070cf4",
      "parents": [
        "3a11a4878939e0e3c355bf3f52ef642a4cb6ba84"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed Mar 24 15:51:26 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 18 01:14:04 2010 +0200"
      },
      "message": "drbd: made determin_dev_size\u0027s parameter an flag enum\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "3a11a4878939e0e3c355bf3f52ef642a4cb6ba84",
      "tree": "43fb6bddbdc968e7d9e2657b8dca585c1c6d5788",
      "parents": [
        "979f5c7f1f6c8a532b943defb790d43b999934eb"
      ],
      "author": {
        "name": "Adam Gandelman",
        "email": "adam.gandelman@linbit.com",
        "time": "Thu Apr 08 16:48:23 2010 -0700"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 18 01:13:33 2010 +0200"
      },
      "message": "drbd: New handler: initial-split-brain\n\nSome wish to be notified of all instances of split brain, not just those that\ngo unresolved.  The initial-split-brain handler is called to notify someone\nupon  detection of all split brain conditions even if auto-recovery policies\nare configured.\n\nSigned-off-by: Adam Gandelman \u003cadam.gandelman@linbit.com\u003e\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "979f5c7f1f6c8a532b943defb790d43b999934eb",
      "tree": "64799998f0e104595281c32101218452736296fa",
      "parents": [
        "6666032ade5a758aa05380ab92f416ab8ef25005"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Tue Apr 06 14:15:06 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 18 01:10:31 2010 +0200"
      },
      "message": "drbd: fail_requests_early: remove incorrect and unnecessary optimization\n\nThe condition does not fit the commend (I may well be Primary,\neven if I lost the disk earlier and now the connection).\n\nAnd this is catched below anyways, where it also gets logged.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "6666032ade5a758aa05380ab92f416ab8ef25005",
      "tree": "be2ef8e83cfd52afb31fee9574baebf5b6d3866c",
      "parents": [
        "c3fe30b0e7cd67e0207097f5f39ce9626644879e"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Tue Apr 06 12:15:04 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 18 01:09:57 2010 +0200"
      },
      "message": "drbd: check for corrupt or malicous sector addresses when receiving data\n\nEven if it should never happen if the peer does behave, we need to\ndouble check, and not even attempt access beyond end of device.\nIt usually would be caught by lower layers, resulting in \"IO error\",\nbut may also end up in the internal meta data area.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "c3fe30b0e7cd67e0207097f5f39ce9626644879e",
      "tree": "d2c8fbc9b6dec42f0dc0e902eade9b22e921bb17",
      "parents": [
        "8d4ce82b3ccd755c8ba401469ced5286b1e02284"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Apr 01 09:57:40 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 18 01:09:13 2010 +0200"
      },
      "message": "drbd: cleanup: This code path to trigger a resync is no longer needed\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "8d4ce82b3ccd755c8ba401469ced5286b1e02284",
      "tree": "9cd1b789104e4570294893856b49d3fb150379b5",
      "parents": [
        "c3470cde57ea34d9b4bd34891ec040e46b9fb3bf"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Thu Apr 01 16:59:32 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 18 01:08:18 2010 +0200"
      },
      "message": "drbd: don\u0027t start a resync without access to up-to-date Data\n\nIn case both nodes are \"inconsistent\", invalidate would\nhave started a resync anyways, without a chance to ever\nsucceed, just filling the logs with warning messages.\n\nSimply disallow that state change,\nre-using the SS_NO_UP_TO_DATE_DISK return value.\n\nThis also changes the corresponding error string to\n\"Need access to UpToDate Data\" -- I found the\n\"Refusing to be Primary without at least one UpToDate disk\"\nanswer misleading in some situations anyways.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "c3470cde57ea34d9b4bd34891ec040e46b9fb3bf",
      "tree": "b1aa11a591b7cd1cbaf3fa9abb21ec7c8050267a",
      "parents": [
        "8d1894ebe441093cfd967affcbc56b764960575e"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Thu Apr 01 16:57:19 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 18 01:07:38 2010 +0200"
      },
      "message": "drbd: fix potential protocol error\n\nDon\u0027t forget to drain the digest in case we cannot satisfy a\nchecksum based resync or online-verify request.\n\nIt would additionally cause a protocoll error,\ndropping the connection.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "8d1894ebe441093cfd967affcbc56b764960575e",
      "tree": "9dc8e3ea79f683502b712c8dea92cb67077576fa",
      "parents": [
        "e0f83012dc510b0be92ee2d59227a573a36777b8"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Thu Apr 01 16:55:18 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 18 01:06:59 2010 +0200"
      },
      "message": "drbd: remove bogus ASSERT\n\nblock_id may be ID_SYNCER,\nas well as checksum based resync request magic, or online verify magic.\n\nLet\u0027s just drop that ASSERT.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "e0f83012dc510b0be92ee2d59227a573a36777b8",
      "tree": "891cfe0ba0503f51db260ed189f3f760b85b274d",
      "parents": [
        "e4f925e12ea5daaa9baf2dd5af9c4951721dae95"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Thu Apr 01 15:13:19 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 18 01:06:07 2010 +0200"
      },
      "message": "drbd: fix regression: attach while connected failed\n\ncommit e4f925e12ea5daaa9baf2dd5af9c4951721dae95\nAuthor: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nDate:   Wed Mar 17 14:18:41 2010 +0100\n\n    drbd: Do not upgrade state to Outdated if already Inconsistent\n\nprevented the necessary state transition for attaching while connected\n(Diskless -\u003e Consistent respectively Outdated).\nThis is the fix for the fix.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "e4f925e12ea5daaa9baf2dd5af9c4951721dae95",
      "tree": "1a4022d30e051a58ef68734f11f9db62f9078fad",
      "parents": [
        "8c484ee4910b36c9ac273ad1150261c6ebfc1ef7"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed Mar 17 14:18:41 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 18 01:01:05 2010 +0200"
      },
      "message": "drbd: Do not upgrade state to Outdated if already Inconsistent [Bugz 277]\n\nThere was a race condition:\n  In a situation with a SyncSource+Primary and a SyncTarget+Secondary node,\n  and a resync dependency to some other device. After both nodes decided\n  to do the resync, the other device finishes its resync process.\n  At that time SyncSource already sent the P_SYNC_UUID packet, and\n  already updated its peer disk state to Inconsistent.\n  The SyncTarget node waits for the P_SYNC_UUID and sends a state packet\n  to report the resync dependency change. That packet still carries\n  a disk state of Outdated.\n\nImpact:\n  If application writes come in, during that time on the Primary node,\n  those do not get replicated, and the out-of-sync counter gets increased.\n  \u003d\u003e The completion of resync is not detected on the primary node.\n  \u003d\u003e stalled.\n  Those blocks get resync\u0027ed with the next resync, since the are get\n  marked as out-of-sync in the bitmap.\n\nIn order to fix this, we filter out that wrong state change in the\nsanitize_state() function.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "8c484ee4910b36c9ac273ad1150261c6ebfc1ef7",
      "tree": "d55a77ac40da505e199437d81a5f7344ad7c824b",
      "parents": [
        "5547e8aac6f71505d621a612de2fca0dd988b439"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Thu Mar 11 16:47:58 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 18 00:59:00 2010 +0200"
      },
      "message": "drbd: use proc_create_data with explicit NULL argument\n\nTo document that we know about deprecation of proc_create,\neven though we are not affected, as we don\u0027t use the -\u003edata member,\nopen code proc_create_data(..., NULL);\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "5c3c7e64bbcb60db39d0d55c8fab39ef41d41c30",
      "tree": "91e5c767a24eb468ef210474784a5902a0d253a3",
      "parents": [
        "3c2023dd8ed31e2ecfbb2d5aa20e8884d4b339e2"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Sat Apr 10 02:10:09 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon May 03 22:40:16 2010 +0200"
      },
      "message": "drbd: don\u0027t expose failed local READ to upper layers\n\nfix regression introduced in 8.3.3:\n commit a9b17323f2875f5d9b132c2b476a750bf44b10c7\n Author: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n Date:   Wed Aug 12 15:18:33 2009 +0200\n\n     out-of-spinlock completion of master bio\n\n : (bio_rw(bio) \u003d\u003d READA)\n    ? read_completed_with_error\n    : read_ahead_completed_with_error;\n\nis obviously not what was intended.\n\nNo one noticed because of\n * page-cache at work,\n * local RAIDs\n\nImpact:\nFailed local READs are not retried remotely,\nbut errored to upper layers, causing filesystems\nto remount read-only, or worse.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "7407cf355fdf5500430be966dbbde84a27293bad",
      "tree": "922861288ff38558ed721a79653f52b17b13bb95",
      "parents": [
        "6a47dc1418682c83d603b491df1d048f73aa973e",
        "79dba2eaa771c3173957eccfd288e0e0d12e4d3f"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 29 09:36:24 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 29 09:36:24 2010 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into for-2.6.35\n\nConflicts:\n\tfs/block_dev.c\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "fbd9b09a177a481eda256447c881f014f29034fe",
      "tree": "ef7e213045382f82a1e3e3cf134d196a1045dd7a",
      "parents": [
        "6b4517a7913a09d3259bb1d21c9cb300f12294bd"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Wed Apr 28 17:55:06 2010 +0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 28 19:47:36 2010 +0200"
      },
      "message": "blkdev: generalize flags for blkdev_issue_fn functions\n\nThe patch just convert all blkdev_issue_xxx function to common\nset of flags. Wait/allocation semantics preserved.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7e2455c1a123ceadbb35150a610d61e8443fd340",
      "tree": "a2efcd21b21ce8af1ae571d13ab42d65265efb98",
      "parents": [
        "7ac314c82f552eefebaa91c9fffe8c0d435641b9"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Apr 22 14:50:23 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 22 14:50:23 2010 +0200"
      },
      "message": "drbd: Terminate a connection early if sending the protocol fails\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7ac314c82f552eefebaa91c9fffe8c0d435641b9",
      "tree": "08143785dae9710e291af83aae8278576f103786",
      "parents": [
        "6de9400250f95f82da432c28b9b43823f4154c58"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Thu Apr 22 14:27:23 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 22 14:27:23 2010 +0200"
      },
      "message": "drbd: fix memory leak\n\nWe leak memory if \"--dry-run\" is not supported by the peer.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2f4084209adc77f9a1c9f38db3019a509e167882",
      "tree": "775657114c885505ecc46605e29ea1470e986f76",
      "parents": [
        "2f10ffcfb28beb35137d9e86992c771b4a6c5f2a",
        "3440c49f5c5ecb4f29b0544aa87da71888404f8f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 09 11:50:29 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 09 11:50:29 2010 -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: (34 commits)\n  cfq-iosched: Fix the incorrect timeslice accounting with forced_dispatch\n  loop: Update mtime when writing using aops\n  block: expose the statistics in blkio.time and blkio.sectors for the root cgroup\n  backing-dev: Handle class_create() failure\n  Block: Fix block/elevator.c elevator_get() off-by-one error\n  drbd: lc_element_by_index() never returns NULL\n  cciss: unlock on error path\n  cfq-iosched: Do not merge queues of BE and IDLE classes\n  cfq-iosched: Add additional blktrace log messages in CFQ for easier debugging\n  i2o: Remove the dangerous kobj_to_i2o_device macro\n  block: remove 16 bytes of padding from struct request on 64bits\n  cfq-iosched: fix a kbuild regression\n  block: make CONFIG_BLK_CGROUP visible\n  Remove GENHD_FL_DRIVERFS\n  block: Export max number of segments and max segment size in sysfs\n  block: Finalize conversion of block limits functions\n  block: Fix overrun in lcm() and move it to lib\n  vfs: improve writeback_inodes_wb()\n  paride: fix off-by-one test\n  drbd: fix al-to-on-disk-bitmap for 4k logical_block_size\n  ...\n"
    },
    {
      "commit": "b2b163dd47024e445410b72d0c5df6d819c14dfd",
      "tree": "587717f64b0c52c7b56de1f44a89843d9a2f08d9",
      "parents": [
        "61917bdaaf6bea4b885525cf63f65272914f6be2"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri Apr 02 08:40:33 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Apr 02 08:40:33 2010 +0200"
      },
      "message": "drbd: lc_element_by_index() never returns NULL\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "b4b7a4ef097f288f724420b473dbf92a89c0ab7e",
      "tree": "23ad8101e3e77c32a8d1e1b95a9c1cd7f7a475b7",
      "parents": [
        "e9ce335df51ff782035a15c261a3c0c9892a1767",
        "a3d3203e4bb40f253b1541e310dc0f9305be7c84"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Mar 19 08:05:10 2010 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Mar 19 08:05:10 2010 +0100"
      },
      "message": "Merge branch \u0027master\u0027 into for-linus\n\nConflicts:\n\tblock/Kconfig\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "39ad2bbb5900d1bc9ae8f06cebb4cb2529d9e42e",
      "tree": "ffde415c880275bed82a30f172d9c94ef929398f",
      "parents": [
        "1f55243024087b56aef0b1e6d9c0ea89c76f0a6b"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Thu Mar 04 15:52:30 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 11 16:33:46 2010 +0100"
      },
      "message": "drbd: fix al-to-on-disk-bitmap for 4k logical_block_size\n\nUp to now, applying the in-core activity-log to the on-disk\nbitmap did not care for logical_block_size.\n\nOn logical_block_size !\u003d 512 byte, this very likely results\nin misalligned block access and spurious \"io errors\".\n\nWe now simply always submit aligned whole 4k blocks, fixing this\nfor logical block sizes of 512, 1024, 2048 and 4096.\n\nFor even larger logical block sizes, this won\u0027t work.\nBut I\u0027m not aware of devices with such properties being available.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "1f55243024087b56aef0b1e6d9c0ea89c76f0a6b",
      "tree": "eaecc8f10929ede52eefa9d51f7fd19d8a72fad1",
      "parents": [
        "d10a33c68b8526d95ef6ee72b371c392d48df4d3"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 04 15:51:01 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 11 16:32:14 2010 +0100"
      },
      "message": "drbd: Renamed overwrite_peer to primary_force\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "d10a33c68b8526d95ef6ee72b371c392d48df4d3",
      "tree": "6de16649b490195c231df3741293f6849006e6e7",
      "parents": [
        "d0c3f60f3611ceac9b1e4fdffd1497337568e7cb"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 04 15:11:39 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 11 16:12:35 2010 +0100"
      },
      "message": "drbd: Forcing primary should also work for Consistent disks [Bugz 266]\n\nUp to now this only worked for Outdated and Inconsistent disks, that\nit did not worked for Consistent disks was an inconsistent omission.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "d0c3f60f3611ceac9b1e4fdffd1497337568e7cb",
      "tree": "eb351f4e76a99dfed3545c52f1facf65e605be79",
      "parents": [
        "309d1608cce32903d67d47e7545e232c400b6aa0"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue Mar 02 15:06:45 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 11 16:10:40 2010 +0100"
      },
      "message": "drbd: Make sure we do not send state updates during an empty resync [Bugz 271]\n\nThis is a race condition that existed for ages.\nThe previous commit reduces the window, this one closes it.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "309d1608cce32903d67d47e7545e232c400b6aa0",
      "tree": "98a201235ac87dce320cef6401e782d34bfb29b0",
      "parents": [
        "c42b6cf4b38c9726d4b46c48d04197c9ca74d773"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue Mar 02 15:03:44 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 11 16:09:03 2010 +0100"
      },
      "message": "drbd: Reduce the time an empty resync takes usually\n\nThis mitigates changes introduced with commit:\nhttp://git.drbd.org/?p\u003ddrbd-8.3.git;a\u003dcommit;h\u003d4b6803a3276652da3737\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "c42b6cf4b38c9726d4b46c48d04197c9ca74d773",
      "tree": "12f1f314a38e582903cad09eb102ad6336030449",
      "parents": [
        "4589d7f829951c1713ef5a4ad1a9bb563da329b5"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Wed Mar 03 02:44:11 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 11 16:04:05 2010 +0100"
      },
      "message": "drbd: add missing drbd command names to avoid \u003cNULL\u003e in error messages\n\ncmdname() should map command number to its human readable\nrepresentation. The string table was incomplete, though.\n\nMaybe rather do a switch() block, and let the compiler help us\nto keep it complete?\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "4589d7f829951c1713ef5a4ad1a9bb563da329b5",
      "tree": "96a1ef3be7118a0a0dbf6b18f609486323f062c5",
      "parents": [
        "676396d545350a70d922605ec23c2ed26124334a"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Wed Mar 03 02:25:33 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 11 16:02:45 2010 +0100"
      },
      "message": "drbd_disconnect: grab meta.socket mutex as well\n\nFixes a race and potential kernel panic if e.g. the worker was just\nabout to send a few P_RS_IS_IN_SYNC via the meta socket for checksum\nbased resync, while the receiver destroys the sockets in\ndrbd_disconnect.\n\nTo make sure no-one is using the meta socket,\nit is not enough to stop the asender...\nGrab the meta socket mutex before destroying it.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "676396d545350a70d922605ec23c2ed26124334a",
      "tree": "c8e97f6955bdb4719761593f2575de88210a5a15",
      "parents": [
        "580b9767dbdf2c049c4d05330c70ea786ef01016"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Wed Mar 03 02:08:22 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 11 16:01:38 2010 +0100"
      },
      "message": "fix unit of rs_same_csums accounting\n\nDepending on resync request size,\nwe need to account for more than one bit.\n\nImpact: cosmetic\n\nIf SyncTarget reported correctly 100% equal checksums,\nthe SyncSource usually reported 12% equal checksums instead,\nbecause it only counted requests, we typically do 32k resync requests,\nand the bitmap granularity is still 4k.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "580b9767dbdf2c049c4d05330c70ea786ef01016",
      "tree": "87cbe63a632378b8be93e521203aba2ba536a3d1",
      "parents": [
        "4aa83b7bf122106669346eef40632289f540653f"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Fri Feb 26 23:15:23 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 11 16:00:09 2010 +0100"
      },
      "message": "drbd: fix broken state change after split-brain attach while connected\n\nSituation:\nwe have diverging data sets, i.e. we had a split brain somewhen,\nbut currently are connected, one node diskless.\n\nThen we try to attach that disk, figure it is consistent,\nbut has a diverging data set, we refuse to attach.\n\nThis led to strange state changes:\n22:18:35 bb drbd1: peer( Unknown -\u003e Primary ) conn( WFReportParams -\u003e Connected) pdsk( DUnknown -\u003e UpToDate )\n22:19:30 bb drbd1: disk( Diskless -\u003e Attaching )\n22:19:30 bb drbd1: disk( Attaching -\u003e Negotiating )\n22:19:30 bb drbd1: drbd_sync_handshake:\n22:19:30 bb drbd1: self 97BF25798B9D5222:F33D1F62ADE698DD:4269796F9D027C83:AC45D8B5C3C1BF93 bits:19449 flags:0\n22:19:30 bb drbd1: peer 280DFB6E125465D3:F33D1F62ADE698DC:4269796F9D027C82:AC45D8B5C3C1BF93 bits:2575806 flags:0\n22:19:30 bb drbd1: uuid_compare()\u003d100 by rule 90\n22:19:30 bb drbd1: Split-Brain detected, dropping connection!\n22:19:30 bb drbd1: disk( Negotiating -\u003e Diskless )\n\nwhile the other side says:\n22:19:30 aa drbd1: Split-Brain detected, dropping connection!\n22:19:30 aa drbd1: Disk attach process on the peer node was aborted.\n22:19:30 aa drbd1: conn( Connected -\u003e TOO_LARGE ) pdsk( Diskless -\u003e Consistent )\n\nThis should be fixed now.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "4aa83b7bf122106669346eef40632289f540653f",
      "tree": "677f5e630c645c41eade94d90623e93672e08564",
      "parents": [
        "cf14c2e987ba0a09a7b09be2ecd55af0bc9c17b4"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Fri Feb 26 16:53:24 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 11 15:58:25 2010 +0100"
      },
      "message": "drbd: fix NULL pointer dereference on 4k hard sect size\n\nwe still don\u0027t support 4k \u0027physical\u0027 sectors \u0027natively\u0027,\nbut use a read-modify-write workaround.\nAnd we even tried to use the extra page before we allocated it :(\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "cf14c2e987ba0a09a7b09be2ecd55af0bc9c17b4",
      "tree": "3e403ecc535e3860ab5835343fd428c77cad9f5c",
      "parents": [
        "8a03ae2a5baed3df09e5643615bdd853fc142a09"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue Feb 02 21:03:50 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 11 15:51:23 2010 +0100"
      },
      "message": "drbd: --dry-run option for drbdsetup net ( drbdadm -- --dry-run connect \u003cres\u003e )\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "8a03ae2a5baed3df09e5643615bdd853fc142a09",
      "tree": "f0e46a5479cc3f2e668207df20ce2cef73976dd3",
      "parents": [
        "881245dcff29df992d8431392a41fb81549129f9"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jan 29 20:39:07 2010 +0000"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 11 13:30:16 2010 +0100"
      },
      "message": "block: drbd: Convert semaphore to mutex\n\nThe bm_change semaphore is semantically a mutex. Convert it to a real\nmutex.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\n"
    },
    {
      "commit": "318ae2edc3b29216abd8a2510f3f80b764f06858",
      "tree": "ce595adde342f57f379d277b25e4dd206988a052",
      "parents": [
        "25cf84cf377c0aae5dbcf937ea89bc7893db5176",
        "3e58974027b04e84f68b964ef368a6cd758e2f84"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "message": "Merge branch \u0027for-next\u0027 into for-linus\n\nConflicts:\n\tDocumentation/filesystems/proc.txt\n\tarch/arm/mach-u300/include/mach/debug-macro.S\n\tdrivers/net/qlge/qlge_ethtool.c\n\tdrivers/net/qlge/qlge_main.c\n\tdrivers/net/typhoon.c\n"
    },
    {
      "commit": "8a78362c4eefc1deddbefe2c7f38aabbc2429d6b",
      "tree": "c095d95af1aec0f9cee5975b1dcdc6bc1d17d401",
      "parents": [
        "086fa5ff0854c676ec333760f4c0154b3b242616"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri Feb 26 00:20:39 2010 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 26 13:58:08 2010 +0100"
      },
      "message": "block: Consolidate phys_segment and hw_segment limits\n\nExcept for SCSI no device drivers distinguish between physical and\nhardware segment limits.  Consolidate the two into a single segment\nlimit.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "086fa5ff0854c676ec333760f4c0154b3b242616",
      "tree": "ee63fb3c7c7d964bd799355b7cde18ba95f91f07",
      "parents": [
        "eb28d31bc97e6374d81f404da309401ffaed467b"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri Feb 26 00:20:38 2010 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 26 13:58:08 2010 +0100"
      },
      "message": "block: Rename blk_queue_max_sectors to blk_queue_max_hw_sectors\n\nThe block layer calling convention is blk_queue_\u003climit name\u003e.\nblk_queue_max_sectors predates this practice, leading to some confusion.\nRename the function to appropriately reflect that its intended use is to\nset max_hw_sectors.\n\nAlso introduce a temporary wrapper for backwards compability.  This can\nbe removed after the merge window is closed.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3ad2f3fbb961429d2aa627465ae4829758bc7e07",
      "tree": "f365c513e8f5b477a61336a600ff54f32b7ad6e1",
      "parents": [
        "1537a3638cbf741d3826c1002026cce487a6bee0"
      ],
      "author": {
        "name": "Daniel Mack",
        "email": "daniel@caiaq.de",
        "time": "Wed Feb 03 08:01:28 2010 +0800"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Feb 09 11:13:56 2010 +0100"
      },
      "message": "tree-wide: Assorted spelling fixes\n\nIn particular, several occurances of funny versions of \u0027success\u0027,\n\u0027unknown\u0027, \u0027therefore\u0027, \u0027acknowledge\u0027, \u0027argument\u0027, \u0027achieve\u0027, \u0027address\u0027,\n\u0027beginning\u0027, \u0027desirable\u0027, \u0027separate\u0027 and \u0027necessary\u0027 are fixed.\n\nSigned-off-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Junio C Hamano \u003cgitster@pobox.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "d3db7b485ad7c467a61279d6a8ef51a3c83352df",
      "tree": "ca9dbee2840d5781dd02c1c84194b38e7d94006f",
      "parents": [
        "98ec286e016a028678cc943b1a1f87668ad447c8"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Sat Jan 23 15:45:22 2010 +0300"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon Jan 25 18:01:41 2010 +0100"
      },
      "message": "drbd: null dereference bug\n\nepoch is always NULL here.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\n"
    },
    {
      "commit": "98ec286e016a028678cc943b1a1f87668ad447c8",
      "tree": "7e64c5f4537d7b16f1e786ae23dde5a8be1c5bae",
      "parents": [
        "f06f135d8642e2f6812cfcb4ea8e4e9122d4d58c"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Thu Jan 21 19:33:14 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri Jan 22 11:34:54 2010 +0100"
      },
      "message": "drbd: fix max_segment_size initialization\n\nblk_queue_make_request() internally calls blk_set_default_limits(),\nso calling blk_queue_max_segment_size() before is useless.\nErgo: move the call to blk_queue_max_segment_size() down a few lines.\n\nImpact:\nIf, after a fresh modprobe, you first connect a Diskless drbd,\nthen attach, this could result in a DRBD Protocol Error at first.\nThe next connection attempt would then succeeded.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "a393db6f10ef2d4f28257234cfc730e744dfb6a4",
      "tree": "3f947cce6b5ef9ea2a1959123b36da6f7de23870",
      "parents": [
        "b10d96cb9c9a2a0029d28910ca517f4003051b04"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue Dec 22 13:35:52 2009 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue Jan 12 10:02:46 2010 +0100"
      },
      "message": "drbd: Allow online resizing of DRBD devices while peer not reachable (needs to be explicitly forced)\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "b10d96cb9c9a2a0029d28910ca517f4003051b04",
      "tree": "da3e2a402e6ae0fb5a035af60ae78f4f3d6ede61",
      "parents": [
        "36bfc7e2100ab3f9891bb779c36d5e685f253509"
      ],
      "author": {
        "name": "Johannes Thoma",
        "email": "johannes.thoma@linbit.com",
        "time": "Thu Jan 07 16:02:50 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue Jan 12 09:38:27 2010 +0100"
      },
      "message": "drbd: Don\u0027t go into StandAlone mode when authentification failes because of network error\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "36bfc7e2100ab3f9891bb779c36d5e685f253509",
      "tree": "12cb5e3a6675c3af81789cce05dca0cb0de28344",
      "parents": [
        "2d1ee87d8763b38668f6f11bb53abb689a49a43e"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Tue Jan 05 19:33:54 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Jan 07 14:07:11 2010 +0100"
      },
      "message": "drbd: check on CONFIG_LBDAF, not LBD\n\nIt is called LBDAF since 2.6.31.\n\nimpact:\nwithout this change, on 32bit,\nDRBD would wrongly claim to only support 2TiB devices.\n\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\n"
    },
    {
      "commit": "2d1ee87d8763b38668f6f11bb53abb689a49a43e",
      "tree": "3a87ab8e3339a64d5f4c13938e1234f0b07a19dd",
      "parents": [
        "c1152949bbdfddf8fc857a883294461d757d5332"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Sun Dec 27 22:27:11 2009 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon Jan 04 11:51:41 2010 +0100"
      },
      "message": "drivers/block/drbd: Correct NULL test\n\nTest the just-allocated value for NULL rather than some other value.\n\nThe semantic patch that makes this change is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@@\nexpression x,y;\nstatement S;\n@@\n\nx \u003d \\(kmalloc\\|kcalloc\\|kzalloc\\)(...);\n(\nif ((x) \u003d\u003d NULL) S\n|\nif (\n-   y\n+   x\n       \u003d\u003d NULL)\n S\n)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\n"
    },
    {
      "commit": "367a8d738542b091228613751af0958ce25bbeb3",
      "tree": "f2e754e172dc09344c2f9ffac5282ddfdcc854c5",
      "parents": [
        "89f01d5cd3c7ef01239bf15283181a0091c78657"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue Dec 29 15:56:01 2009 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Dec 31 09:33:09 2009 +0100"
      },
      "message": "drbd: Silenced an assert that could triggered after changing write ordering method\n\nImmediately after changing the write ordering method, the epoch can already\nbe finished at this point.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "89f01d5cd3c7ef01239bf15283181a0091c78657",
      "tree": "41fda78ec95e25fe88e2ddb2844a65d28fb48737",
      "parents": [
        "0a6dbf2bc4ea3781c530f895e2d92fd3c4a735a2"
      ],
      "author": {
        "name": "Johannes Thoma",
        "email": "johannes.thoma@linbit.com",
        "time": "Tue Dec 29 16:38:04 2009 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue Dec 29 17:38:28 2009 +0100"
      },
      "message": "drbd: Kconfig fix\n\n!CONFIG_OPT evalues to FALSE if CONFIG_OPT\u003d\u0027m\u0027. Do not display the\n\"DRBD disabled...\" message if the dependencies are compiled as module.\n\nSigned-off-by: Johannes Thoma \u003cjohannes.thoma@linbit.com\u003e\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\n"
    },
    {
      "commit": "0a6dbf2bc4ea3781c530f895e2d92fd3c4a735a2",
      "tree": "0918d5f492e456f20dfb668a3d885cabc1257920",
      "parents": [
        "0798219f6154baa6a8efe767bfffb4a724e4b1e1"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon Dec 28 16:58:38 2009 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue Dec 29 17:36:40 2009 +0100"
      },
      "message": "drbd: Fix for a race between IO and a detach operation [Bugz 262]\n\nIn D_DISKLESS we do not hand out any new references to ldev (local_cnt)\ntherefore waiting until all previously handed out refereces got returned\nis sufficient before actually freeing mdev-\u003eldev.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "0798219f6154baa6a8efe767bfffb4a724e4b1e1",
      "tree": "a712fd9e52c597458c888430544125ab3c975fe7",
      "parents": [
        "e79e95db5cffb2e01170d510686489c40937faa1"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon Dec 28 16:58:38 2009 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue Dec 29 17:35:27 2009 +0100"
      },
      "message": "drbd: Use drbd_crypto_is_hash() instead of an open coded check\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "820cd61a28503598f4262c544082ccb33678b9fc",
      "tree": "1203aa47961cd50307140695a99d17ec2b9aaf9c",
      "parents": [
        "7b886f4f7a051dc88165684cbcddd98e22bd0203"
      ],
      "author": {
        "name": "Huang Weiyi",
        "email": "weiyi.huang@gmail.com",
        "time": "Sun Dec 13 22:05:03 2009 +0800"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon Dec 21 13:41:16 2009 +0100"
      },
      "message": "drbd: remove unused #include \u003clinux/version.h\u003e\n\nRemove unused #include \u003clinux/version.h\u003e(\u0027s) in\n  drivers/block/drbd/drbd_main.c\n  drivers/block/drbd/drbd_receiver.c\n  drivers/block/drbd/drbd_worker.c\n\nSigned-off-by: Huang Weiyi \u003cweiyi.huang@gmail.com\u003e\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\n"
    },
    {
      "commit": "7b886f4f7a051dc88165684cbcddd98e22bd0203",
      "tree": "95b2cbe611c49400f37e854a66cc7554dfaa34a6",
      "parents": [
        "49829ea74f790d3be2e803a617e714f5b9a5ed50"
      ],
      "author": {
        "name": "Huang Weiyi",
        "email": "weiyi.huang@gmail.com",
        "time": "Wed Dec 09 21:09:12 2009 +0800"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon Dec 21 13:41:11 2009 +0100"
      },
      "message": "drbd: remove duplicated #include\n\nRemove duplicated #include(\u0027s) in\n  drivers/block/drbd/drbd_worker.c\n\nSigned-off-by: Huang Weiyi \u003cweiyi.huang@gmail.com\u003e\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\n"
    },
    {
      "commit": "49829ea74f790d3be2e803a617e714f5b9a5ed50",
      "tree": "2704a2c65988e426a07aec9e5f5f83337fb2072b",
      "parents": [
        "7d4e9d0962cd0f6a30b01e256756dd10606dab30"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Tue Dec 15 22:55:44 2009 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon Dec 21 13:37:29 2009 +0100"
      },
      "message": "drbd: Fix test of unsigned in _drbd_fault_random()\n\nrsp-\u003ecount is unsigned so the test does not work.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\n"
    },
    {
      "commit": "7d4e9d0962cd0f6a30b01e256756dd10606dab30",
      "tree": "e684151b986aab62c45edf171fe138740ac9a7f0",
      "parents": [
        "66ae291978177d5c012015f12b8fbc76dc7d0965"
      ],
      "author": {
        "name": "Emese Revfy",
        "email": "re.emese@gmail.com",
        "time": "Mon Dec 14 00:59:30 2009 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon Dec 21 12:45:15 2009 +0100"
      },
      "message": "drbd: Constify struct file_operations\n\nSigned-off-by: Emese Revfy \u003cre.emese@gmail.com\u003e\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\n"
    },
    {
      "commit": "8b43aebdaa4fa3348dafd6f2f5f526bd3e8b84ac",
      "tree": "c1a9660b9dde40b29ca3ad21b268b0a20ea75f08",
      "parents": [
        "573412b29586e58477adb70e022193a337763319"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Sun Dec 06 23:50:24 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Dec 09 15:11:03 2009 +0100"
      },
      "message": "drbd: Following the hmac change to SHASH (see linux commit 8bd1209cfff)\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "753c89130c52b96e66e5ceff19bd1336de9a5ce8",
      "tree": "96b7c4ea20f0bcfe5772a9b2a1618d15a259f8d0",
      "parents": [
        "0d99519efef15fd0cf84a849492c7b1deee1e4b7"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed Nov 18 15:52:51 2009 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Dec 03 17:40:51 2009 +0100"
      },
      "message": "drbd_req.c: use part_[inc|dec]_in_flight()\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "d8c2a36b774defd4e230353d91f0f609c128bd78",
      "tree": "f9e3f64b763945db7bc0a007c03b28833177e0b4",
      "parents": [
        "0b33a9164aca6332bf4a117af5528dea9675d782"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed Nov 18 15:52:51 2009 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue Nov 24 18:13:28 2009 +0100"
      },
      "message": "Fixed a regression in resync decission code drbd_uuid_compare() [Bugz 260]\n\nSince 8.3.3 we fail to do the resync when a partial resynch is not\npossible, but a full synch is necessary.\n\nThis regression was introduced with 7101539930c0a89146959e7a39c09ad9c3516434\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    }
  ],
  "next": "0b33a9164aca6332bf4a117af5528dea9675d782"
}
