)]}'
{
  "log": [
    {
      "commit": "d10b4ea32bf2b77a3d56a20992cd549978df7b38",
      "tree": "2232db150857cd6d5d7f33967d8955475051e599",
      "parents": [
        "615e087fbd7483fafa28c8a1a4d1656251e0604d"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed Nov 30 23:25:36 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:58:10 2012 +0100"
      },
      "message": "drbd: Get rid of \"ASSERTION FAILED: tconn-\u003ecurrent_epoch-\u003elist not empty\"\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "615e087fbd7483fafa28c8a1a4d1656251e0604d",
      "tree": "9bbaf911afe6437644a4e8800797cb440649ae8d",
      "parents": [
        "03d63e1d1e705fdba4c0f6a3a119cc42504bb9ed"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Thu Nov 17 14:32:12 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:58:10 2012 +0100"
      },
      "message": "drbd: add missing rcu locks around recently introduced idr_for_each\n\nRecent commit\n drbd: Move write_ordering from mdev to tconn\nintroduced a new idr_for_each loop over all volumes,\nbut did not take necessary rcu locks or krefs.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "03d63e1d1e705fdba4c0f6a3a119cc42504bb9ed",
      "tree": "a356b5adeb4a96aeafa8d5a46f550737da2b151f",
      "parents": [
        "975b297947c85a1cb687d7561b6fc05d48160026"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Thu Nov 17 11:32:01 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:58:09 2012 +0100"
      },
      "message": "drbd: Remove leftover prototype\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "975b297947c85a1cb687d7561b6fc05d48160026",
      "tree": "e72ba4a70a1d532c5eff3764f4481485313721a6",
      "parents": [
        "77fede5137574813e415a4cf23038b6688ba2470"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 17 10:11:47 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:58:09 2012 +0100"
      },
      "message": "drbd: fix potential spinlock deadlock\n\ndrbd_try_clear_on_disk_bm() has a sanity check for the number of blocks\nleft to be resynced (rs_left) in the current resync extent.\nIf it detects a mismatch, it complains, and forces a disconnect using\ndrbd_force_state(mdev, NS(conn, C_DISCONNECTING));\n\nUnfortunately, this may be called while holding the req_lock,\nand drbd_force_state() want\u0027s to aquire that lock itself. Deadlock.\n\nDon\u0027t force a disconnect, but fix up rs_left by recounting and\nreassigning the number of dirty blocks in that extent.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "77fede5137574813e415a4cf23038b6688ba2470",
      "tree": "c870c10cae5e3434ba4f5a97c6ec17205de1a6d9",
      "parents": [
        "1e9dd2912e3423ebf3c6ab7d824b13205310bfc9"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 10 21:19:11 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:58:08 2012 +0100"
      },
      "message": "drbd: Fix the WO\u003ddrain implementation for multiple volumes\n\nWait until IO is drained in all volumes.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "1e9dd2912e3423ebf3c6ab7d824b13205310bfc9",
      "tree": "14a8d6a08dc7b8d690c5f8fec6939b7afbcd4429",
      "parents": [
        "12038a3a71ce6fabbcc2956cc8697fcbf729be57"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 10 15:14:53 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:58:08 2012 +0100"
      },
      "message": "drbd: Switch drbd_may_finish_epoch() from mdev to tconn\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "12038a3a71ce6fabbcc2956cc8697fcbf729be57",
      "tree": "4852bf1216081f37e1cf0708660dcde92a458ec3",
      "parents": [
        "1d2783d532207531ba8e3bfb016a4512dec97666"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed Nov 09 19:18:00 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:58:08 2012 +0100"
      },
      "message": "drbd: Move list of epochs from mdev to tconn\n\nThis is necessary since the transfer_log on the sending is also\nper tconn.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "1d2783d532207531ba8e3bfb016a4512dec97666",
      "tree": "47f67473a93ab905687e4333aa4c1d91060fe721",
      "parents": [
        "4b0007c0e8def19266c767f0410ce81eb39f55c7"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 10 14:56:07 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:58:07 2012 +0100"
      },
      "message": "drbd: Prepare epochs per connection\n\nAn epoch object needs a pointer to the mdev it was received for.\nThis is necessary to be able to send the barrier ack packet for\nthe same volume as the original barrier packet was assigned to.\n\nThis prepares the next step, in which the (receiver side)\nepoch list is moved from the device (mdev) to the connection (tconn)\nobject.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "4b0007c0e8def19266c767f0410ce81eb39f55c7",
      "tree": "a73a97a97d36ad66af6210a61162f5a04138b702",
      "parents": [
        "6936fcb49ab369ad13267e292ec0e3490db91c4a"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed Nov 09 20:12:34 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:58:07 2012 +0100"
      },
      "message": "drbd: Move write_ordering from mdev to tconn\n\nThis is necessary in order to prepare the move of the (receiver side)\nepoch list from the device (mdev) to the connection (tconn) objects.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "6936fcb49ab369ad13267e292ec0e3490db91c4a",
      "tree": "f0748cdbf5cdb4e8cede5dc78315cca042b1fb08",
      "parents": [
        "36baf6117b1deee37b9467224a0a14f1bb0863e2"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 10 18:45:36 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:58:06 2012 +0100"
      },
      "message": "drbd: Move the CREATE_BARRIER flag from connection to device\n\nThat is necessary since the whole transfer log is per connection(tconn)\nand not per device(mdev).\n\nThis bug caused list corruption on the worker list. When a barrier is queued\nfor sending in the context of one device, another device did not see the\nCREATE_BARRIER bit, and queued the same object again -\u003e list corruption.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "36baf6117b1deee37b9467224a0a14f1bb0863e2",
      "tree": "fabd01b4cf20c2bfa9ba56892e3add38ed181ac8",
      "parents": [
        "43de7c852b12170a17e397862210d2fc7eb7eaf2"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 10 14:27:34 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:58:06 2012 +0100"
      },
      "message": "drbd: Fixed an obvious copy-n-paste mistake\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "43de7c852b12170a17e397862210d2fc7eb7eaf2",
      "tree": "64c834e347d610b0c1d42f7d04673683e99d9971",
      "parents": [
        "0cfac5dd904ec8b376beb27f6ad265b12d71bf9e"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 10 13:16:13 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:58:06 2012 +0100"
      },
      "message": "drbd: Fixes from the drbd-8.3 branch\n\n* drbd-8.3:\n  drbd: O_SYNC gives EIO on ramdisks for some kernels (eg. RHEL6).\n  drbd: send intermediate state change results to the peer\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "0cfac5dd904ec8b376beb27f6ad265b12d71bf9e",
      "tree": "91f100e963ae038e7bc410eb0b4ba7beb61eae72",
      "parents": [
        "376694a0543f5da194d9c6e102cfcd023ffac949"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 10 12:12:52 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:58:05 2012 +0100"
      },
      "message": "drbd: Fixes from the drbd-8.3 branch\n\n* drbd-8.3:\n  drbd: fix spurious meta data IO \"error\"\n  drbd: Fixed a race condition between detach and start of resync\n  drbd: fix harmless race to not trigger an ASSERT\n  drbd: Derive sync-UUIDs only from the bitmap-uuid if it is non-zero\n  drbd: Fixed current UUID generation (regression introduced recently, after 8.3.11)\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "376694a0543f5da194d9c6e102cfcd023ffac949",
      "tree": "6c470c16923152a64c76539b9889a4f8ee2a4a2f",
      "parents": [
        "9bcd2521827bb7c418a83a77474c449d6496d55c"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon Nov 07 10:54:28 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:58:05 2012 +0100"
      },
      "message": "drbd: Silenced compiler warnings\n\nSince version 4.6.1 gcc warns about variables that get\na value assigned, but which are never read later on.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "9bcd2521827bb7c418a83a77474c449d6496d55c",
      "tree": "aae5995f4d1d6b72d0a7ccd30d31fab01be29a45",
      "parents": [
        "22d81140aea85f9ac388fa12768dc502ef00eaae"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Sep 29 13:00:14 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:58:04 2012 +0100"
      },
      "message": "drbd: fix \"stalled\" empty resync\n\nWith sync-after dependencies, given \"lucky\" timing of pause/unpause\nevents, and the end of an empty (0 bits set) resync was sometimes not\ndetected on the SyncTarget, leading to a \"stalled\" SyncSource state.\n\nFixed this by expecting not only \"Inconsistent -\u003e UpToDate\" but also\n\"Consistent -\u003e UpToDate\" transitions for the peer disk state\nto end a resync.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "22d81140aea85f9ac388fa12768dc502ef00eaae",
      "tree": "baf5997bf31c726f648a27c9d817e16ce2ed9e50",
      "parents": [
        "08b165ba11ebdb6b037a6071ae599f1d8c93807e"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Mon Sep 26 09:58:04 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:58:04 2012 +0100"
      },
      "message": "drbd: fix bitmap writeout after aborted resync\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "08b165ba11ebdb6b037a6071ae599f1d8c93807e",
      "tree": "2c780dfb14e1324340fb1f771b414ab7f6cbe657",
      "parents": [
        "935be260c1e92a1d9c251973d866b68bf2c20f12"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon Sep 05 16:22:33 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:58:04 2012 +0100"
      },
      "message": "drbd: Consider the discard-my-data flag for all volumes [bugz 359]\n\n...not only for the first volume\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "935be260c1e92a1d9c251973d866b68bf2c20f12",
      "tree": "056f1b88d1a6fde2223acb7b27bfa627fe39a056",
      "parents": [
        "25e409321a950b8888830c6ddb7a9774ec38f608"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Fri Aug 19 13:47:31 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:58:03 2012 +0100"
      },
      "message": "drbd: Improve error reporting in drbd_md_sync_page_io()\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "25e409321a950b8888830c6ddb7a9774ec38f608",
      "tree": "9b1982137bbf5303efd358e891d732e692bd29ad",
      "parents": [
        "a209b4aec31d4b672b7a70f5de272ebf6ce40e1b"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Fri Aug 19 10:39:00 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:58:03 2012 +0100"
      },
      "message": "drbd: fix connect failure with all default net-options\n\nIf no net-options are configured (all on their default),\nno DRBD_NLA_NET_CONF will be passed to the kernel.\nThe kernel must not require its presence,\nthere is no required option in there.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "a209b4aec31d4b672b7a70f5de272ebf6ce40e1b",
      "tree": "76d1b913a30423968b14101bb873db092e6aac59",
      "parents": [
        "c4e7afdc01b9496f81653959dac8093030c8f286"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Wed Aug 17 12:43:25 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:58:02 2012 +0100"
      },
      "message": "drbd: Update some outdated comments to match the code\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "c4e7afdc01b9496f81653959dac8093030c8f286",
      "tree": "549e050814f28b5bc9dbe62c772035392bbda867",
      "parents": [
        "4276dea70cc8e3ed22c567b0b5e683602769ce03"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue Aug 16 11:59:43 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:58:02 2012 +0100"
      },
      "message": "drbd: Remove unused code\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "4276dea70cc8e3ed22c567b0b5e683602769ce03",
      "tree": "d0230a97af684d20fcdfc7d3ff6064935f455029",
      "parents": [
        "85d735138a6ee343fe689e308163cf48bb54d162"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Jun 16 17:58:02 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:58:02 2012 +0100"
      },
      "message": "drbd: Remove dead code\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "85d735138a6ee343fe689e308163cf48bb54d162",
      "tree": "b8344e3145192af22f0e18bc663fc663654e7972",
      "parents": [
        "b80c043327ea4faac62a329a1d35f16c47a5128e"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon Jul 18 15:45:15 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:58:01 2012 +0100"
      },
      "message": "drbd: Cleanup all epoch objects upon connection loss\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "b80c043327ea4faac62a329a1d35f16c47a5128e",
      "tree": "85f31a3d84c95f5c04f29d35afea5c39ee2255ec",
      "parents": [
        "f132f554cea3ad1333ff8ea1ac23e1085abd639e"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon Jul 18 11:09:17 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:58:01 2012 +0100"
      },
      "message": "drbd: The minor_count module parameter is only a hint nowadays\n\n* The max of minor_count is 255\n* In drbdadm count the number of minors, instead of finding\n  the highest minor number\n* No longer us the magic in the init script\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "f132f554cea3ad1333ff8ea1ac23e1085abd639e",
      "tree": "a3c50aad5bf2363b56a77917032f0b23755c6b7c",
      "parents": [
        "97ddb68790891ed568ab8212189f5173dd600ea4"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon Jul 18 10:44:24 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:58:00 2012 +0100"
      },
      "message": "drbd: Do not display bogus log lines for pdsk in case pdsk \u003c D_UNKNOWN\n\nThis was a regression recently introduced with commit\n7848ddb752c09b6dfd1ddfabb06b69b08aa8f6b9\n\"drbd: Correctly handle resources without volumes\"\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "97ddb68790891ed568ab8212189f5173dd600ea4",
      "tree": "172603f7fb027f172e2eff33e93eb858bc000b1f",
      "parents": [
        "f497609e4c50c6162b51359d560f2454b184e0ec"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Fri Jul 15 23:52:44 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:58:00 2012 +0100"
      },
      "message": "drbd: detach must not try to abort non-local requests\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "f497609e4c50c6162b51359d560f2454b184e0ec",
      "tree": "4b63a30f836223b184d6ff23524473e14997ec04",
      "parents": [
        "823bd832a60dcf4bf9c162112f34f2f1783d0eaa"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Sun Jul 17 23:06:12 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:58:00 2012 +0100"
      },
      "message": "drbd: Get rid of MR_{READ,WRITE}_SHIFT\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "823bd832a60dcf4bf9c162112f34f2f1783d0eaa",
      "tree": "6bc4707730dda8f597079008fdcc29209fcd0bd8",
      "parents": [
        "7d4c782cbda4af0d7dc39cb8e7d50a927781aa1f"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 15:04:36 2012 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:59 2012 +0100"
      },
      "message": "drbd: Bugfix for the connection behavior\n\nIf we get into the C_BROKEN_PIPE cstate once, the state engine set the\nthi-\u003et_state of the receiver thread to restarting.  But with the while loop\nin drbdd_init() a new connection gets established. After the call into\ndrbdd() returns immediately since the thi-\u003et_state is not RUNNING.  The\nrestart of drbd_init() then resets thi-\u003et_state to RUNNING.\n\nI.e. after entering C_BROKEN_PIPE once, the next successful established\nconnection gets wasted.\n\nThe two parts of the fix:\n  * Do not cause the thread to restart if we detect the issue\n    with the sockets while we are in C_WF_CONNECTION.\n\n  * Make sure that all actions that would have set us to C_BROKEN_PIPE\n    happen before the state change to C_WF_REPORT_PARAMS.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "7d4c782cbda4af0d7dc39cb8e7d50a927781aa1f",
      "tree": "6876345c8a624293cf269471f87b8621449e6e9b",
      "parents": [
        "71fc7eedb37585ab2f1bec2e615202908bd4f4b7"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Sun Jul 17 23:06:12 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:59 2012 +0100"
      },
      "message": "drbd: Fix the data-integrity-alg setting\n\nThe last data-integrity-alg fix made data integrity checking work when the\nalgorithm was changed for an established connection, but the common case of\nconfiguring the algorithm before connecting was still broken.  Fix that.\n\nSigned-off-by: Andreas Gruenbacher \u003cagruen@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": "71fc7eedb37585ab2f1bec2e615202908bd4f4b7",
      "tree": "59fba526f8c01569245af7d8e8bec585c8cfe0a5",
      "parents": [
        "1b7ab15b11716d075b3dca34cf41e8d7aba3cba2"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Sun Jul 17 23:06:12 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:58 2012 +0100"
      },
      "message": "drbd: Turn tl_apply() into tl_abort_disk_io()\n\nThere is no need to overly generalize this function; it only makes the code\nharder to understand.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "1b7ab15b11716d075b3dca34cf41e8d7aba3cba2",
      "tree": "3aaa51da655ed15215d5ad1367cf4f0140bc4d89",
      "parents": [
        "9b743da96c8640dbfc864cb5d79c51547c3fadb4"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri Jul 15 17:19:02 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:58 2012 +0100"
      },
      "message": "drbd: Fixed w_restart_disk_io() to handle non active AL-extents\n\nSince we now apply the AL in user space onto the bitmap, the AL\nis not active for the requests we want to reply.\n\nFor that a al_write_transaction() that might be called from\nworker context became necessary.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "9b743da96c8640dbfc864cb5d79c51547c3fadb4",
      "tree": "7579bddef2474d4504eb525fcc1f45b2c5abaa45",
      "parents": [
        "3b03ad5929e3ba5e1c3db7a70d426f883be061c2"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri Jul 15 18:15:45 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:58 2012 +0100"
      },
      "message": "drbd: Missing assignment of mdev before drbd_queue_work()\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "3b03ad5929e3ba5e1c3db7a70d426f883be061c2",
      "tree": "eae2735de1eeaa875f6cf957d6c4961cbfb7a2dd",
      "parents": [
        "3fb4746d8d3f9c3e48f7fc65ed24bc54bb8032aa"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri Jul 15 13:53:06 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:57 2012 +0100"
      },
      "message": "drbd: Do not mod_timer() with a past time\n\nIn case we can not find out why the request takes too long\n(happens e.g. when IO got suspended on DRBD level). rearm\nthe timer with a reasonable value.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "3fb4746d8d3f9c3e48f7fc65ed24bc54bb8032aa",
      "tree": "33b36532b3ae99ea01b31f4a845d554049150791",
      "parents": [
        "97af09d51ee1ca4a8687b4c3492a1739384d5a42"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri Jul 15 18:44:26 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:57 2012 +0100"
      },
      "message": "drbd: Consider that the no-data-condition could be in connected state\n\n...when the peer has inconsistent data. In that case we failed to\nclear the susp_nod flag. When the local disk was attached again\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "97af09d51ee1ca4a8687b4c3492a1739384d5a42",
      "tree": "d1f9d0bb191251f76f8157f8781defb1e5ee46c1",
      "parents": [
        "accdbcc5f94ec631aa49eb8efd14b3ddd0626191"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri Jul 15 12:14:27 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:56 2012 +0100"
      },
      "message": "drbd: Dropped wrong clause to generate new current UUIDs\n\nLooks like a remainder from long ago.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "accdbcc5f94ec631aa49eb8efd14b3ddd0626191",
      "tree": "35d9e03ac244c906a29566a0a943187b3af55cbc",
      "parents": [
        "d505d9bef2c86e80e6fba070a2fe459debb8b719"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Fri Jul 15 17:41:09 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:56 2012 +0100"
      },
      "message": "drbd: receive_protocol(): We cannot change our own data-integrity-alg setting here\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "d505d9bef2c86e80e6fba070a2fe459debb8b719",
      "tree": "d68b463687930516829070f67635cff084dbbbb8",
      "parents": [
        "fbc12f4514279264b5ecd5ae24f94be08e108dcd"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Fri Jul 15 17:19:18 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:56 2012 +0100"
      },
      "message": "drbd: Be consistent in reporting incompatibilities in P_PROTOCOL settings\n\nRefer to the settings by the names which drbdsetup and drbd.conf are using.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "fbc12f4514279264b5ecd5ae24f94be08e108dcd",
      "tree": "1d8777aa0d32cd0e49cc11f4e0285bd7c145ed36",
      "parents": [
        "b792c35cfb336b456e9e2455082ff12d4a76b98f"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Fri Jul 15 17:04:26 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:55 2012 +0100"
      },
      "message": "drbd: receive_protocol(): Make the program flow less confusing\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "b792c35cfb336b456e9e2455082ff12d4a76b98f",
      "tree": "d7d2e4b31de8cd939f37381f183890fa65a3d1f4",
      "parents": [
        "5af172ed9ef2c6b11e0d27c06647f14f6f8115b9"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Fri Jul 15 16:48:49 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:55 2012 +0100"
      },
      "message": "drbd: receive_protocol(): Give variables more easily searchable names\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "5af172ed9ef2c6b11e0d27c06647f14f6f8115b9",
      "tree": "0e2baa4ddf2b3cec98bbc110e6a2e32df57ed621",
      "parents": [
        "f2257a56eeb4afb3daea894baf93077af0579586"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Fri Jul 15 09:43:23 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:55 2012 +0100"
      },
      "message": "drbd: Print memory address in hex instead of decimal in error message\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "f2257a56eeb4afb3daea894baf93077af0579586",
      "tree": "4339b818e745700e9bb47344fbb37779e4cf73fb",
      "parents": [
        "0317d9ecbc9bac43642b4aa70e3e1106f4fd26a1"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Thu Jul 14 16:00:40 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:54 2012 +0100"
      },
      "message": "drbd: Allow to create devices with a minor number \u003e minor_count\n\nThe minor_count module/kernel parameter serves to scale the size of drbd\u0027s\ninternal memory pool, but it is no longer a limit for the number of minors or\nthe minor number.  (Minor numbers can be arbitrarily high within the allowed\nlimit of 2^20.)\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "0317d9ecbc9bac43642b4aa70e3e1106f4fd26a1",
      "tree": "bdda76814bc45b15e8df433eb461c8f58ead5943",
      "parents": [
        "32bdb64038ba3127245912dae2cc8a450bb1d705"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Wed Jul 13 13:40:30 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:54 2012 +0100"
      },
      "message": "drbd: Fix the maximum accepted minor device number\n\nThe maximum minor device number allowed by the kernel is (1\u003c\u003c20 - 1).  Reject\ndevice numbers higher than that to earlier catch possible errors.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "32bdb64038ba3127245912dae2cc8a450bb1d705",
      "tree": "60e158135ca88c9b5cf5c1a9ed058288816ce13d",
      "parents": [
        "65d94927e036cd8e8e1406fa7fc387b4ae730159"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Mon May 09 18:26:20 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:53 2012 +0100"
      },
      "message": "drbd: Define scale factors in a single place\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "65d94927e036cd8e8e1406fa7fc387b4ae730159",
      "tree": "f94163859ca2af88cc7d24dc9356afcb9f7d867e",
      "parents": [
        "367d675da8fa0041e0f336ecf940992837cc4c50"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed Jul 13 10:24:51 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:53 2012 +0100"
      },
      "message": "drbd: Changed some defaults\n\n* Enabled the resync controller, with a fill target of 50Kib. That gives\n  reasonable resync speeds without tuning. A much better default than\n  the 250KiB/s fixed.\n\n* Enable bitmap compression. It is save to use, and most people have\n  more CPU power than network bandwidth.\n\n* ko-count of 7: Abort a connection if the peer fails to process a\n  write request within 42 seconds.\n\n* al-extents of 1237: ~5 GiB seems to be a much more sane default\n  these days.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "367d675da8fa0041e0f336ecf940992837cc4c50",
      "tree": "7084013a470df12bae9fada5e8b7f752414bddf7",
      "parents": [
        "e0e1665381a519fd1f588948b1c48b5e609e336d"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Mon Jul 11 23:49:55 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:53 2012 +0100"
      },
      "message": "drbd: report net config even for resources without a single volume\n\nCurrently it is legal (though unusual) to create and connect a resource,\nbefore adding in all necessary volumes. We should include the network\nconfiguration details, even if we don\u0027t have a single volume (yet).\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "e0e1665381a519fd1f588948b1c48b5e609e336d",
      "tree": "71a90ae0b21ad39066536fb558672288add717cc",
      "parents": [
        "a67e1d9e8cca5e05f03a6f45c3220c6fe3adfa95"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon Jul 11 17:04:23 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:52 2012 +0100"
      },
      "message": "drbd: Correctly handle resources without volumes\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "a67e1d9e8cca5e05f03a6f45c3220c6fe3adfa95",
      "tree": "71d54bd2301bd3664ffa91a0d0f28c5ca03b4372",
      "parents": [
        "369bea63711ae0595f6ef8c3c02bbf8a17ec608a"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri Jul 08 14:47:45 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:52 2012 +0100"
      },
      "message": "drbd: Eliminated the \"notified peer\" messages\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "369bea63711ae0595f6ef8c3c02bbf8a17ec608a",
      "tree": "c6b21e90ed8035c1d018e7be70ac26bc9d27a9e2",
      "parents": [
        "d5d7ebd42250620a6da2a8f6943c024391433488"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed Jul 06 23:04:44 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:51 2012 +0100"
      },
      "message": "drbd: Fixed removal of volumes/devices from connected resources\n\nWhen removing a volume/device we need to switch the connection\nstatus of the peer back into WFReportParams.\n\n  Before this fix it was left in Connected state. That means that\n  the peer device continued to inform us about state changes, etc...\n  But we deleted that minor -\u003e protocol error.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "d5d7ebd42250620a6da2a8f6943c024391433488",
      "tree": "1025faf28644b437a845f21606a1c2db83b54a3c",
      "parents": [
        "cdfda633d235028e9b27381dedb65416409e8729"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Tue Jul 05 20:59:26 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:51 2012 +0100"
      },
      "message": "drbd: on attach, enforce clean meta data\n\nDetection of unclean shutdown has moved into user space.\n\nThe kernel code will, whenever it updates the meta data, mark it as\n\"unclean\", and will refuse to attach to such unclean meta data.\n\n\"drbdadm up\" now schedules \"drbdmeta apply-al\", which will apply\nthe activity log to the bitmap, and/or reinitialize it, if necessary,\nas well as set a \"clean\" indicator flag.\n\nThis moves a bit code out of kernel space.\nAs a side effect, it also prevents some 8.3 module from accidentally\nignoring the 8.4 style activity log, if someone should downgrade,\nwhether on purpose, or accidentally because he changed kernel versions\nwithout providing an 8.4 for the new kernel, and the new kernel comes\nwith in-tree 8.3.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "cdfda633d235028e9b27381dedb65416409e8729",
      "tree": "c2b07a9b0f1bfb2bb04dd118df15a53ff2592ade",
      "parents": [
        "2fcb8f307f6014de9e771799d9ec0f050802c0ac"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue Jul 05 15:38:59 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:50 2012 +0100"
      },
      "message": "drbd: detach from frozen backing device\n\n* drbd-8.3:\n  documentation: Documented detach\u0027s --force and disk\u0027s --disk-timeout\n  drbd: Implemented the disk-timeout option\n  drbd: Force flag for the detach operation\n  drbd: Allow new IOs while the local disk in in FAILED state\n  drbd: Bitmap IO functions can not return prematurely if the disk breaks\n  drbd: Added a kref to bm_aio_ctx\n  drbd: Hold a reference to ldev while doing meta-data IO\n  drbd: Keep a reference to the bio until the completion handler finished\n  drbd: Implemented wait_until_done_or_disk_failure()\n  drbd: Replaced md_io_mutex by an atomic: md_io_in_use\n  drbd: moved md_io into mdev\n  drbd: Immediately allow completion of IOs, that wait for IO completions on a failed disk\n  drbd: Keep a reference to barrier acked requests\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "2fcb8f307f6014de9e771799d9ec0f050802c0ac",
      "tree": "a6632c0e2dbfb987e0e4c201ff93768d0f208e66",
      "parents": [
        "9510b2411d365133ed6990d0bcb42be5876bdb66"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Sun Jul 03 11:41:08 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:50 2012 +0100"
      },
      "message": "drbd: Improve the \"unexpected packet\" error messages\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "9510b2411d365133ed6990d0bcb42be5876bdb66",
      "tree": "aad11c06048ab7958cc4d0c66d6cf5fca3aed9cd",
      "parents": [
        "2ffca4f3ee6c2d507c39689e5f569bcb0612d3ad"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri Jul 01 17:00:57 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:50 2012 +0100"
      },
      "message": "drbd: Fixed state transitions in case reading meta data failes\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "2ffca4f3ee6c2d507c39689e5f569bcb0612d3ad",
      "tree": "93ad00a897ba69a66d4a8919b92927e81ff24136",
      "parents": [
        "d942ae44537669418a7cbfd916531d30513dbca8"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Jun 30 15:43:06 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:49 2012 +0100"
      },
      "message": "drbd: Improve compatibility with drbd\u0027s older than 8.3.7\n\nRegression introduced with 8.3.11 commit:\ndrbd: Take a more conservative approach when deciding max_bio_size\n\nNever ever tell an older drbd, that we support more than 32KiB\nin a single data request (packet).\nNever believe an older drbd, that is supports more than 32KiB\nin a single data request (packet)\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "d942ae44537669418a7cbfd916531d30513dbca8",
      "tree": "b5828318e7ffe375b3d709c634c3430292d9f376",
      "parents": [
        "4dbdae3ec9c75f570e2f128fd25b49ff1fa2a4de"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 31 13:07:24 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:49 2012 +0100"
      },
      "message": "drbd: Fixes from the 8.3 development branch\n\n * commit \u0027ae57a0a\u0027:\n   drbd: Only print sanitize state\u0027s warnings, if the state change happens\n   drbd: we should write meta data updates with FLUSH FUA\n   drbd: fix limit define, we support 1 PiByte now\n   drbd: fix log message argument order\n   drbd: Typo in user-visible message.\n   drbd: Make \"(rcv|snd)buf-size\" and \"ping-timeout\" available for the proxy, too.\n   drbd: Allow keywords to be used in multiple config sections.\n   drbd: fix typos in comments.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "4dbdae3ec9c75f570e2f128fd25b49ff1fa2a4de",
      "tree": "2b559aaf4c721288f62f984c9a7532ed34f41f31",
      "parents": [
        "f03c254961cce65ee2b21c4beccb6975b6f9d308"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Tue Jun 21 01:13:37 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:48 2012 +0100"
      },
      "message": "drbd: downgraded error printk to info\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "f03c254961cce65ee2b21c4beccb6975b6f9d308",
      "tree": "c6899d5e9c4ad2f7b2671922aaee93b842d8eb90",
      "parents": [
        "3b7cd457d0c8458f6a4df2854f75fd80c0338f93"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Mon Jun 20 22:21:19 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:48 2012 +0100"
      },
      "message": "drbd: allow ping-timeout of up to 30 seconds\n\nAllow up to 300 centi-seconds to be configured for the \"ping timeout\".\nThere may be setups where heavy congestion, huge buffers, and asymmetric\nbandwidth limitations may need a \"huge\" ping-timeout as work-around\nfor \"spurious connection loss\" problems.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "3b7cd457d0c8458f6a4df2854f75fd80c0338f93",
      "tree": "4a6add15574c733ae5112029a8f716acb2cbb9bf",
      "parents": [
        "6dff2902208364d058746ee794da4d960f6eec6f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Jun 15 00:59:04 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:48 2012 +0100"
      },
      "message": "DRBD: Fix comparison always false warning due to long/long long compare\n\nFix warnings of the following nature in the drbd header:\n\nIn file included from drivers/block/drbd/drbd_bitmap.c:32:\ndrivers/block/drbd/drbd_int.h: In function \u0027drbd_get_syncer_progress\u0027:\ndrivers/block/drbd/drbd_int.h:2234: warning: comparison is always false due to limited range of data\n\nwhere mdev-\u003ers_total (an unsigned long) is being compared to 1ULL \u003c\u003c 32, which\nis always false on a 32-bit machine.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "6dff2902208364d058746ee794da4d960f6eec6f",
      "tree": "61d93721a5f8c9625336473254c9bfe85c721b9b",
      "parents": [
        "d0fa7fd680a56a3fd52817fe93c1c8abe7164ef1"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Tue Jun 28 14:18:12 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:47 2012 +0100"
      },
      "message": "drbd: Rename --dry-run to --tentative\n\ndrbdadm already has a --dry-run option, so this option cannot directly be\npassed through to drbdsetup.  Rename the drbdsetup option to resolve this\nconflict.\n\nFor backward compatibility, make --dry-run an alias of --tentative.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "d0fa7fd680a56a3fd52817fe93c1c8abe7164ef1",
      "tree": "e263271b6ff7e4c8b711c2ac9655f4141cb6ebef",
      "parents": [
        "afbbfa88bc506bc13b957c3811bce299de1d31d5"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Tue Jun 21 12:58:22 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:47 2012 +0100"
      },
      "message": "drbd: Remove dead code\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "afbbfa88bc506bc13b957c3811bce299de1d31d5",
      "tree": "edb0be8cfb2ecc1fcd4c8bd93bce96f852be4b59",
      "parents": [
        "089c075d88ac9407b8d7c5c8fc4b21c0d940bd82"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Thu Jun 16 17:58:02 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:46 2012 +0100"
      },
      "message": "drbd: Allow to pass resource options to the new-resource command\n\nThis is equivalent to how the attach and connect commands work.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "089c075d88ac9407b8d7c5c8fc4b21c0d940bd82",
      "tree": "c68e1a24d7813abe883702255a37dc704f2ea8fd",
      "parents": [
        "44e52cfaa22e44a0197b44cd72c3440bc2a6e1ed"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Tue Jun 14 18:28:09 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:46 2012 +0100"
      },
      "message": "drbd: Convert the generic netlink interface to accept connection endpoints\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "44e52cfaa22e44a0197b44cd72c3440bc2a6e1ed",
      "tree": "746041db0d6903dedecea2b545d24e3267831b56",
      "parents": [
        "01b39b50d34733646fe46a582fa60d3b53f6180d"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Tue Jun 14 16:07:32 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:46 2012 +0100"
      },
      "message": "drbd: Rename DRBD_ADM_NEED_{CONN -\u003e RESOURCE}\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "01b39b50d34733646fe46a582fa60d3b53f6180d",
      "tree": "1602650bce908e1b65b656070be7473948001255",
      "parents": [
        "7c3063cc6f0e75cdf312f5f318f9a4c02e460397"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Fri Jun 10 12:57:26 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:45 2012 +0100"
      },
      "message": "drbd: Split off netlink mandatory attribute handling into separate file\n\nDuplicate this file in the kernel module and in user space; both sides need it.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "7c3063cc6f0e75cdf312f5f318f9a4c02e460397",
      "tree": "ed54e6066aed1994577e20fc6d635d856627cbab",
      "parents": [
        "789c1b626cb490acb36cf481b45040b324f60fde"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Thu Jun 09 17:52:12 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:45 2012 +0100"
      },
      "message": "drbd: Also need to check for DRBD_GENLA_F_MANDATORY flags before nla_find_nested()\n\nThis is done by introducing drbd_nla_find_nested() which handles the flag\nbefore calling nla_find_nested().\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "789c1b626cb490acb36cf481b45040b324f60fde",
      "tree": "d6e987d28dd362362205682f5b4e2337bc92a067",
      "parents": [
        "67b58bf723b083d4776cd7c9959246ef46c0d36f"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Mon Jun 06 16:16:44 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:44 2012 +0100"
      },
      "message": "drbd: Use the terminology suggested by the command names in the source code and messages\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "67b58bf723b083d4776cd7c9959246ef46c0d36f",
      "tree": "1fe119fabea180061e31531271cd4cfb3dd5fc1c",
      "parents": [
        "fc251d5c2466413fdd6851e6c3f63e9851bf9d84"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Mon Jun 06 15:36:04 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:44 2012 +0100"
      },
      "message": "drbd: spelling fix: too small\n\nIt is not \"to small\", but \"too small\".\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "fc251d5c2466413fdd6851e6c3f63e9851bf9d84",
      "tree": "29a4afaf6300ab924e068f01adac8a61f8cd2adf",
      "parents": [
        "46530e859c730984967b6e9e9cac722470096e18"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Fri Jun 03 21:13:17 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:43 2012 +0100"
      },
      "message": "drbd: cosmetic: fix accidental division instead of modulo when pretty printing\n\nFor large resync rates, seq_printf_with_thousands_grouping()\naccidentally only produced Y,000,00Y, instead of the real numbers.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "46530e859c730984967b6e9e9cac722470096e18",
      "tree": "e7f7b65f5cebd6863533279a5a5a576b21438c34",
      "parents": [
        "a67b813cfa6f7d84bc3958558be9b87b5b3ea533"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Tue May 31 13:08:53 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:43 2012 +0100"
      },
      "message": "drbd: Use DRBD_MINOR_COUNT_DEF in one more place\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "a67b813cfa6f7d84bc3958558be9b87b5b3ea533",
      "tree": "10498e4a826e96b460f5de32de2af1059ee76a7d",
      "parents": [
        "c75b9b10e7f09bbf9660dd20a675e0a8069bd529"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed May 25 11:03:04 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:43 2012 +0100"
      },
      "message": "drbd: Lower log priority for an event that is definitely not an error\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "c75b9b10e7f09bbf9660dd20a675e0a8069bd529",
      "tree": "f7f04cb42e733ee4f14feccf36d524e26e92a09c",
      "parents": [
        "1e2a2551ee8fbbac082eb4c14af1289e7aa880f0"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Tue May 24 14:18:31 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:57:40 2012 +0100"
      },
      "message": "drbd: Don\u0027t use empty nested netlink attributes\n\nBefore mainline commit ea5693cc (v2.6.29-rc1), empty nested netlink attributes\nwere not allowed.  Fix that by leaving out nested attributes if they are empty\nand by allowing the top-level attributes to be missing.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "1e2a2551ee8fbbac082eb4c14af1289e7aa880f0",
      "tree": "d056f0c661ac2c2781ba295c8d9d6be06d90275a",
      "parents": [
        "5084d71d89e1a94193378efb12ac659e4e6ada3f"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Tue May 24 14:17:08 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:56 2012 +0100"
      },
      "message": "drbd: drbd_adm_prepare(): Pass through error codes\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "5084d71d89e1a94193378efb12ac659e4e6ada3f",
      "tree": "3dcb2b69eaa77637808e7ea2adcee13b8ea9b2a8",
      "parents": [
        "5f9359201b5cf1d94fe0e0c47fcba38cfc921863"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Tue May 24 14:08:58 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:56 2012 +0100"
      },
      "message": "drbd: drbd_nla_check_mandatory(): Need to remove the DRBD_GENLA_F_MANDATORY flag first\n\nWe need to remove the flag before checking for valid types.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "5f9359201b5cf1d94fe0e0c47fcba38cfc921863",
      "tree": "3d2e41a9590bb0e77a50d4b0ea4b8ad4706f566e",
      "parents": [
        "bbbef2d5ad8203f67274196dac90754ae106a463"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Thu May 19 17:39:28 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:55 2012 +0100"
      },
      "message": "drbd: Make drbd\u0027s use of netlink attribute flags less confusing\n\nMake it more clear in the flag names which flags are internal to drbd, and\nwhich are not.\n\nThe check for mandatory attributes is the only extension visible at the netlink\nlayer.  Attributes with this flag set would look like unknown attributes to\nsome kernel versions.  The netlink layer would ignore them and also skip\nconsistency checks on the attribute type and legth.  To avoid this, we check\nfor mandatory attributes first, remove the mandatory flag, and then process the\nattributes normally.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "bbbef2d5ad8203f67274196dac90754ae106a463",
      "tree": "52cb31fac29a460734a75a278d80e715098a828b",
      "parents": [
        "509100e6012db92f4af3796436b450447c6c8268"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Wed May 18 16:48:16 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:55 2012 +0100"
      },
      "message": "drbd: Remove unused GENLA_F_MAY_IGNORE flag\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "509100e6012db92f4af3796436b450447c6c8268",
      "tree": "161f5b29974425fac4fe3e865fbea438b91c2511",
      "parents": [
        "309f0b70ab789bf85c5f5f32dbc466d42f024747"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Tue May 17 13:29:46 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:55 2012 +0100"
      },
      "message": "drbd: Output signed / unsigned netlink fields correctly\n\nNote: All input values are still treated as signed; unsigned long long values\nare still broken.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "309f0b70ab789bf85c5f5f32dbc466d42f024747",
      "tree": "ef113b598f6986f37d9bef714bea69e64641d25a",
      "parents": [
        "d659f2aaea1bd2fe9cf68b33d881470678c6ce2b"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Fri May 13 01:24:14 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:54 2012 +0100"
      },
      "message": "drbd: Use more generic constant names\n\nThese constants are useful for the same purpose in more than one place.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "d659f2aaea1bd2fe9cf68b33d881470678c6ce2b",
      "tree": "bab1455003b41a0005c29ae3d6b82b1c94803117",
      "parents": [
        "036b17eaab935541835f4cc1fcbfe62ead5faa55"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon May 16 17:38:45 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:54 2012 +0100"
      },
      "message": "drbd: Send PROTOCOL_UPDATE packets when appropriate\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "036b17eaab935541835f4cc1fcbfe62ead5faa55",
      "tree": "28dd9187177ac9bf11d3a49cc5d46b4a50e3779f",
      "parents": [
        "7aca6c754976f2813a3fcc2f5068b8fe09eb219c"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon May 16 17:38:11 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:53 2012 +0100"
      },
      "message": "drbd: Receiving part for the PROTOCOL_UPDATE packet\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "7aca6c754976f2813a3fcc2f5068b8fe09eb219c",
      "tree": "05126a224e185c86b0d47df56462a97e53ce4e5f",
      "parents": [
        "f179d76d76ce6653ba4c6a6b0c2e7c42215734bc"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 17 10:12:56 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:53 2012 +0100"
      },
      "message": "drbd: Allocation of int_dig_in and int_dig_vv was missing\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "f179d76d76ce6653ba4c6a6b0c2e7c42215734bc",
      "tree": "5bc293d13a234306b04e5c30903c31907084290d",
      "parents": [
        "46e1ce4177aac86b8e39bc7bb5763e9d040ae5cb"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon May 16 17:31:47 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:53 2012 +0100"
      },
      "message": "drbd: Made cmp_after_sb() more generic into convert_after_sb()\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "46e1ce4177aac86b8e39bc7bb5763e9d040ae5cb",
      "tree": "a5d277ef1bd84a141edd7e7ad8597ac7fda24176",
      "parents": [
        "dcb20d1a8e7d9602e52a9b673ae4d7f746d2cbb2"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon May 16 12:57:15 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:52 2012 +0100"
      },
      "message": "drbd: protect updates to integrits_tfm by tconn-\u003edata-\u003emutex\n\nSince we need to hold that mutex anyways to make sure the peer\ngets that change in the right position in the data stream,\nit makes a lot of sense to use the same mutex to ensure existence\nof the tfm.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "dcb20d1a8e7d9602e52a9b673ae4d7f746d2cbb2",
      "tree": "34e9330fab46adf21f9ddf02b8cbea4b2050dbde",
      "parents": [
        "c5482bbd9607bf38cbc952eacaa429e6ba3160a0"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon May 16 14:30:24 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:52 2012 +0100"
      },
      "message": "drbd: Refuse to change network options online when...\n\n* the peer does not speak protocol_version 100 and the\n  user wants to change one of:\n    - wire_protocol\n    - two_primaries\n    - integrity_alg\n\n* the user wants to remove the allow_two_primaries flag\n  when there are two primaries\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "c5482bbd9607bf38cbc952eacaa429e6ba3160a0",
      "tree": "c365a2c38905aa97f0cc2c05e9a2d3b837f83bb4",
      "parents": [
        "3a45abd577727d2268e190d372600f8652883453"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Wed May 11 14:44:55 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:51 2012 +0100"
      },
      "message": "drbd: Rename DISK_SIZE_SECT -\u003e DISK_SIZE\n\nWe don\u0027t have the units in constant names in other places, either.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "3a45abd577727d2268e190d372600f8652883453",
      "tree": "07e82f5571b839c2aa237ef6cb557f1acb9a4dbd",
      "parents": [
        "95f8efd08bcce65df994049a292b94e56c7ada67"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Thu May 12 12:02:54 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:51 2012 +0100"
      },
      "message": "drbd: Convert resync-after into a signed netlink field\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "95f8efd08bcce65df994049a292b94e56c7ada67",
      "tree": "a4a943aea52b65adc4ddabf736a30f66f83f6ed0",
      "parents": [
        "69ef82dea4c34e4a0541fc3f415b0fef70fe12b0"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Thu May 12 11:15:34 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:51 2012 +0100"
      },
      "message": "drbd: Fix the upper limit of resync-after\n\nThe 32-bit resync_after netlink field takes a device minor number as\nparameter, which is no longer limited to 255.  We cannot statically\nverify which device numbers are valid, so set the ummer limit to the\nhighest possible signed 32-bit integer.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "69ef82dea4c34e4a0541fc3f415b0fef70fe12b0",
      "tree": "100c36a32e871fa8cead4f98969086482699bb83",
      "parents": [
        "6394b9358e6187414b7a6de7ba2c681ee4a790ac"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Wed May 11 14:34:35 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:50 2012 +0100"
      },
      "message": "drbd: Refer to connect-int consistently throughout the code\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "6394b9358e6187414b7a6de7ba2c681ee4a790ac",
      "tree": "0750ef2de127925d86f726287b726792f8b43cb8",
      "parents": [
        "7dc1d67f7c324e5bf23883b94508112ca7a70f62"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Wed May 11 14:29:52 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:50 2012 +0100"
      },
      "message": "drbd: Refer to resync-rate consistently throughout the code\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "7dc1d67f7c324e5bf23883b94508112ca7a70f62",
      "tree": "624819e978b5bef8ef1c70ba90a3d4ca04f356e9",
      "parents": [
        "6139f60dc192e2c5478c1126d1aff7905dc0a98a"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Tue May 03 16:49:20 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:49 2012 +0100"
      },
      "message": "drbd: skip spurious wait_event in drbd_al_begin_io\n\nActivity log transaction writes are serialized on a bit lock.\nIf several CPUs race to write an AL transaction,\nthose that did not get the lock the first time\nmay continue as soon as there are no more pending transactions.\n\nThe do not need to all grab the lock in turn,\njust to realize that the AL is clean already,\nand they have nothing to do.\n\nThis also closes a potential deadlock with drbd_adm_disk_opts.\nOnce it got the AL bit lock, it knows there are no pending transactions,\nthe AL is clean, and it should be safe to wait for all element references\nto drop to zero.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "6139f60dc192e2c5478c1126d1aff7905dc0a98a",
      "tree": "4a9dd1f51d99232c406ae0cc12b6673312e95799",
      "parents": [
        "7bac3e6f7e74993475a94487effe05dc1f68bdc7"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Fri May 06 20:00:02 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:49 2012 +0100"
      },
      "message": "drbd: Rename the want_lose field/flag to discard_my_data\n\nThis is what it is called in config files and on the command line as\nwell.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "7bac3e6f7e74993475a94487effe05dc1f68bdc7",
      "tree": "9115764fe15680045051ca3ee16bcfe7b297404a",
      "parents": [
        "6f9b5f84f5fb46def198b943e59c79aea0695c5c"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Fri May 06 17:50:57 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:49 2012 +0100"
      },
      "message": "drbd: Also define the default values of boolean flags in a single place\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "6f9b5f84f5fb46def198b943e59c79aea0695c5c",
      "tree": "d5e0b026cb6df7c74d629b3a2a4864e3f5720e92",
      "parents": [
        "c141ebda031a0550d75634f7c94f7c85c2d5c9f5"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Fri May 06 01:03:32 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:48 2012 +0100"
      },
      "message": "drbd: Make broadcast events return NO_ERROR\n\nInstead of returning a ret_code outside of the range of enum\ndrbd_ret_code, use NO_ERROR to indicate success.  This way,\nret_code has the same meaning in all packets.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "c141ebda031a0550d75634f7c94f7c85c2d5c9f5",
      "tree": "dd514cc2bf29f73a00e677b963950b2f349a0042",
      "parents": [
        "ec0bddbc5574ea5903cec8f30ed57777f14d86a8"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu May 05 16:13:10 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:48 2012 +0100"
      },
      "message": "drbd: Removing drbd_cfg_rwsem\n\n * Updates to all configuration items is done under genl_lock().\n   Including removal of mdevs or tconns.\n * All read non sleeping read sides are protected by rcu\n * All sleeping read sides keep reference counts to keep the\n   objects alive\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "ec0bddbc5574ea5903cec8f30ed57777f14d86a8",
      "tree": "681645e03c7c526e8ecc990d90d75d6e7a5f77a7",
      "parents": [
        "81fa2e675ccf88035d9308a3c98fe2c2928ace00"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed May 04 15:47:01 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:47 2012 +0100"
      },
      "message": "drbd: Use RCU for the drbd_tconns list\n\nPreparing removal of drbd_cfg_rwsem\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "81fa2e675ccf88035d9308a3c98fe2c2928ace00",
      "tree": "492bb7110ef874bbb455fc395f7700f0c7c8277f",
      "parents": [
        "bb77d34ecc6fe6cdc3f4f0841a516695c2eacc04"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed May 04 15:10:30 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:47 2012 +0100"
      },
      "message": "drbd: Refcounting for mdev objects\n\nPreparing removal of drbd_cfg_rwsem\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "bb77d34ecc6fe6cdc3f4f0841a516695c2eacc04",
      "tree": "17700898cda727c8bbeac93e308ab5fae7a46cb8",
      "parents": [
        "e544046ab842ab93c275a6fc4e043c1cb637076d"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Wed May 04 15:25:35 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:46 2012 +0100"
      },
      "message": "drbd: Turn no-tcp-cork into tcp-cork\u003d{yes|no}\n\nChange the --no-tcp-cork drbdsetup command line option as well as\nthe no_cork netlink packet.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "e544046ab842ab93c275a6fc4e043c1cb637076d",
      "tree": "a27a297d4ab46d58db657c5a320fcb654ab835ce",
      "parents": [
        "d0c980e236243cd03aa2291243587ac1ba3c2b04"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Wed May 04 15:25:35 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:46 2012 +0100"
      },
      "message": "drbd: Turn no-md-flushes into md-flushes\u003d{yes|no}\n\nChange the --no-md-flushes drbdsetup command line option as well as\nthe no_md_flush netlink packet.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "d0c980e236243cd03aa2291243587ac1ba3c2b04",
      "tree": "1e678fae4d991a1195743f3b7a1e1a45ae7a00de",
      "parents": [
        "66b2f6b9c59c5e7003e13281dfe72e174f93988c"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Wed May 04 15:25:35 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:46 2012 +0100"
      },
      "message": "drbd: Turn no-disk-drain into disk-drain\u003d{yes|no}\n\nChange the --no-disk-drain drbdsetup command line option as well as\nthe no_disk_drain netlink packet.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "66b2f6b9c59c5e7003e13281dfe72e174f93988c",
      "tree": "4867d12b1876bf8c3291390c759fc9b92a795bf1",
      "parents": [
        "a5d8e1fb9d22851de89bbf52db6b11c56b895dd4"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Wed May 04 15:25:35 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:45 2012 +0100"
      },
      "message": "drbd: Turn no-disk-flushes into disk-flushes\u003d{yes|no}\n\nChange the --no-disk-flushes drbdsetup command line option as well as\nthe no_disk_flush netlink packet.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "a5d8e1fb9d22851de89bbf52db6b11c56b895dd4",
      "tree": "e01243c9f44464e60955896f4041241ec886d649",
      "parents": [
        "813472ced7fac734157fe5be1137ce2bac942902"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Wed May 04 16:06:51 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:45 2012 +0100"
      },
      "message": "drbd: Convert boolean flags on netlink from NLA_FLAG to NLA_U8\n\nFlags of type NLA_FLAG are either present or absent, but do not have a\nvalue by themselves.  Use type NLA_U8 for our boolean flags instead, and\nuse the value to determine if the flag should be on or off.\n\nOn the drbdsetup command line, all those flags have an optional yes/no\nargument which defaults to yes.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "813472ced7fac734157fe5be1137ce2bac942902",
      "tree": "f6cfd59aadc28d460f76ad173deb123f10f3b974",
      "parents": [
        "d589a21e5d9099a6351862ae6a7f4ae5ec4103d4"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 03 16:47:02 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:44 2012 +0100"
      },
      "message": "drbd: RCU for rs_plan_s\n\nThis removes the issue with using peer_seq_lock out of different\ncontexts.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    }
  ],
  "next": "d589a21e5d9099a6351862ae6a7f4ae5ec4103d4"
}
