)]}'
{
  "log": [
    {
      "commit": "24c4830c8ec3cbc904d84c213126a35f41a4e455",
      "tree": "3d232dd4e56ec477929a2537ef683b4f19528fb2",
      "parents": [
        "9a0d9d0389ef769e4b01abf50fcc11407706270b"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@acm.org",
        "time": "Sat May 21 18:32:29 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 24 10:21:29 2011 +0200"
      },
      "message": "drbd: Fix spelling\n\nFound these with the help of ispell -l.\n\nSigned-off-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\n"
    },
    {
      "commit": "9a0d9d0389ef769e4b01abf50fcc11407706270b",
      "tree": "e766296ff1e684a0a081a6961ec664a4131faf74",
      "parents": [
        "99432fcc528d7a5ac8494a4c07ad4726670c96e2"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Mon May 02 11:51:31 2011 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 24 10:14:32 2011 +0200"
      },
      "message": "drbd: fix schedule in atomic\n\nAn administrative detach used to request a state change directly to D_DISKLESS,\nfirst suspending IO to avoid the last put_ldev() occuring from an endio handler,\npotentially in irq context.\n\nThis is not enough on the receiving side (typically secondary), we may miss\nsome peer_req on the way to local disk, which then may do the last put_ldev()\nfrom their drbd_peer_request_endio().\n\nThis patch makes the detach always go through the intermediate D_FAILED state.\nWe may consider to rename it D_DETACHING.\n\nAlternative approach would be to create yet an other work item to be scheduled\non the worker, do the destructor work from there, and get the timing right.\n\nmanually picked commit 564040f from the drbd 8.4 branch.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "c5a91619793d444e5103ec5841045bf878718398",
      "tree": "3a1457aaaba954610b8bd55f27b8f4e9997bf936",
      "parents": [
        "fdda6544ad4d3284246e717b7108f7f497b45295"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Tue Jan 25 17:33:38 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:48:15 2011 +0100"
      },
      "message": "drbd: Remove unused function atodb_endio()\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "cd88d030d41a9b0100fd5fee872024e6ebc8b276",
      "tree": "c107e24c88fee112ebc85c966573ad51074aed7b",
      "parents": [
        "79a30d2d71f7be862de93228fe9b919ef664af52"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Jan 20 11:46:41 2011 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:47:58 2011 +0100"
      },
      "message": "drbd: Provide hints with the error message when clearing the sync pause flag\n\nWhen the user clears the sync-pause flag, and sync stays in pause\nstate, give hints to the user, why it still is in pause state.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "c8b325632f0e5ffdaeca3d1f3be77c9399316a40",
      "tree": "3b86d7a6a9b180e05a78c89d9a83ca1b93aa5cbe",
      "parents": [
        "116676ca621a862a8124969772f4dd61c8b40eee"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Wed Dec 08 01:06:16 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:36:18 2011 +0100"
      },
      "message": "drbd: Rename enum drbd_state_ret_codes to enum drbd_state_rv\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "116676ca621a862a8124969772f4dd61c8b40eee",
      "tree": "f02da6846ac3726f800fe80cc08a5f6da396c6a9",
      "parents": [
        "0cf9d27e38447efe5e5edce155a66a782a5aac4a"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Wed Dec 08 13:33:11 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:36:16 2011 +0100"
      },
      "message": "drbd: Rename enum drbd_ret_codes to enum drbd_ret_code\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "73a01a18b9c28a0fab1131ece5b0a9bc00a879b8",
      "tree": "36ed1ea31bd18def918717906a58355a77b39cba",
      "parents": [
        "67531718d8f1259f01ab84c2aa25f7b03c7afd46"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed Oct 27 14:33:00 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:34:48 2011 +0100"
      },
      "message": "drbd: New packet for Ahead/Behind mode: P_OUT_OF_SYNC\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "67531718d8f1259f01ab84c2aa25f7b03c7afd46",
      "tree": "6f76323440f8ce3793b5d5f1a19808207f38db5b",
      "parents": [
        "422028b1ca4c07995af82a18abced022ff4c296c"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed Oct 27 12:21:30 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:34:46 2011 +0100"
      },
      "message": "drbd: Implemented two new connection states Ahead/Behind\n\nIn this connection mode, the ahead node no longer replicates\napplication IO. The behind\u0027s disk becomes out dated.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "422028b1ca4c07995af82a18abced022ff4c296c",
      "tree": "87583c3aab3d8b39c5210de800d5eae79941dc25",
      "parents": [
        "759fbdfba66e620aceb3e73167e6003d1b8b0b0b"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed Oct 27 11:12:07 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 10 11:34:45 2011 +0100"
      },
      "message": "drbd: New configuration parameters for dealing with network congestion\n\nnet {\n    on_congestion {block|pull-ahead|disconnect};\n    congestion-fill {sectors};\n    congestion-extents {al-extents};\n}\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "8825f7c3e5c7b251b49fc594658a96f59417ee16",
      "tree": "051e2d3c2c05e89c573297feeae315e541dc30d8",
      "parents": [
        "fb2c7a10eec051317ff091b2cb2d73c5ecd98c19"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Oct 21 17:21:19 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri Oct 22 15:55:22 2010 +0200"
      },
      "message": "drbd: Silenced an assert\n\nThat assertion\u0027s condition needed adjustment for today\u0027s semantics\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "5dbfe7aedf54aa7f62fd659e34371d4ea0e7bffe",
      "tree": "1ef5c18551186ba593010cbde9756e27b5d54685",
      "parents": [
        "ac7241211ded714873e8dc6d2f7c98ae7ea2cc30"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Fri Oct 15 09:52:46 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri Oct 15 14:06:53 2010 +0200"
      },
      "message": "drbd: add race-breaker to drbd_go_diskless\n\nThis adds a necessary race breaker to these commits:\n    drbd: fix for possible deadlock on IO error during resync\n    drbd: drop wrong debug asserts, fix recently introduced race\n\nWhat we do is get a refcount, check the state, then depending on the\nstate and the requested minimum disk state, either hold it (success),\nor give it back immediately (failed \"try lock\").\n\nSome code paths (flushing of drbd metadata) may still grab and hold a\nrefcount even if we are D_FAILED (application IO won\u0027t).\nSo even if we hit local_cnt \u003d\u003d 0 once after being D_FAILED,\nwe still need to wait for that again after we changed to D_DISKLESS.\nOnce local_cnt reaches 0 while we are D_DISKLESS, we can be sure that\nno one will look at the protected members anymore, so only then is it\nsafe to free them.\n\nWe cannot easily convert to standard locking primitives here, as we want\nto be able to use it in atomic context (we always do a \"try lock\"),\nas well as hold references for a \"long time\" (from IO submission to\ncompletion callback).\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "22cc37a943832c948808884604ec6f5ff2594c1d",
      "tree": "5c0784f0010421c45c4fd847dac8692d03f399e6",
      "parents": [
        "af85e8e83d160f72a10e4467852646ac08614260"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Tue Sep 14 20:40:41 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Oct 14 18:38:49 2010 +0200"
      },
      "message": "drbd: fix unlikely access after free and list corruption\n\nVarious cleanup paths have been incomplete, for the very unlikely case\nthat we cannot allocate enough bios from process context when submitting\non behalf of the peer or resync process.\n\nNever observed.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "fb22c402ffdf61dd121795b5809de587185d5240",
      "tree": "7c3de5410eff21b3a3b105dc63d5e2034f2c7c63",
      "parents": [
        "78db89287ce0f146a1f2a019a0b243ea4557caac"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed Sep 08 23:20:21 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Oct 14 18:38:40 2010 +0200"
      },
      "message": "drbd: Track the reasons to suspend IO in dedicated state bits\n\nThere are three ways to get IO suspended:\n\n * Loss of any access to data\n * Fence-peer-handler running\n * User requested to suspend IO\n\nTrack those in different bits, so that one condition clearing its\nstate bit does not interfere with the other two conditions.\n\nOnly when the user resumes IO he overrules all three bits.\n\nThe fact is hidden from the user, he sees only a single suspend\nbit.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "0b70a13dac014ec9274640b9e945bde493ba365e",
      "tree": "cf771e2f8018c0b59bc14fbf00c5c9cdc9caed7c",
      "parents": [
        "204bba9965c4cc175bf5bc65ddd19889e9085c72"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri Aug 20 13:36:10 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Oct 14 18:38:23 2010 +0200"
      },
      "message": "drbd: Sending of big packets, for payloads from 64KByte to 4GByte\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "47ff2d0a8e7ce87fed180729e8341f650bf585c8",
      "tree": "a8b9fb2f76ebf70090328dba7c57144d8352d9e5",
      "parents": [
        "265be2d09853d425ad14a61cda0ca63345613d0c"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri Jun 18 13:56:57 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Oct 14 14:53:42 2010 +0200"
      },
      "message": "drbd: Do not allow a fencing-policy of resource-and-stonith with protocol A\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "265be2d09853d425ad14a61cda0ca63345613d0c",
      "tree": "cc2f419d8aaa41fd088f3d24ca134c4d7f51aa64",
      "parents": [
        "905cd7d8ac9b18e1f122b90dbebe1246b1c364fd"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon May 31 10:14:17 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Oct 14 14:52:53 2010 +0200"
      },
      "message": "drbd: Finished the \"on-no-data-accessible suspend-io;\" functionality\n\nWhen no data is accessible (no connection to the peer, nor a local disk)\nallow the user to select to freeze all IO operations instead of getting\nIO errors.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "e7f52dfb4f378ea1bbfd4476f4e8ba42f5fb332c",
      "tree": "1f31f9c3fd2f3c9150d08c9429b3c2a36f15d5f5",
      "parents": [
        "85f4cc17a62c3ac9edeaf120cdae7261df458053"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Tue Aug 03 20:20:20 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:53:57 2010 +0200"
      },
      "message": "drbd: revert \"delay probes\", feature is being re-implemented differently\n\nIt was a now abandoned attempt to throttle resync bandwidth\nbased on the delay it causes on the bulk data socket.\nIt has no userbase yet, and has been disabled by\n9173465ccb51c09cc3102a10af93e9f469a0af6f already.\nThis removes the now unused code.\n\nThe basic feature, namely using up \"idle\" bandwith\nof network and disk IO subsystem, with minimal impact\nto application IO, is being reimplemented differently.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "dc66c74de6f4238020db3e2041d4aca5c5b3e9bc",
      "tree": "8df9cdd2f1672217a210e624f4613744e57450e0",
      "parents": [
        "7e27d6e778cd87b6f2415515d7127eba53fe5d02"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed Jun 02 14:31:29 2010 +0200"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Mon Jun 14 12:19:41 2010 +0200"
      },
      "message": "drbd: Fixed a race between disk-attach and unexpected state changes\n\nThis was a very hard to trigger race condition.\n\nIf we got a state packet from the peer, after drbd_nl_disk() has\nalready changed the disk state to D_NEGOTIATING but\nafter_state_ch() was not yet run by the worker, then receive_state()\nmight called drbd_sync_handshake(), which in turn crashed\nwhen accessing p_uuid.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "099c5c310e9744bd0654881bb55c137051228e56",
      "tree": "819e89bc3187d231cd0c82025ff8924152357099",
      "parents": [
        "2a0ab2cd73c26835e635ed4e3868f983519048fb"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu May 27 13:46:35 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Jun 01 11:12:28 2010 +0200"
      },
      "message": "Preparing 8.3.8rc2\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "3d42b3612891baecf709d93f28655a6882a65d41",
      "tree": "2110b2846d73d7a3e470a6b813a63fa5e5295526",
      "parents": [
        "4e23a59ed1c5f12e14f7899855f8379b3d42e578"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu May 20 12:14:54 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 21 21:12:01 2010 +0200"
      },
      "message": "drbd: This is now equivalent to drbd release 8.3.8rc1\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6495d2c6d04f4c45411fdb1b40527c24015f39d6",
      "tree": "cb7262a4b4750bb0fba045f492ffedbf8eef6701",
      "parents": [
        "b4ee79dac3bddc468e21cae0deb00b80ec4ac051"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed Mar 24 16:07:04 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue May 18 01:17:47 2010 +0200"
      },
      "message": "drbd: Implemented the --assume-clean option for drbdsetup resize\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "cf14c2e987ba0a09a7b09be2ecd55af0bc9c17b4",
      "tree": "3e403ecc535e3860ab5835343fd428c77cad9f5c",
      "parents": [
        "8a03ae2a5baed3df09e5643615bdd853fc142a09"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue Feb 02 21:03:50 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Thu Mar 11 15:51:23 2010 +0100"
      },
      "message": "drbd: --dry-run option for drbdsetup net ( drbdadm -- --dry-run connect \u003cres\u003e )\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "2ebccd71a71e6078920bc65b40f120e72b71c2b6",
      "tree": "40c0460f02703ceed155847f3f2af8df7a115336",
      "parents": [
        "a393db6f10ef2d4f28257234cfc730e744dfb6a4"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue Jan 12 10:09:07 2010 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue Jan 12 10:14:42 2010 +0100"
      },
      "message": "drbd: The kernel code is now equivalent to out of tree release 8.3.7\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "35a8a3fdcd4f973a5430e868f2f2a5c363803a5b",
      "tree": "bdf7e2d8c7ae482251b348e526fa1260f67f3eef",
      "parents": [
        "ad85dfe67bbf13d5fa20764e4ce801a1e6e526d8"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed Nov 25 17:50:00 2009 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed Nov 25 17:57:36 2009 +0100"
      },
      "message": "drbd: moved CN_IDX_DRBD and CN_VAL_DRBD to the right file\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "ad85dfe67bbf13d5fa20764e4ce801a1e6e526d8",
      "tree": "8a4c78f8f10be4c44b31d1c0f770979fe1afc570",
      "parents": [
        "d8c2a36b774defd4e230353d91f0f609c128bd78"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed Nov 18 15:52:51 2009 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue Nov 24 18:20:08 2009 +0100"
      },
      "message": "DRBD: Now the code is 8.3.6 + 3 fixes (without compat crap)\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "ed814525f2e45188964c270fc3a5a0b644f7e4a9",
      "tree": "a593d255981deedf02c7559a17013cdeb45b8524",
      "parents": [
        "83c38830b04d4e369b9a41acbc562c0422f2f2f2"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue Oct 27 12:37:14 2009 +0100"
      },
      "committer": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Wed Nov 04 15:40:10 2009 +0100"
      },
      "message": "Now it is equal to DRBD release 8.3.5 without compat crap\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    },
    {
      "commit": "9f5180e5c331d7b3ccc35e1a78072235d38f9f34",
      "tree": "d4d116f9bee360007c15b50fee86bf3a27566102",
      "parents": [
        "25d2d4edfa509b69fe4832094b8a07e634363ba3"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Tue Oct 06 09:30:14 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 06 09:30:14 2009 +0200"
      },
      "message": "drbd: Work on permission enforcement\n\nNow we have the capabilities of the sending process available,\nuse them to enforce CAP_SYS_ADMIN.\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b411b3637fa71fce9cf2acf0639009500f5892fe",
      "tree": "6b88e5202e0f137fef50e95b0441bcafdbf91990",
      "parents": [
        "1a35e0f6443f4266dad4c569c55c57a9032596fa"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri Sep 25 16:07:19 2009 -0700"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 01 21:17:49 2009 +0200"
      },
      "message": "The DRBD driver\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\n"
    }
  ]
}
