)]}'
{
  "log": [
    {
      "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"
    }
  ]
}
