)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "d589a21e5d9099a6351862ae6a7f4ae5ec4103d4",
      "tree": "5cf90cdc5e49cff6ad946882854bce7c0aa6ee2e",
      "parents": [
        "9958c857c760eec76f4fdf288b6f33a1c3b41833"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed May 04 10:06:52 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:44 2012 +0100"
      },
      "message": "drbd: Enforce limits of disk_conf members; centralized these checks\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "9958c857c760eec76f4fdf288b6f33a1c3b41833",
      "tree": "619cf127b6ef99494712d0139a8fdc7fead7f5a9",
      "parents": [
        "daeda1cca91d58bb6c8e45f6734f021bab9c28b7"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 03 16:19:31 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:43 2012 +0100"
      },
      "message": "drbd: Made the fifo object a self contained object (preparing for RCU)\n\n* Moved rs_planed into it, named total\n* When having a pointer to the object the values can\n  be embedded into the fifo object.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "daeda1cca91d58bb6c8e45f6734f021bab9c28b7",
      "tree": "002ba940efd64307f0805d6418634e2559f71363",
      "parents": [
        "563e4cf25ec804eb02cd30a41baa2fcc6c06679b"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 03 15:00:55 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:43 2012 +0100"
      },
      "message": "drbd: RCU for disk_conf\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "563e4cf25ec804eb02cd30a41baa2fcc6c06679b",
      "tree": "78714255143b283d7a58681ab6142c3e245ebc7b",
      "parents": [
        "2ec91e0e29a3f1166ad96dbb3466b57dbc5d8ebf"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Wed May 04 10:33:52 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:43 2012 +0100"
      },
      "message": "drbd: Introduce __s32_field in the genetlink macro magic\n\n...and drop explicit typecasts (int)meta_dev_idx \u003c 0.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "2ec91e0e29a3f1166ad96dbb3466b57dbc5d8ebf",
      "tree": "7993fe49f89657e75bf91e64cb61315b8bef678a",
      "parents": [
        "dc97b70801667ea8b1432b37f5c122405c8d6f96"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 03 14:58:00 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:42 2012 +0100"
      },
      "message": "drbd: Renamed (old|new)_conf into (old|new)_net_conf in receive_SyncParam\n\nPreparing RCU for disk_conf\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "dc97b70801667ea8b1432b37f5c122405c8d6f96",
      "tree": "86181fbaa969b64ab4c3cee2ef7ac82f11667aba",
      "parents": [
        "ef5e44a672e444b6957fdccda3f40a5cbe202335"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 03 14:27:15 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:42 2012 +0100"
      },
      "message": "drbd: Split drbd_alter_sa() into drbd_sync_after_valid() and drbd_sync_after_changed()\n\nPreparing RCU for disk_conf\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "ef5e44a672e444b6957fdccda3f40a5cbe202335",
      "tree": "7405f97a262d5a643b77c776bd225cbe7ceb5b24",
      "parents": [
        "a0095508cac5c413c7119076b26f536486314ef1"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 03 13:27:43 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:41 2012 +0100"
      },
      "message": "drbd: drbd_dew_dev_size() gets the user requests disk_size as argument\n\nPreparing RCU for disk_conf\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "a0095508cac5c413c7119076b26f536486314ef1",
      "tree": "8300fc680887021c6c2e16b4236f899161759056",
      "parents": [
        "934e6138b56203231d757d7b5ca3252edffc210e"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 03 13:14:15 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:41 2012 +0100"
      },
      "message": "drbd: Renamed the net_conf_update mutex to conf_update\n\nPreparing to use the same mutex for disk_conf updates\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "934e6138b56203231d757d7b5ca3252edffc210e",
      "tree": "4259f1d16122cb5b34048269afdfce16c7c9913c",
      "parents": [
        "b966b5dd8e17e6c105ca55533fd412de5d5b429e"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon May 02 11:24:04 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:40 2012 +0100"
      },
      "message": "drbd: Removed 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": "b966b5dd8e17e6c105ca55533fd412de5d5b429e",
      "tree": "5597a93a0753ccd2476f4ba9ff31de5eeb09d83c",
      "parents": [
        "d8cd289dbe69ce9b8115d6f200ceff657e5dafa0"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Tue May 03 14:56:09 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:55:38 2012 +0100"
      },
      "message": "drbd: Generate the drbd_set_*_defaults() functions from drbd_genl.h\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "d8cd289dbe69ce9b8115d6f200ceff657e5dafa0",
      "tree": "31468afe8b5e81284408ca4edeaa57b09202a104",
      "parents": [
        "009ba89db5ae836949009f97a00abb96feba69f4"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Tue May 03 12:27:11 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:53:01 2012 +0100"
      },
      "message": "drbd: Remove left-over unused define\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "009ba89db5ae836949009f97a00abb96feba69f4",
      "tree": "34218da1ee3796a5a77603bc162eaad22cce3469",
      "parents": [
        "992d6e91d3654c11c2e4d8d5933ffbf82a0440f0"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Mon May 02 11:51:31 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:53:01 2012 +0100"
      },
      "message": "drbd: fix schedule in atomic\n\nAn administrative detach used to request a state change directly to D_DISKLESS,\nfirst suspending IO to avoid the last put_ldev() occuring from an endio handler,\npotentially in irq context.\n\nThis is not enough on the receiving side (typically secondary), we may miss\nsome peer_req on the way to local disk, which then may do the last put_ldev()\nfrom their drbd_peer_request_endio().\n\nThis patch makes the detach always go through the intermediate D_FAILED state.\nWe may consider to rename it D_DETACHING.\n\nAlternative approach would be to create yet an other work item to be scheduled\non the worker, do the destructor work from there, and get the timing right.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "992d6e91d3654c11c2e4d8d5933ffbf82a0440f0",
      "tree": "b97d1371d9a0a93d539174ecdd8cfe205b56cf43",
      "parents": [
        "f3dfa40a67c354a5886c5ae53a9c5d3a2c6fd06e"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Mon May 02 11:47:18 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:53:00 2012 +0100"
      },
      "message": "drbd: fix thread stop deadlock\n\nThere are races where the receiver may be exiting,\nbut still need the worker to process some stuff.\n\nDo not wait for the receiver to die from an exiting worker.\nThe receiver must already be dead in case the worker decides to exit.\nIf the receiver was still alive, it may still want to queue work, and do\ndrbd_flush_workqueue() from it\u0027s disconnect cleanup code,\nwhich would no longer be processed by an exiting worker.\n\nThis also would deadlock,\nif the worker was to synchornously wait for the receiver to die.\n\nDo not implicitly stop the worker.\nThe worker will only be stopped from configuration context, from\nconn_reconfig_done(), drbd_adm_down() or drbd_adm_delete_connection(),\nafter making sure the receiver is already stopped.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "f3dfa40a67c354a5886c5ae53a9c5d3a2c6fd06e",
      "tree": "e85ab6fe143681814b395ed5ece180df8d090201",
      "parents": [
        "88104ca458dff8ed7db935936b91b9af4422c9cd"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Mon May 02 10:45:05 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:53:00 2012 +0100"
      },
      "message": "drbd: fix race when forcefully disconnecting\n\nIf a forced disconnect hits a restarting receiver right after it passed\nits final \"if (C_DISCONNECTING)\" test in drbdd_init(), but before it was\nactually restarted by drbd_thread_setup, we could be left with a\nconnection stuck in C_DISCONNECTING, never reaching C_STANDALONE,\nwhich would be necessary to take it down or reconfigure it.\n\nMove the last cleanup into w_after_conn_state_ch(), and do an additional\nstate change request in conn_try_disconnect(), just in case.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "88104ca458dff8ed7db935936b91b9af4422c9cd",
      "tree": "eb6844263caa72ddf6406998e9f45d497506019e",
      "parents": [
        "a7eb7bdf58b5dd98560ee6fa5caf2fcdd1779a47"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Thu Apr 28 21:47:21 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:52:59 2012 +0100"
      },
      "message": "drbd: Allow to change data-integrity-alg on the fly\n\nThe main purpose of this is to allow to turn data integrity checking on\nand off on demand without causing interruptions.\n\nImplemented by allocating tconn-\u003epeer_integrity_tfm only when receiving\na P_PROTOCOL message.  l accesses to tconn-\u003epeer_integrity_tf happen in\nworker context, and no further synchronization is necessary.\n\nOn the sender side, tconn-\u003eintegrity_tfm is modified under\ntconn-\u003edata.mutex, and a P_PROTOCOL message is sent whenever.  All\naccesses to tconn-\u003eintegrity_tfm already happen under this mutex.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "a7eb7bdf58b5dd98560ee6fa5caf2fcdd1779a47",
      "tree": "3177c4dde7effb15a98889d15586f11bb29ccba0",
      "parents": [
        "4b6ad6d4579908ff82a47ad9ba067a504b1e0882"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Fri Apr 29 13:19:58 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:52:59 2012 +0100"
      },
      "message": "drbd: Introduce a \"lockless\" variant of drbd_send_protocoll()\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "4b6ad6d4579908ff82a47ad9ba067a504b1e0882",
      "tree": "0b4c89f9e4d67aa3b815d7dd01d72f3d951fca6f",
      "parents": [
        "5b614abe30645c3a528d54ff01da94fde0770c43"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Fri Apr 29 10:20:08 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:52:58 2012 +0100"
      },
      "message": "drbd: Remove obsolete drbd_crypto_is_hash()\n\nWe allocate hash transformations with crypto_alloc_hash() which will\nonly return hash algorithms.  It is not necessary to reconfirm that we\nactually got a hash algorithm.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "5b614abe30645c3a528d54ff01da94fde0770c43",
      "tree": "d49d1970be98a4c329b6092710e26c60c42a6c07",
      "parents": [
        "8d412fc6d58ae5e2e43f84461dd123bd0168b310"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Wed Apr 27 21:00:12 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:52:58 2012 +0100"
      },
      "message": "drbd: Rename integrity_r_tfm -\u003e peer_integrity_tfm\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "8d412fc6d58ae5e2e43f84461dd123bd0168b310",
      "tree": "a787615b1ccb3f1197d4e3a7acd8b814ed25eb35",
      "parents": [
        "86db06180a48999b9f1883dd8bf871c882dbf075"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Wed Apr 27 20:59:18 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:52:58 2012 +0100"
      },
      "message": "drbd: Rename integrity_w_tfm -\u003e integrity_tfm\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "86db06180a48999b9f1883dd8bf871c882dbf075",
      "tree": "f4d4481a642853beccb23a899142d47a6c471535",
      "parents": [
        "acb104c396f915a46a0ff5e0bd588764fcbbf1ab"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Thu Apr 28 15:24:18 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:52:57 2012 +0100"
      },
      "message": "drbd: Wrong use of RCU in receive_protocol()\n\nIt is not enough to grab net_conf-\u003eintegrity_alg under rcu_read_lock()\nand access it outside of it; the entire net_conf object may be gone by\nthen.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "acb104c396f915a46a0ff5e0bd588764fcbbf1ab",
      "tree": "bc078e775e011d15b343171e3845b64c565be107",
      "parents": [
        "b57a1e27ee3efc3f5b2c7a474ce40e709e6b08cb"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Thu Apr 28 07:58:24 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:52:57 2012 +0100"
      },
      "message": "drbd: fix copy/paste error in comment\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "b57a1e27ee3efc3f5b2c7a474ce40e709e6b08cb",
      "tree": "2253c270cfa7fa6d2d5a300d7f50ee4bc362b51f",
      "parents": [
        "5ecc72c3b96f30e9f735afb9b1898ea407ae1dce"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Wed Apr 27 21:17:33 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:52:56 2012 +0100"
      },
      "message": "drbd: rename variable sc to res_opts\n\nsc was short for syncer conf, which does not exist anymore anyways.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "5ecc72c3b96f30e9f735afb9b1898ea407ae1dce",
      "tree": "36a38ce7e745bfe48c14572d575ab966b282f290",
      "parents": [
        "5979e36155f7875f0544f3c696f8ce863417cc68"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Wed Apr 27 21:14:57 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:52:54 2012 +0100"
      },
      "message": "drbd: rename variable ndc to new_disk_conf\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "5979e36155f7875f0544f3c696f8ce863417cc68",
      "tree": "cb9433d8980b19659bc26517a71fdfeb91d624dc",
      "parents": [
        "0fd0ea064c30022577f62d9060889d964123be6f"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Wed Apr 27 21:09:55 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:50:38 2012 +0100"
      },
      "message": "drbd: on reconfiguration requests, mind the SET_DEFAULTS flag\n\nThe DRBD_GENL_F_SET_DEFAULTS flag was ignored\nfor drbd_adm_disk_opts() and drbd_adm_net_opts().\n\nFactor out drbd_set_*_defaults() helper functions,\nand call them appropriately.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "0fd0ea064c30022577f62d9060889d964123be6f",
      "tree": "937fb63d9a6072b51594d933814aab769d814f3b",
      "parents": [
        "d9cc6e231897a9ab1a94e6cfe12d71bfec0b7a81"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed Apr 27 11:27:47 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:49:08 2012 +0100"
      },
      "message": "drbd: Consider all crypto options in connect and in net-options\n\nSo for this was simply not considered after the options have been\nre-arranged.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "d9cc6e231897a9ab1a94e6cfe12d71bfec0b7a81",
      "tree": "f0ab01f5319972d672160f5ba1e1233f8bafbeb1",
      "parents": [
        "5ee743e92d3b170a67b58c0c6ea169300983f58e"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Wed Apr 27 10:25:28 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:49:08 2012 +0100"
      },
      "message": "drbd: fix various disconnecting races\n\nIf an admin requests disconnect at a time when the state handling\nalready disconnects/reconnects, there have been some races.\n\nMake sure to always really stop the network threads before\nreturning success for disconnect. Do not pretend successfull\nforced disconnect, if the state handling returned an error.\n\nReturn success from drbd_adm_down() only after all threads are finished.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "5ee743e92d3b170a67b58c0c6ea169300983f58e",
      "tree": "8f5b7b0de71cbb44281343e85b78cd046bd2513c",
      "parents": [
        "a18e9d1eb0660621eb9911e59a9b4d664cbad4d9"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Tue Apr 26 16:22:25 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:49:07 2012 +0100"
      },
      "message": "drbd: remove useless kobject_uevent from drbd_adm_connect\n\nCalling kobject_uevent, which may sleep, from within rcu_read_lock()\nprotected regions is not possible.\nThis particular kobject_uevent also is also wrong. It was supposed to\ntrigger a udev run, just in case something relevant to udev symlink\nmagic has changed, when adjusting runtime re-configurable settings while\nwe still had the \"syncer conf\".  It was improperly placed in connect\nwhen we dropped the \"syncer conf\".  The right thing to do is probably to\ncall \"udevadm trigger\" directly in those cases where drbdadm thinks\nthere was a need to trigger extra udev runs.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "a18e9d1eb0660621eb9911e59a9b4d664cbad4d9",
      "tree": "dc05f7a19bc36f91b6463213e070ce4684966621",
      "parents": [
        "0ace9dfabec3c1e96a1cd9fe0791ecbe6737c2f9"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Sun Apr 24 11:09:55 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:49:07 2012 +0100"
      },
      "message": "drbd: Removed the OBJECT_DYING and the CONFIG_PENDING bits\n\nsuperseded by refcounting\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "0ace9dfabec3c1e96a1cd9fe0791ecbe6737c2f9",
      "tree": "de80467afbc59c4d98cdf6a3defa55fee051ac98",
      "parents": [
        "9dc9fbb35733c8ea97fe9b1cfc5499c7a625805c"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Sun Apr 24 10:53:19 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:49:06 2012 +0100"
      },
      "message": "drbd: Take a reference on tconn when finding a tconn by name\n\nRule #3 of kref.txt\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "9dc9fbb35733c8ea97fe9b1cfc5499c7a625805c",
      "tree": "1bb4c6633fc53abf4b3464386b29aef52edb4366",
      "parents": [
        "1d041225999c6f6246494b02d8f9b405155b52e1"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri Apr 22 15:23:32 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:49:06 2012 +0100"
      },
      "message": "drbd: Basic refcounting for drbd_tconn\n\nReferences hold by:\n * Each (running) drbd thread has a reference on tconn\n * Each mdev has a referenc on tconn\n * Beeing in the all_tconn list counts for one reference\n * Each after_conn_state_chg_work has a reference 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": "1d041225999c6f6246494b02d8f9b405155b52e1",
      "tree": "a6c249281d1ba58a267b5300d96be171dfce3b7d",
      "parents": [
        "f5e2b8b3b6bed8c60103b4ed5341af072129d7c0"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri Apr 22 15:20:23 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:49:05 2012 +0100"
      },
      "message": "drbd: Eliminated drbd_free_resoruces() it is superseeded by conn_free_crypto()\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "f5e2b8b3b6bed8c60103b4ed5341af072129d7c0",
      "tree": "11dde69cbbead3461ba2d8588a72a1def929b7e3",
      "parents": [
        "ae25b336e0e00eafd61f1cc1c3e9e1c0d2b8fc51"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Sun Apr 24 20:52:20 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:49:05 2012 +0100"
      },
      "message": "drbd: move comment about stopping the receiver thread to where it belongs\n\nWhen the last volume of a replication group is unconfigured,\nthe worker thread exits. To not interfere with cleanup\nof other threads, before the the last cleanups run,\nwe need to make sure the receiver has already exited.\n\nThe commend explaining that clearly belongs above\ndrbd_thread_stop(\u0026tconn-\u003ereceiver), not in the cleanup loop below.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "ae25b336e0e00eafd61f1cc1c3e9e1c0d2b8fc51",
      "tree": "89a6abb2db231a0798ae20442e9a6e76ff1e9504",
      "parents": [
        "ed439848ca6029c748b537e510a1ed5a506ea123"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Sun Apr 24 00:01:16 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:49:05 2012 +0100"
      },
      "message": "drbd: cmdname() enum to string convertion was missing a few constants\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "ed439848ca6029c748b537e510a1ed5a506ea123",
      "tree": "a3f832db745f625616e7ea6a956173a86ca8be7b",
      "parents": [
        "71932efc1cfccfe1cc8e48b21f8cea5fbbc80e24"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Sat Apr 23 14:45:14 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:49:04 2012 +0100"
      },
      "message": "drbd: fix setsockopt for user mode linux\n\nWe use our own copy of kernel_setsockopt, and did not mess around with\nget_fs/set_fs, since we thought we knew we would always be KERNEL_DS\nanyways. Apparently not so for at least user mode linux, so put the\nset_fs(KERNEL_DS) 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": "71932efc1cfccfe1cc8e48b21f8cea5fbbc80e24",
      "tree": "d73462e187f7469493d2cacfbddfce14c876c25a",
      "parents": [
        "302bdeae49842cbd2faec8203f49b1c4ef20294d"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Mon Apr 18 09:43:25 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:49:04 2012 +0100"
      },
      "message": "drbd: allow status dump request all volumes of a specific resource\n\nWe had drbd_adm_get_status (one single volume),\nand drbd_adm_get_status_all (dump of all volumes of all resources).\n\nThis enhances the latter to be able to dump all volumes\nof just one specific resource.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "302bdeae49842cbd2faec8203f49b1c4ef20294d",
      "tree": "d72c6310b848494153e257a3797254a1ac8d2c24",
      "parents": [
        "91fd4dad64ce7ac48c4c30c7756c6d3c41e8ad0a"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Apr 21 11:36:49 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:49:03 2012 +0100"
      },
      "message": "drbd: Considering that the two_primaries config flag can change\n\nNow since it is possible to change the two_primaries config\nflag while the connection is up, make sure we treat a peer_req\nin a consistent way if the config flag changes while the peer_req\nis under IO.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "91fd4dad64ce7ac48c4c30c7756c6d3c41e8ad0a",
      "tree": "893fd0577cee16c9b5e7534724047f10856f7df4",
      "parents": [
        "44ed167da74825bfb7950d45a4f83bce3e84921c"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed Apr 20 17:47:29 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:49:03 2012 +0100"
      },
      "message": "drbd: Proper locking for updates to net_conf under RCU\n\nRemoving the get_net_conf()/put_net_conf() functions\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "44ed167da74825bfb7950d45a4f83bce3e84921c",
      "tree": "5d62fe65143717ff11af26138726540b35953c89",
      "parents": [
        "b032b6fa3528d6eed972db32257cb316a66e0dac"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue Apr 19 17:10:19 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:48:59 2012 +0100"
      },
      "message": "drbd: rcu_read_lock() and rcu_dereference() for tconn-\u003enet_conf\n\nRemoving the get_net_conf()/put_net_conf() calls\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "b032b6fa3528d6eed972db32257cb316a66e0dac",
      "tree": "c5152232ea0074339e69e5b2fef9fa9bfd7229e6",
      "parents": [
        "cd64397c0b7be5050c4127aba242c5d0ae6acaed"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed Apr 13 18:16:10 2011 -0700"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:45:18 2012 +0100"
      },
      "message": "drbd: Allow online change of replication protocol only with agreed_pv \u003e\u003d 100\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "cd64397c0b7be5050c4127aba242c5d0ae6acaed",
      "tree": "c980f9327a5927fc17090d4fd980fea873338384",
      "parents": [
        "303d1448a048fb5b099babc5f41d0b1e22238778"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed Apr 13 18:00:59 2011 -0700"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:45:18 2012 +0100"
      },
      "message": "drbd: Check consistency of net options when the get changed online\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "303d1448a048fb5b099babc5f41d0b1e22238778",
      "tree": "dccb81765e81d3275addf91ff9644bacdda64b60",
      "parents": [
        "d3fcb4908d8cce7f29cff16bbef3b08933148003"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed Apr 13 16:24:47 2011 -0700"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:45:18 2012 +0100"
      },
      "message": "drbd: Runtime changeable wire protocol\n\nThe wire protocol is no longer a property that is negotiated\nbetween the two peers. It is now expressed with two bits\n(DP_SEND_WRITE_ACK and DP_SEND_RECEIVE_ACK) in each data\npacket. Therefore the primary node is free to change the\nwire protocol at any time without disconnect/reconnect.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "d3fcb4908d8cce7f29cff16bbef3b08933148003",
      "tree": "fc457ab337f19aa265a3b5cc4d5bcacc5b664315",
      "parents": [
        "ef356262846eb49821db7b20a131b6573e4c7d2e"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed Apr 13 14:46:05 2011 -0700"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:45:17 2012 +0100"
      },
      "message": "drbd: protect all idr accesses that might sleep with drbd_cfg_rwsem\n\nWith this commit the locking for all accesses to IDRs is complete:\n\n * Non sleeping read accesses are protected by RCU\n * sleeping read accesses are protocted by a read lock on drbd_cfg_rwsem\n * accesses that add anything are protected by a write lock\n * accesses that remove an object are protoected by a write lock\n   and a call to synchronize_rcu() after it is removed from the IDR\n   and before the object is actually free()ed.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "ef356262846eb49821db7b20a131b6573e4c7d2e",
      "tree": "1c3947782009795f493ec1c27417c2f3d2ed7960",
      "parents": [
        "695d08fa94ce5bb8d9880e260445fbcf50fa41b4"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed Apr 13 14:21:29 2011 -0700"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:45:17 2012 +0100"
      },
      "message": "drbd: Converted drbd_cfg_mutex into 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": "695d08fa94ce5bb8d9880e260445fbcf50fa41b4",
      "tree": "dda7776d2ad2db3414a9377ae485c6e33575804d",
      "parents": [
        "cd1d9950f69b46d88002b39652ed0cf3608d008b"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon Apr 11 22:53:32 2011 -0700"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:45:16 2012 +0100"
      },
      "message": "drbd: rcu_read_[un]lock() for all idr accesses that do not sleep\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "cd1d9950f69b46d88002b39652ed0cf3608d008b",
      "tree": "e40e9669a9394253506e06e3b3ec32bb7a3ce748",
      "parents": [
        "ff370e5a9ebaf9499431216a531a196d98283228"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon Apr 11 21:24:24 2011 -0700"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:45:16 2012 +0100"
      },
      "message": "drbd: Inlined drbd_free_mdev(); it got called only from 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": "ff370e5a9ebaf9499431216a531a196d98283228",
      "tree": "9d4b410f4829249e592a93566342eb15af4b543a",
      "parents": [
        "5cc287e0ae77bef615a046a44e17e1d68e23dbb7"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon Apr 11 21:10:11 2011 -0700"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:45:15 2012 +0100"
      },
      "message": "drbd: drbd_delete_device() takes a struct drbd_conf * now\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "5cc287e0ae77bef615a046a44e17e1d68e23dbb7",
      "tree": "8525127cbe8bfdeab487ef431f6899160f4cf323",
      "parents": [
        "c37c8ecfee685fa42de8fd418ad8ca1e66408bd8"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Thu Apr 07 21:02:59 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:45:15 2012 +0100"
      },
      "message": "drbd: Rename drbd_pp_free() to drbd_free_pages()\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "c37c8ecfee685fa42de8fd418ad8ca1e66408bd8",
      "tree": "a2f64b99e37ead526dbca798d8c7085d82a74ea7",
      "parents": [
        "18c2d52249fff156ff2db2e18cefe5184078af72"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Thu Apr 07 21:02:09 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:45:15 2012 +0100"
      },
      "message": "drbd: Rename drbd_pp_alloc() to drbd_alloc_pages() and make it non-static\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "18c2d52249fff156ff2db2e18cefe5184078af72",
      "tree": "878ff9ca08767fb4caee9a25d1959015bb0db912",
      "parents": [
        "d4da15374ba52009801d4c37c6dae0ba6ec0fca5"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Thu Apr 07 21:08:50 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:45:14 2012 +0100"
      },
      "message": "drbd: Rename drbd_pp_first_pages_or_try_alloc() to __drbd_alloc_pages()\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "d4da15374ba52009801d4c37c6dae0ba6ec0fca5",
      "tree": "2d840b0600e0d05ee03d5e40461f9db6162f2418",
      "parents": [
        "045417f75c718a4ac97fd44106b8aafcbca5a6da"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Thu Apr 07 00:06:56 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:45:14 2012 +0100"
      },
      "message": "drbd: Make drbd_wait_ee_list_empty() and _drbd_wait_ee_list_empty() static\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "045417f75c718a4ac97fd44106b8aafcbca5a6da",
      "tree": "7801859b3995ad9cc66c78ac0b5b956b5752a438",
      "parents": [
        "a990be46827945664624b54741e050e1df2face3"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Thu Apr 07 21:34:24 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:45:13 2012 +0100"
      },
      "message": "drbd: Rename drbd_{ ee -\u003e peer_req }_has_active_page\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "a990be46827945664624b54741e050e1df2face3",
      "tree": "8d7f7ed55d06cde49c3329c708b3c10d23ecba9e",
      "parents": [
        "7721f5675e1d76278223d8b33575a59526508d80"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Wed Apr 06 17:56:48 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:45:13 2012 +0100"
      },
      "message": "drbd: Rename reclaim_net_ee(), drbd_process_done_ee(), drbd_process_done_ee(), tconn_process_done_ee() to *_peer_reqs\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "7721f5675e1d76278223d8b33575a59526508d80",
      "tree": "b56b69c2e381af8d294903160d00ae9cbddf5fd6",
      "parents": [
        "3967deb192e147328e1a6085a443ea6afef54dbb"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Wed Apr 06 17:14:02 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:45:13 2012 +0100"
      },
      "message": "drbd: Rename drbd_release_ee() to drbd_free_peer_reqs()\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "3967deb192e147328e1a6085a443ea6afef54dbb",
      "tree": "622bea7b53f44f0d86fa1ea4d5a8e18aba85b352",
      "parents": [
        "0db55363cb1e6cfe2bedecb7e47c05f8992c612e"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Wed Apr 06 16:16:56 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Nov 08 16:45:12 2012 +0100"
      },
      "message": "drbd: Rename drbd_free_ee() and variants to *_peer_req()\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    }
  ],
  "next": "0db55363cb1e6cfe2bedecb7e47c05f8992c612e"
}
