)]}'
{
  "log": [
    {
      "commit": "18c60c0a3b16fc7d6a55497a228602ad8509f838",
      "tree": "f963e66eddd4d527790a3d691cbb45e492cd6b0b",
      "parents": [
        "311f6fc77c51926dbdfbeab0a5d88d70f01fa3f4"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Mon Jun 30 19:59:14 2008 +0300"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Jul 14 13:56:59 2008 -0500"
      },
      "message": "dlm: fix uninitialized variable for search_rsb_list callers\n\ngcc 4.3.0 correctly emits the following warning.\nsearch_rsb_list does not *r_ret if no dlm_rsb is found\nand _search_rsb may pass the uninitialized value upstream\non the error path when both calls to search_rsb_list\nreturn non-zero error.\n\nThe fix sets *r_ret to NULL on search_rsb_list\u0027s not-found path.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "329fc4c37212588091b64bdf09afaeb18642aae2",
      "tree": "1df9d0ed055afb2f46669142472f7c88554a93bc",
      "parents": [
        "254ae43ab8d7877c980fca3636624e0777a70fa4"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Tue May 20 12:18:10 2008 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Jul 14 13:56:59 2008 -0500"
      },
      "message": "dlm: fix basts for granted CW waiting PR/CW\n\nThe fix in commit 3650925893469ccb03dbcc6a440c5d363350f591 was addressing\nthe case of a granted PR lock with waiting PR and CW locks.  It\u0027s a\nspecial case that requires forcing a CW bast.  However, that forced CW\nbast was incorrectly applying to a second condition where the granted\nlock was CW.  So, the holder of a CW lock could receive an extraneous CW\nbast instead of a PR bast.  This fix narrows the original special case to\nwhat was intended.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "761b9d3ffc953c24ceb55d8e12ff7e02b17e0484",
      "tree": "07dcab128761847c008b589bf367715f2fcd60b0",
      "parents": [
        "170e19ab2900b7c959d7a0e627fd12f383efcfa1"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Feb 21 11:25:42 2008 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Apr 21 11:18:01 2008 -0500"
      },
      "message": "dlm: save master info after failed no-queue request\n\nWhen a NOQUEUE request fails, the rsb res_master field is unnecessarily\nreset to -1, instead of leaving the valid master setting in place.  We\nwant to save the looked-up master values while the rsb is on the \"toss\nlist\" so that another lookup can be avoided if the rsb is soon reused.\nThe fix is to simply leave res_master value alone.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "170e19ab2900b7c959d7a0e627fd12f383efcfa1",
      "tree": "d34d48eb0fc5c1bb7bd99e4613ce4cc6092010a8",
      "parents": [
        "5416b704aef0b7350073421f4f6ac1a21bc213e7"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Feb 13 23:29:38 2008 +0200"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Apr 21 11:18:01 2008 -0500"
      },
      "message": "dlm: make dlm_print_rsb() static\n\ndlm_print_rsb() can now become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "d292c0cc489fa642799494bddbd7c94d11f7bbc1",
      "tree": "5999df751f987dc59ff052ed07fc7715c00898cc",
      "parents": [
        "e5dae548b0b5397e070de793be925cfc5813ad95"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Feb 06 23:27:04 2008 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Feb 06 23:27:04 2008 -0600"
      },
      "message": "dlm: eliminate astparam type casting\n\nPut lkb_astparam in a union with a dlm_user_args pointer to\neliminate a lot of type casting.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "e5dae548b0b5397e070de793be925cfc5813ad95",
      "tree": "5ad4c94cbeab745fc1bac3426423c405971c6796",
      "parents": [
        "cb79f1998d89821a4dbac47f59a46ee3fbbf3c61"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Feb 06 00:35:45 2008 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Feb 06 00:35:45 2008 -0600"
      },
      "message": "dlm: proper types for asts and basts\n\nUse proper types for ast and bast functions, and use\nconsistent type for ast param.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "a9cc9159281d44754f621f75d4efad0076b29db4",
      "tree": "8ee69182283251b06ed725dcd1fa0ed3c05423ec",
      "parents": [
        "ef58bccab7c7ef34451aa4ceea39545ef126b666"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 26 00:02:29 2008 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Feb 04 01:29:13 2008 -0600"
      },
      "message": "dlm: fix overflows when copying from -\u003em_extra to lvb\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "ef58bccab7c7ef34451aa4ceea39545ef126b666",
      "tree": "56cdbdeba5db2cdca3e3f96a7124a4f83c56e791",
      "parents": [
        "a5dd06313dbcec3a2c8a5e4a6f3ddb2a8fc72ec9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jan 25 23:22:26 2008 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Feb 04 01:26:31 2008 -0600"
      },
      "message": "dlm: make find_rsb() fail gracefully when namelen is too large\n\nWe *can* get there from receive_request() and dlm_recover_master_copy()\nwith namelen too large if incoming request is invalid; BUG() from\nDLM_ASSERT() in allocate_rsb() is a bit excessive reaction to that\nand in case of dlm_recover_master_copy() we would actually oops before\nthat while calculating hash of up to 64Kb worth of data - with data\nactually being 64 _bytes_ in kmalloc()\u0027ed struct.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "a5dd06313dbcec3a2c8a5e4a6f3ddb2a8fc72ec9",
      "tree": "50927394b52a4fa2d01cb9300cd49c3bb2f014c2",
      "parents": [
        "ae773d0b74bf2244887a6d0504372748381ab9c7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jan 25 20:22:22 2008 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Feb 04 01:25:58 2008 -0600"
      },
      "message": "dlm: receive_rcom_lock_args() overflow check\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "ae773d0b74bf2244887a6d0504372748381ab9c7",
      "tree": "43862e0dea715b3d07c4a456e35e4b67525c973b",
      "parents": [
        "cd9df1aac346f1c7f592739d092ff710c27bbcde"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jan 25 19:55:09 2008 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Feb 04 01:25:09 2008 -0600"
      },
      "message": "dlm: verify that places expecting rcom_lock have packet long enough\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "163a1859ec6c4c33547bf4613efabf52031566aa",
      "tree": "04a6dc1c69f726c6686d2a731692fddfdf47d2f2",
      "parents": [
        "eef7d739c218cb2546cf95686db77de0d76e4122"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jan 25 02:08:26 2008 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Feb 04 01:23:14 2008 -0600"
      },
      "message": "dlm: do not byteswap rcom_lock\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "eef7d739c218cb2546cf95686db77de0d76e4122",
      "tree": "4d6c0e65e8aff1afb2c6428c729a98274ccb1a6d",
      "parents": [
        "8b0d8e03f847d9c1677b8a193cd124debbc54633"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jan 25 00:58:46 2008 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Feb 04 01:22:42 2008 -0600"
      },
      "message": "dlm: dlm_process_incoming_buffer() fixes\n\n* check that length is large enough to cover the non-variable part of message or\n  rcom resp. (after checking that it\u0027s large enough to cover the header, of\n  course).\n\n* kill more pointless casts\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "8b0d8e03f847d9c1677b8a193cd124debbc54633",
      "tree": "e2b63705b4a4901f827c92f47acff9abd26875b8",
      "parents": [
        "8af03e782cae1e0a0f530ddd22301cdd12cf9dc0"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jan 25 00:28:28 2008 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Feb 04 01:21:32 2008 -0600"
      },
      "message": "dlm: use proper C for dlm/requestqueue stuff (and fix alignment bug)\n\na) don\u0027t cast the pointer to dlm_header *, we use it as dlm_message *\n   anyway.\nb) we copy the message into a queue element, then pass the pointer to\n   copy to dlm_receive_message_saved(); declare it properly to make sure\n   that we have the right alignment.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "85f0379aa0f9366bb6918e2e898a915231176fbd",
      "tree": "359544ba2ad34c1e49d4e6333b7c36cf8c7685f5",
      "parents": [
        "594199ebaae5d77f025974dfcfa6651cc81325a8"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 16 13:02:31 2008 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 30 11:04:43 2008 -0600"
      },
      "message": "dlm: keep cached master rsbs during recovery\n\nTo prevent the master of an rsb from changing rapidly, an unused rsb is kept\non the \"toss list\" for a period of time to be reused.  The toss list was\nbeing cleared completely for each recovery, which is unnecessary.  Much of\nthe benefit of the toss list can be maintained if nodes keep rsb\u0027s in their\ntoss list that they are the master of.  These rsb\u0027s need to be included\nwhen the resource directory is rebuilt during recovery.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "594199ebaae5d77f025974dfcfa6651cc81325a8",
      "tree": "35e4d61197ec8c1cbc63274a3f4e6ad37bc9a265",
      "parents": [
        "ce5246b972f7514af899a63c0faf831d05ed5ee1"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 16 11:03:41 2008 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 30 11:04:43 2008 -0600"
      },
      "message": "dlm: change error message to debug\n\nThe invalid lockspace messages are normal and can appear relatively\noften.  They should be suppressed without debugging enabled.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "755b5eb8bac90b35dc901465a06081aaad94e9ae",
      "tree": "95fcee45218437aa2fbc17642feece9310f25abe",
      "parents": [
        "42dc1601a9a31e8da767a4a9c37bad844b3698ab"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 09 10:37:39 2008 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 30 11:04:42 2008 -0600"
      },
      "message": "dlm: limit dir lookup loop\n\nIn a rare case we may need to repeat a local resource directory lookup\ndue to a race with removing the rsb and removing the resdir record.\nWe\u0027ll never need to do more than a single additional lookup, though,\nso the infinite loop around the lookup can be removed.  In addition\nto being unnecessary, the infinite loop is dangerous since some other\nunknown condition may appear causing the loop to never break.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "42dc1601a9a31e8da767a4a9c37bad844b3698ab",
      "tree": "9dad1fcde32f07438a3eec34d6b4d2497ba6082d",
      "parents": [
        "c54e04b00fe027da30ada5af76b6749772dd644a"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 09 10:30:45 2008 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 30 11:04:42 2008 -0600"
      },
      "message": "dlm: reject normal unlock when lock is waiting for lookup\n\nNon-forced unlocks should be rejected if the lock is waiting on the\nrsb_lookup list for another lock to establish the master node.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "c54e04b00fe027da30ada5af76b6749772dd644a",
      "tree": "753945bb24638e9798220b2880650b4ba3211e40",
      "parents": [
        "46b43eed7018bab3a4e8c259eed27697b9170cb8"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 09 09:59:41 2008 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 30 11:04:42 2008 -0600"
      },
      "message": "dlm: validate messages before processing\n\nThere was some hit and miss validation of messages that has now been\ncleaned up and unified.  Before processing a message, the new\nvalidate_message() function checks that the lkb is the appropriate type,\nprocess-copy or master-copy, and that the message is from the correct\nnodeid for the the given lkb.  Other checks and assertions on the\nlkb type and nodeid have been removed.  The assertions were particularly\nbad since they would panic the machine instead of just ignoring the bad\nmessage.\n\nAlthough other recent patches have made processing old message unlikely,\nit still may be possible for an old message to be processed and caught\nby these checks.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "46b43eed7018bab3a4e8c259eed27697b9170cb8",
      "tree": "d5a1c23ba3bb40ff2fcea4e635c72f2a33ff6ba7",
      "parents": [
        "aec64e1be2225c6fc64499594d23257c6adf6168"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Tue Jan 08 16:24:00 2008 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 30 11:04:42 2008 -0600"
      },
      "message": "dlm: reject messages from non-members\n\nMessages from nodes that are no longer members of the lockspace should be\nignored.  When nodes are removed from the lockspace, recovery can\nsometimes complete quickly enough that messages arrive from a removed node\nafter recovery has completed.  When processed, these messages would often\ncause an error message, and could in some cases change some state, causing\nproblems.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "aec64e1be2225c6fc64499594d23257c6adf6168",
      "tree": "d4aa437666e7b8a04e926d27f5e6f29e0f037715",
      "parents": [
        "601342ce022b964f756b67f2eb99b605c1afa3ed"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Tue Jan 08 15:37:47 2008 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 30 11:04:42 2008 -0600"
      },
      "message": "dlm: another call to confirm_master in receive_request_reply\n\nWhen a failed request (EBADR or ENOTBLK) is unlocked/canceled instead of\nretried, there may be other lkb\u0027s waiting on the rsb_lookup list for it\nto complete.  A call to confirm_master() is needed to move on to the next\nwaiting lkb since the current one won\u0027t be retried.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "601342ce022b964f756b67f2eb99b605c1afa3ed",
      "tree": "78b8c873dbc41bca33ed23dcf61fbea1572a007c",
      "parents": [
        "8a358ca8e738b6226b004efea462ac28c0a2bbb1"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Jan 07 16:15:05 2008 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 30 11:04:42 2008 -0600"
      },
      "message": "dlm: recover locks waiting for overlap replies\n\nWhen recovery looks at locks waiting for replies, it fails to consider\nlocks that have already received a reply for their first remote operation,\nbut not received a reply for secondary, overlapping unlock/cancel.  The\nappropriate stub reply needs to be called for these waiters.\n\nAppears when we start doing recovery in the presence of a many overlapping\nunlock/cancel ops.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "8a358ca8e738b6226b004efea462ac28c0a2bbb1",
      "tree": "b604770315d797d907f8aff4bd7c17f26ccf3ae4",
      "parents": [
        "861e2369e9e7e003677f99f22c4d1f05d3ed66d3"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Jan 07 15:55:18 2008 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 30 11:04:42 2008 -0600"
      },
      "message": "dlm: clear ast_type when removing from astqueue\n\nThe lkb_ast_type field indicates whether the lkb is on the astqueue list.\nWhen clearing locks for a process, lkb\u0027s were being removed from the astqueue\nlist without clearing the field.  If release_lockspace then happened\nimmediately afterward, it could try to remove the lkb from the list a second\ntime.\n\nAppears when process calls libdlm dlm_release_lockspace() which first\ncloses the ls dev triggering clear_proc_locks, and then removes the ls\n(a write to control dev) causing release_lockspace().\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "52bda2b5bab87c388848bbc0f4d28d04858d5a7d",
      "tree": "feccf9f201d21fa3891884cfb7a46883b1adfea6",
      "parents": [
        "11b2498ba7c88343d91630d679c8f2aeb8d57c48"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Nov 07 09:06:49 2007 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Tue Jan 29 17:17:19 2008 -0600"
      },
      "message": "dlm: use dlm prefix on alloc and free functions\n\nThe dlm functions in memory.c should use the dlm_ prefix.  Also, use\nkzalloc/kfree directly for dlm_direntry\u0027s, removing the wrapper functions.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "11b2498ba7c88343d91630d679c8f2aeb8d57c48",
      "tree": "2310871d4ab425ffce51fc515009b5677ceea0e0",
      "parents": [
        "e028398da7615dd3a795505ddf7942506bbb49bd"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Nov 07 09:06:06 2007 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Tue Jan 29 17:17:08 2008 -0600"
      },
      "message": "dlm: don\u0027t print common non-errors\n\nChange log_error() to log_debug() for conditions that can occur in\nlarge number in normal operation.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "e028398da7615dd3a795505ddf7942506bbb49bd",
      "tree": "fde1547e7113147ff7594e9c15ff71473af63201",
      "parents": [
        "6bd8fedaa16da1e24f38712ee759950d8c5f4f09"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sat Nov 03 01:04:30 2007 +0100"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Tue Jan 29 17:16:52 2008 -0600"
      },
      "message": "dlm: proper prototypes\n\nThis patch adds a proper prototype for some functions in\nfs/dlm/dlm_internal.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "c36258b5925e6cf6bf72904635100593573bfcff",
      "tree": "565f1ce29a7f8a2cd1c25f2d36c932727adbdbc2",
      "parents": [
        "b434eda6fda5bcdcc2dd918e5ffbf7184f2d4e17"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Sep 27 15:53:38 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Oct 10 08:56:38 2007 +0100"
      },
      "message": "[DLM] block dlm_recv in recovery transition\n\nIntroduce a per-lockspace rwsem that\u0027s held in read mode by dlm_recv\nthreads while working in the dlm.  This allows dlm_recv activity to be\nsuspended when the lockspace transitions to, from and between recovery\ncycles.\n\nThe specific bug prompting this change is one where an in-progress\nrecovery cycle is aborted by a new recovery cycle.  While dlm_recv was\nprocessing a recovery message, the recovery cycle was aborted and\ndlm_recoverd began cleaning up.  dlm_recv decremented recover_locks_count\non an rsb after dlm_recoverd had reset it to zero.  This is fixed by\nsuspending dlm_recv (taking write lock on the rwsem) before aborting the\ncurrent recovery.\n\nThe transitions to/from normal and recovery modes are simplified by using\nthis new ability to block dlm_recv.  The switch from normal to recovery\nmode means dlm_recv goes from processing locking messages, to saving them\nfor later, and vice versa.  Races are avoided by blocking dlm_recv when\nsetting the flag that switches between modes.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "b434eda6fda5bcdcc2dd918e5ffbf7184f2d4e17",
      "tree": "e1931dffbbf294fe1d087e9215ee7143517636e2",
      "parents": [
        "5a60c532c9224babc172fafccc9e2fec6937af6f"
      ],
      "author": {
        "name": "Patrick Caulfield",
        "email": "pcaulfie@redhat.com",
        "time": "Mon Oct 01 15:28:42 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Oct 10 08:56:36 2007 +0100"
      },
      "message": "[DLM] don\u0027t overwrite castparam if it\u0027s NULL\n\nIf the castaddr passed to the userland API is NULL then don\u0027t overwrite the\nexisting castparam. This allows a different thread to cancel a lock request and\nthe CANCEL AST gets delivered to the original thread.\n\nbz#306391 (for RHEL4) refers.\n\nSigned-Off-By: Patrick Caulfield \u003cpcaulfie@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "3650925893469ccb03dbcc6a440c5d363350f591",
      "tree": "8f0b9d6ce880547723cb6590c27799821b9c2f96",
      "parents": [
        "9e5f2825a8b721360b291f14f42cd7a25781156b"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Tue Aug 07 09:44:48 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Aug 14 10:31:02 2007 +0100"
      },
      "message": "[DLM] fix basts for granted PR waiting CW\n\nFix a long standing bug where a blocking callback would be missed\nwhen there\u0027s a granted lock in PR mode and waiting locks in both\nPR and CW modes (and the PR lock was added to the waiting queue\nbefore the CW lock).  The logic simply compared the numerical values\nof the modes to determine if a blocking callback was required, but in\nthe one case of PR and CW, the lower valued CW mode blocks the higher\nvalued PR mode.  We just need to add a special check for this PR/CW\ncase in the tests that decide when a blocking callback is needed.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "44f487a5536a3afd96a9f571de24c36559e9ae82",
      "tree": "1bbdb85a23c75a29e49ec0b7a1cbb6834a5b55e6",
      "parents": [
        "292e539e9386823df8aab556f3da09667f78da8c"
      ],
      "author": {
        "name": "Patrick Caulfield",
        "email": "pcaulfie@redhat.com",
        "time": "Wed Jun 06 09:21:22 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jul 09 08:23:17 2007 +0100"
      },
      "message": "[DLM] variable allocation\n\nAdd a new flag, DLM_LSFL_FS, to be used when a file system creates a lockspace.\nThis flag causes the dlm to use GFP_NOFS for allocations instead of GFP_KERNEL.\n(This updated version of the patch uses gfp_t for ls_allocation.)\n\nSigned-Off-By: Patrick Caulfield \u003cpcaulfie@redhat.com\u003e\nSigned-Off-By: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "8b4021fa436f7c76a2299e6d85d4d4a619724e9a",
      "tree": "4e3be51910ede8a36d640229bb1d20d3f7547652",
      "parents": [
        "84d8cd69a8e7f1c9962f46bc79850c9f1f663806"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Tue May 29 08:46:00 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jul 09 08:22:54 2007 +0100"
      },
      "message": "[DLM] canceling deadlocked lock\n\nAdd a function that can be used through libdlm by a system daemon to cancel\nanother process\u0027s deadlocked lock.  A completion ast with EDEADLK is returned\nto the process waiting for the lock.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "84d8cd69a8e7f1c9962f46bc79850c9f1f663806",
      "tree": "4c0cedc62e7b94ba2aaa1ea9faeb7de074e08e08",
      "parents": [
        "b3cab7b9a34a6e65c1ca8f80fb57b256d57e8555"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Tue May 29 08:44:23 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jul 09 08:22:52 2007 +0100"
      },
      "message": "[DLM] timeout fixes\n\nVarious fixes related to the new timeout feature:\n- add_timeout() missed setting TIMEWARN flag on lkb\u0027s when the\n  TIMEOUT flag was already set\n- clear_proc_locks should remove a dead process\u0027s locks from the\n  timeout list\n- the end-of-life calculation for user locks needs to consider that\n  ETIMEDOUT is equivalent to -DLM_ECANCEL\n- make initial default timewarn_cs config value visible in configfs\n- change bit position of TIMEOUT_CANCEL flag so it\u0027s not copied to\n  a remote master node\n- set timestamp on remote lkb\u0027s so a lock dump will display the time\n  they\u0027ve been waiting\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "b3cab7b9a34a6e65c1ca8f80fb57b256d57e8555",
      "tree": "571298c30e9e85afa847822488d532b5172f9110",
      "parents": [
        "518bbde33f7a6b4e252ea2591c77ef796065afa8"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue May 29 11:14:21 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jul 09 08:22:49 2007 +0100"
      },
      "message": "[DLM] Compile fix\n\nA one liner fix which got missed from the earlier patches.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Fabio Massimo Di Nitto \u003cfabbione@ubuntu.com\u003e\nCc: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "639aca417d91ebba1077a6084e4423af1c1dd811",
      "tree": "b542aa0720998f1f64fe629bdc950668f33efdf4",
      "parents": [
        "8b0e7b2cf35aa827ed5efb508c1879481b970496"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri May 18 16:02:57 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jul 09 08:22:45 2007 +0100"
      },
      "message": "[DLM] fix compile breakage\n\nIn the rush to get the previous patch set sent, a compilation bug I fixed\nshortly before sending somehow got clobbered, probably by a missed quilt\nrefresh or something.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "c85d65e91430db94ae9ce0cf38b56e496658b642",
      "tree": "5ab6e0399594df5fa53793ca8f922e0a55f0aca3",
      "parents": [
        "d7db923ea4990edb5583bf54af868ba687a1bc84"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri May 18 09:01:26 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jul 09 08:22:38 2007 +0100"
      },
      "message": "[DLM] cancel in conversion deadlock [4/6]\n\nWhen conversion deadlock is detected, cancel the conversion and return\nEDEADLK to the application.  This is a new default behavior where before\nthe dlm would allow the deadlock to exist indefinately.\n\nThe DLM_LKF_NODLCKWT flag can now be used in a conversion to prevent the\ndlm from performing conversion deadlock detection/cancelation on it.\nThe DLM_LKF_CONVDEADLK flag can continue to be used as before to tell the\ndlm to demote the granted mode of the lock being converted if it gets into\na conversion deadlock.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "d7db923ea4990edb5583bf54af868ba687a1bc84",
      "tree": "3efa0db00a3a6400f43a65aef2726fa813f9dfa2",
      "parents": [
        "3ae1acf93a21512512f8a78430fcde5992dd208e"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri May 18 09:00:32 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jul 09 08:22:36 2007 +0100"
      },
      "message": "[DLM] dlm_device interface changes [3/6]\n\nChange the user/kernel device interface used by libdlm:\n- Add ability for userspace to check the version of the interface.  libdlm\n  can now adapt to different versions of the kernel interface.\n- Increase the size of the flags passed in a lock request so all possible\n  flags can be used from userspace.\n- Add an opaque \"xid\" value for each lock.  This \"transaction id\" will be\n  used later to associate locks with each other during deadlock detection.\n- Add a \"timeout\" value for each lock.  This is used along with the\n  DLM_LKF_TIMEOUT flag.\n\nAlso, remove a fragment of unused code in device_read().\n\nThis patch requires updating libdlm which is backward compatible with\nolder kernels.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "3ae1acf93a21512512f8a78430fcde5992dd208e",
      "tree": "878ed3c619530c6acf862ecf663063f66fc47a06",
      "parents": [
        "85e86edf951a8a39954c0ba1edbe4a58827dcd5c"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri May 18 08:59:31 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jul 09 08:22:33 2007 +0100"
      },
      "message": "[DLM] add lock timeouts and warnings [2/6]\n\nNew features: lock timeouts and time warnings.  If the DLM_LKF_TIMEOUT\nflag is set, then the request/conversion will be canceled after waiting\nthe specified number of centiseconds (specified per lock).  This feature\nis only available for locks requested through libdlm (can be enabled for\nkernel dlm users if there\u0027s a use for it.)\n\nIf the new DLM_LSFL_TIMEWARN flag is set when creating the lockspace, then\na warning message will be sent to userspace (using genetlink) after a\nrequest/conversion has been waiting for a given number of centiseconds\n(configurable per node).  The time warnings will be used in the future\nto do deadlock detection in userspace.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "85e86edf951a8a39954c0ba1edbe4a58827dcd5c",
      "tree": "0d605cdea61d8301c20a87784456a660aba89017",
      "parents": [
        "916297aad5de2363dccd531873eda55d4d6afb57"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri May 18 08:58:15 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jul 09 08:22:31 2007 +0100"
      },
      "message": "[DLM] block scand during recovery [1/6]\n\nDon\u0027t let dlm_scand run during recovery since it may try to do a resource\ndirectory removal while the directory nodes are changing.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "7d3c1feb80913ba4253c3517d48b9b3741c44fc9",
      "tree": "e52a741e4148c7193617e17d34dc68dc735e0392",
      "parents": [
        "5f8820960cf4fb621483d4a37c24939ad831bfe7"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Apr 19 10:30:41 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue May 01 09:11:36 2007 +0100"
      },
      "message": "[DLM] fix mode munging\n\nThere are flags to enable two specialized features in the dlm:\n1. CONVDEADLK causes the dlm to resolve conversion deadlocks internally by\n   changing the granted mode of locks to NL.\n2. ALTPR/ALTCW cause the dlm to change the requested mode of locks to PR\n   or CW to grant them if the normal requested mode can\u0027t be granted.\n\nGFS direct i/o exercises both of these features, especially when mixed\nwith buffered i/o.  The dlm has problems with them.\n\nThe first problem is on the master node. If it demotes a lock as a part of\nconverting it, the actual step of converting the lock isn\u0027t being done\nafter the demotion, the lock is just left sitting on the granted queue\nwith a granted mode of NL.  I think the mistaken assumption was that the\ncall to grant_pending_locks() would grant it, but that function naturally\ndoesn\u0027t look at locks on the granted queue.\n\nThe second problem is on the process node.  If the master either demotes\nor gives an altmode, the munging of the gr/rq modes is never done in the\nprocess copy of the lock, leaving the master/process copies out of sync.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "ce03f12b37c0bd81ad707d3642241cc55c944711",
      "tree": "11f6eba9b44a29d0c203c99c47d351152d25529a",
      "parents": [
        "72c2be776bd6eec5186e316e6d9dd4aab78d314d"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Apr 02 12:12:55 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue May 01 09:11:15 2007 +0100"
      },
      "message": "[DLM] change lkid format\n\nA lock id is a uint32 and is used as an opaque reference to the lock.  For\nuserland apps, the lkid is passed up, through libdlm, as the return value\nfrom a write() on the dlm device.  This created a problem when the high\nbit was 1, making the lkid look like an error.  This is fixed by changing\nhow the lkid is composed.  The low 16 bits identified the hash bucket for\nthe lock and the high 16 bits were a per-bucket counter (which eventually\nhit 0x8000 causing the problem).  These are simply swapped around; the\nnumber of hash table buckets is far below 0x8000, making all lkid\u0027s\npositive when viewed as signed.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "8499137d4ef1829281e04838113b6b09a0bf1269",
      "tree": "9083983db5099f0a4764194aabc27f81342f13ea",
      "parents": [
        "7e4dac33594468153c38b5c94d8ebcafb0e0a68d"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri Mar 30 15:02:40 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue May 01 09:11:10 2007 +0100"
      },
      "message": "[DLM] add orphan purging code (1/2)\n\nAdd code for purging orphan locks.  A process can also purge all of its\nown non-orphan locks by passing a pid of zero.  Code already exists for\nprocesses to create persistent locks that become orphans when the process\nexits, but the complimentary capability for another process to then purge\nthese orphans has been missing.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "7e4dac33594468153c38b5c94d8ebcafb0e0a68d",
      "tree": "162910796a02f05843cafaf8a90a81330e66a122",
      "parents": [
        "f01963f2648cfd708ee8d521b3737cfa55ea8795"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Apr 02 09:06:41 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue May 01 09:11:07 2007 +0100"
      },
      "message": "[DLM] split create_message function\n\nThis splits the current create_message() function into two parts so that\nlater patches can call the new lower-level _create_message() function when\nthey don\u0027t have an rsb struct.  No functional change in this patch.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "ef0c2bb05f40f9a0cd2deae63e199bfa62faa7fa",
      "tree": "df73645f93cfec29fe5b854ff5990a69b03d5c1d",
      "parents": [
        "032067270295cfca11975c0f7b467244aa170c14"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Mar 28 09:56:46 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue May 01 09:11:00 2007 +0100"
      },
      "message": "[DLM] overlapping cancel and unlock\n\nFull cancel and force-unlock support.  In the past, cancel and force-unlock\nwouldn\u0027t work if there was another operation in progress on the lock.  Now,\nboth cancel and unlock-force can overlap an operation on a lock, meaning there\nmay be 2 or 3 operations in progress on a lock in parallel.  This support is\nimportant not only because cancel and force-unlock are explicit operations\nthat an app can use, but both are used implicitly when a process exits while\nholding locks.\n\nSummary of changes:\n\n- add-to and remove-from waiters functions were rewritten to handle situations\n  with more than one remote operation outstanding on a lock\n\n- validate_unlock_args detects when an overlapping cancel/unlock-force\n  can be sent and when it needs to be delayed until a request/lookup\n  reply is received\n\n- processing request/lookup replies detects when cancel/unlock-force\n  occured during the op, and carries out the delayed cancel/unlock-force\n\n- manipulation of the \"waiters\" (remote operation) state of a lock moved under\n  the standard rsb mutex that protects all the other lock state\n\n- the two recovery routines related to locks on the waiters list changed\n  according to the way lkb\u0027s are now locked before accessing waiters state\n\n- waiters recovery detects when lkb\u0027s being recovered have overlapping\n  cancel/unlock-force, and may not recover such locks\n\n- revert_lock (cancel) returns a value to distinguish cases where it did\n  nothing vs cases where it actually did a cancel; the cancel completion ast\n  should only be done when cancel did something\n\n- orphaned locks put on new list so they can be found later for purging\n\n- cancel must be called on a lock when making it an orphan\n\n- flag user locks (ENDOFLIFE) at the end of their useful life (to the\n  application) so we can return an error for any further cancel/unlock-force\n\n- we weren\u0027t setting COMP/BAST ast flags if one was already set, so we\u0027d lose\n  either a completion or blocking ast\n\n- clear an unread bast on a lock that\u0027s become unlocked\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "62a0f62369b0fece37f6652d69b918c89d53c3b3",
      "tree": "1b32f039b103dbb34af458ec593728682913505f",
      "parents": [
        "9beeb9f3c5b0401491f59b71521ab2678f584b09"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 31 13:25:00 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:38:24 2007 -0500"
      },
      "message": "[DLM] zero new user lvbs\n\nA new lvb for a userland lock wasn\u0027t being initialized to zero.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "b790c3b7c38aae28c497bb363a6fe72f7c96568f",
      "tree": "e4dda1c5c775b4ae164a997f1216147066de31e3",
      "parents": [
        "8fd3a98f2c22982aff4d29e4ee72959d3032c123"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 24 10:21:33 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:37:50 2007 -0500"
      },
      "message": "[DLM] can miss clearing resend flag\n\nA long, complicated sequence of events, beginning with the RESEND flag not\nbeing cleared on an lkb, can result in an unlock never completing.\n\n- lkb on waiters list for remote lookup\n- the remote node is both the dir node and the master node, so\n  it optimizes the lookup into a request and sends a request\n  reply back\n- the request reply is saved on the requestqueue to be processed\n  after recovery\n- recovery runs dlm_recover_waiters_pre() which sets RESEND flag\n  so the lookup will be resent after recovery\n- end of recovery: process_requestqueue takes saved request reply\n  which removes the lkb off the waitesr list, _without_ clearing\n  the RESEND flag\n- end of recovery: dlm_recover_waiters_post() doesn\u0027t do anything\n  with the now completed lookup lkb (would usually clear RESEND)\n- later, the node unmounts, unlocks this lkb that still has RESEND\n  flag set\n- the lkb is on the waiters list again, now for unlock, when recovery\n  occurs, dlm_recover_waiters_pre() shows the lkb for unlock with RESEND\n  set, doesn\u0027t do anything since the master still exists\n- end of recovery: dlm_recover_waiters_post() takes this lkb off\n  the waiters list because it has the RESEND flag set, then reports\n  an error because unlocks are never supposed to be handled in\n  recover_waiters_post().\n- later, the unlock reply is received, doesn\u0027t find the lkb on\n  the waiters list because recover_waiters_post() has wrongly\n  removed it.\n- the unlock operation has been lost, and we\u0027re left with a\n  stray granted lock\n- unmount spins waiting for the unlock to complete\n\nThe visible evidence of this problem will be a node where gfs umount is\nspinning, the dlm waiters list will be empty, and the dlm locks list will\nshow a granted lock.\n\nThe fix is simply to clear the RESEND flag when taking an lkb off the\nwaiters list.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "8fd3a98f2c22982aff4d29e4ee72959d3032c123",
      "tree": "9d4b75dc24d506572d7f2700f0d68f568969e62d",
      "parents": [
        "f1f1c1ccf7848a6e25db30ee9216e1a1e7eb6bef"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 24 10:11:45 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:37:47 2007 -0500"
      },
      "message": "[DLM] saved dlm message can be dropped\n\ndlm_receive_message() returns 0 instead of returning \u0027error\u0027.  What would\nhappen is that process_requestqueue would take a saved message off the\nrequestqueue and call receive_message on it.  receive_message would then\nsee that recovery had been aborted, set error to EINTR, and \u0027goto out\u0027,\nexpecting that the error would be returned.  Instead, 0 was always\nreturned, so process_requestqueue would think that the message had been\nprocessed and delete it instead of saving it to process next time.  This\nmeans the message (usually an unlock in my tests) would be lost.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "a1bc86e6bddd34362ca08a3a4d898eb4b5c15215",
      "tree": "92b30f8f9400c5a1b71a2e3a17397b9d0b2cc2f2",
      "parents": [
        "1d6e8131cf0064ef5ab5f3411a82b800afbfadee"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Jan 15 10:34:52 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:36:55 2007 -0500"
      },
      "message": "[DLM] fix user unlocking\n\nWhen a user process exits, we clear all the locks it holds.  There is a\nproblem, though, with locks that the process had begun unlocking before it\nexited.  We couldn\u0027t find the lkb\u0027s that were in the process of being\nunlocked remotely, to flag that they are DEAD.  To solve this, we move\nlkb\u0027s being unlocked onto a new list in the per-process structure that\ntracks what locks the process is holding.  We can then go through this\nlist to flag the necessary lkb\u0027s when clearing locks for a process when it\nexits.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "68c817a1c4e21b893672ac73d8a498e6647453aa",
      "tree": "12c0fe9bd087ac1a0189048a7f4535993d6cb697",
      "parents": [
        "8ec6886748443bec53ce9b9bf50cec92bc417a1b"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Tue Jan 09 09:41:48 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:36:37 2007 -0500"
      },
      "message": "[DLM] rename dlm_config_info fields\n\nAdd a \"ci_\" prefix to the fields in the dlm_config_info struct so that we\ncan use macros to add configfs functions to access them (in a later\npatch).  No functional changes in this patch, just naming changes.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "075529b5e1ffa8c9864d23930b71b5306a13d9f8",
      "tree": "414833bf6041a82f9e0cd2f813b05fe2da37ead8",
      "parents": [
        "8d07fd509e9c82a59e37b8b18a2fd0e8ef8fc837"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Dec 13 10:40:26 2006 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:36:02 2007 -0500"
      },
      "message": "[DLM] fix lost flags in stub replies\n\nWhen the dlm fakes an unlock/cancel reply from a failed node using a stub\nmessage struct, it wasn\u0027t setting the flags in the stub message.  So, in\nthe process of receiving the fake message the lkb flags would be updated\nand cleared from the zero flags in the message.  The problem observed in\ntests was the loss of the USER flag which caused the dlm to think a user\nlock was a kernel lock and subsequently fail an assertion checking the\nvalidity of the ast/callback field.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "8d07fd509e9c82a59e37b8b18a2fd0e8ef8fc837",
      "tree": "165b88e0208e00301a5069507e84df597d636de8",
      "parents": [
        "da49f36f4f64feb281d7663be99e779b2aecc607"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Dec 13 10:39:20 2006 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:35:59 2007 -0500"
      },
      "message": "[DLM] fix receive_request() lvb copying\n\nLVB\u0027s are not sent as part of new requests, but the code receiving the\nrequest was copying data into the lvb anyway.  The space in the message\nwhere it mistakenly thought the lvb lived actually contained the resource\nname, so it wound up incorrectly copying this name data into the lvb.  Fix\nis to just create the lvb, not copy junk into it.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "da49f36f4f64feb281d7663be99e779b2aecc607",
      "tree": "53e2a66d70eac2d2d3ab4ff9ced6a2d674c0c815",
      "parents": [
        "9e971b715dcc3cd5f4383f2815aaa7e5853d1f7b"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Dec 13 10:38:45 2006 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:35:56 2007 -0500"
      },
      "message": "[DLM] fix send_args() lvb copying\n\nThe send_args() function is used to copy parameters into a message for a\nnumber different message types.  Only some of those types are set up\nbeforehand (in create_message) to include space for sending lvb data.\nsend_args was wrongly copying the lvb for all message types as long as the\nlock had an lvb.  This means that the lvb data was being written past the\nend of the message into unknown space.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "dc200a8848cca8b0e99012996c66f4b379a390ed",
      "tree": "8237c1e9d972beabbc674136d33479eddd396e7d",
      "parents": [
        "c378051177dce4421428fd1691ffdf15ad57c161"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Dec 13 10:36:37 2006 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:35:47 2007 -0500"
      },
      "message": "[DLM] fix resend rcom lock\n\nThere\u0027s a chance the new master of resource hasn\u0027t learned it\u0027s the new\nmaster before another node sends it a lock during recovery.  The node\nsending the lock needs to resend if this happens.\n\n- A sends a master lookup for resource R to C\n- B sends a master lookup for resource R to C\n- C receives A\u0027s lookup, assigns A to be master of R and\n  sends a reply back to A\n- C receives B\u0027s lookup and sends a reply back to B saying\n  that A is the master\n- B receives lookup reply from C and sends its lock for R to A\n- A receives lock from B, doesn\u0027t think it\u0027s the master of R\n  and sends an error back to B\n- A receives lookup reply from C and becomes master of R\n- B gets error back from A and resends its lock back to A\n  (this resending is what this patch does)\n- A receives lock from B, it now sees it\u0027s the master of R\n  and takes the lock\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "6f90a8b1b87f97144911790390d56f695b59db9b",
      "tree": "1a6a4d972984554535aec02880af159f45128668",
      "parents": [
        "4b77f2c93d052adca8cc8690b9b5e7f8798f4ddd"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri Nov 10 14:16:27 2006 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 30 10:35:27 2006 -0500"
      },
      "message": "[DLM] clear sbflags on lock master\n\nRH BZ 211622\n\nThe ALTMODE flag can be set in the lock master\u0027s copy of the lock but\nnever cleared, so ALTMODE will also be returned in a subsequent conversion\nof the lock when it shouldn\u0027t be.  This results in lock_dlm incorrectly\nswitching to the alternate lock mode when returning the result to gfs\nwhich then asserts when it sees the wrong lock state.  The fix is to\npropagate the cleared sbflags value to the master node when the lock is\nrequested.  QA\u0027s d_rwrandirectlarge test triggers this bug very quickly.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "d4400156d415540086c34a06e5d233122d6bf56a",
      "tree": "747e4d270fb453d57926d6b6cab564664d9d2c0f",
      "parents": [
        "435618b75b82b5ee511cc01fcdda9c44adb2f4bd"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Tue Oct 31 11:55:56 2006 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 30 10:35:10 2006 -0500"
      },
      "message": "[DLM] fix requestqueue race\n\nRed Hat BZ 211914\n\nThere\u0027s a race between dlm_recoverd (1) enabling locking and (2) clearing\nout the requestqueue, and dlm_recvd (1) checking if locking is enabled and\n(2) adding a message to the requestqueue.  An order of recoverd(1),\nrecvd(1), recvd(2), recoverd(2) will result in a message being left on the\nrequestqueue.  The fix is to have dlm_recvd check if dlm_recoverd has\nenabled locking after taking the mutex for the requestqueue and if it has\nprocessing the message instead of queueing it.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "907b9bceb41fa46beae93f79cc4a2247df502c0f",
      "tree": "7229e00c1f33fdd097fcacacd6208f2390e4728a",
      "parents": [
        "7276b3b0c77101f8b3f4e45e89a29cf9045e831a"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 25 09:26:04 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 25 09:26:04 2006 -0400"
      },
      "message": "[GFS2/DLM] Fix trailing whitespace\n\nAs per Andrew Morton\u0027s request, removed trailing whitespace.\n\nCc: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "fa9f0e4925c7796afd14bf7bbf7a064078818bbc",
      "tree": "eaa690bf742fafef333b11b50c5aed6468e7f891",
      "parents": [
        "37b2fa6a24f996d751dc80fbc8a77602cead269b"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri Sep 08 08:36:35 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Sep 08 17:00:12 2006 -0400"
      },
      "message": "[DLM] confirm master for recovered waiting requests\n\nFixing the following scenario:\n- A request is on the waiters list waiting for a reply from a remote node.\n- The request is the first one on the resource, so first_lkid is set.\n- The remote node fails causing recovery.\n- During recovery the requesting node becomes master.\n- The request is now processed locally instead of being a remote operation.\n- At this point we need to call confirm_master() on the resource since\n  we\u0027re certain we\u0027re now the master node.  This will clear first_lkid.\n- We weren\u0027t calling confirm_master(), so first_lkid was not being cleared\n  causing subsequent requests on that resource to get stuck.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "32f105a123804c7882d447f013aeb3530b4d63c0",
      "tree": "8e8006aa63fc31290d3cd1bc5e93b9cd3f9580d7",
      "parents": [
        "c059f70e357af1adcfc1a9294e44cdd945adb841"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Aug 23 16:07:31 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Aug 23 16:07:31 2006 -0400"
      },
      "message": "[DLM] down conversion clearing flags\n\nThe down-conversion optimization was resulting in the lkb flags being\ncleared because the stub message reply had no flags value set.  Copy the\ncurrent flags into the stub message so they\u0027ll be copied back into the lkb\nas part of processing the fake reply.  Also add an assertion to catch this\nerror more directly if it exists elsewhere.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "c059f70e357af1adcfc1a9294e44cdd945adb841",
      "tree": "5561a3e2173dcde3126b1ea03cfd380e693cadb4",
      "parents": [
        "10948eb4eddea6750a3b27f77bec423d844e6726"
      ],
      "author": {
        "name": "Patrick Caulfield",
        "email": "pcaulfie@redhat.com",
        "time": "Wed Aug 23 10:24:03 2006 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Aug 23 10:33:06 2006 -0400"
      },
      "message": "[DLM] down conversion clearing flags\n\nOh, and here\u0027s (hopefully) the last of these ua_tmp patches. I think I\u0027ve\ncaught all the paths now. Sorry it didn\u0027t make the last one.\n\nSigned-off-by: Patrick Caulfield \u003cpcaulfie@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n\n"
    },
    {
      "commit": "10948eb4eddea6750a3b27f77bec423d844e6726",
      "tree": "fd2546f577aa20562b1a6f7f7e1769a7eb6fb481",
      "parents": [
        "b8e1aabf218a2037d9d6a3256c33fc6ef96ac44c"
      ],
      "author": {
        "name": "Patrick Caulfield",
        "email": "pcaulfie@redhat.com",
        "time": "Wed Aug 23 09:49:31 2006 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Aug 23 09:55:40 2006 -0400"
      },
      "message": "[DLM] preserve lksb address in user conversions\n\nThis patch fixes bz#203444 where the LKSB was lost during userland conversion\noperations\n\nSigned-off-by: Patrick Caulfield \u003cpcaulfie@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n\n"
    },
    {
      "commit": "a345da3e8f28ff69e1b14df78f7ddc6e7b78b726",
      "tree": "a1aa40c1aae01064b64b953c9b4a16180dd82be9",
      "parents": [
        "15d00c0b91ca776b51b5ab04f79ab35b06670d30"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri Aug 18 11:54:25 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Aug 21 09:50:09 2006 -0400"
      },
      "message": "[DLM] dump rsb and locks on assert\n\nIntroduce new function dlm_dump_rsb() to call within assertions instead of\ndlm_print_rsb().  The new function dumps info about all locks on the rsb\nin addition to rsb details.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "cc346d555f2c3eb4a63b2df6bf9c9947f0a92a01",
      "tree": "9d1435929cedb6a7a4c5571dc6e40bdf0758dc62",
      "parents": [
        "2b557f6dc7899a0f6afc0169534346f8fa977a46"
      ],
      "author": {
        "name": "Patrick Caulfield",
        "email": "pcaulfie@redhat.com",
        "time": "Tue Aug 08 10:34:40 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Aug 08 10:34:40 2006 -0400"
      },
      "message": "[DLM] fix userland unlock\n\nThis patch fixes the userland DLM unlock code so that it correctly returns the\naddress of the userland lock status block in its completion AST.\n\nIt fixes bug #201348\n\nPatrick\n\nSigned-Off-By: Patrick Caulfield \u003cpcaulfie@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "81456807a33c2122e2f1f92acfbaaa77b3d06c3c",
      "tree": "5b6d5ed0aa171d564e343b1c51105a79757506eb",
      "parents": [
        "2b4e926aab7c854a536beee6ba8b9a78a9e00316"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Tue Jul 25 14:05:09 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jul 26 08:42:57 2006 -0400"
      },
      "message": "[DLM] schedule during long loop through locks\n\nThe loop through all waiting locks in recover_waiters can potentially be\nlong, so we should schedule explicitly.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "2b4e926aab7c854a536beee6ba8b9a78a9e00316",
      "tree": "52cf392546f0a5c0453abdf3e38a89059b04a3a8",
      "parents": [
        "f7da790d743d2f0b4f39e4fa442079b3b54f3bef"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Tue Jul 25 13:59:48 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jul 26 08:42:26 2006 -0400"
      },
      "message": "[DLM] fix loop in grant_after_purge\n\nThe loop in grant_after_purge is intended to find all rsb\u0027s in each hash\nbucket that have the LOCKS_PURGED flag set.  The loop was quitting the\ncurrent bucket after finding just one rsb instead of going until there are\nno more.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "34e22bed19013c77f942083e25cfc7adf6c71a8f",
      "tree": "18c44bb1e3e3d40fc04f61020497f935a97df576",
      "parents": [
        "3b4a0a74949cf4f87f7ca84cc0457eb5687b2923"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Tue Jul 18 11:24:04 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jul 20 00:11:15 2006 -0400"
      },
      "message": "[DLM] fix leaking user locks\n\nUser NOQUEUE lock requests to a remote node that failed with -EAGAIN were\nnever being removed from a process\u0027s list of locks.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "3b4a0a74949cf4f87f7ca84cc0457eb5687b2923",
      "tree": "eac5d789031b9669ae7142f2bd8214510df72871",
      "parents": [
        "e0f2bf780a970f7aae9263db2e14149132671cf2"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Jul 15 02:36:31 2006 +0200"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jul 20 00:09:09 2006 -0400"
      },
      "message": "[DLM] [RFC: -mm patch] fs/dlm/lock.c: unexport dlm_lvb_operations\n\nOn Thu, Jul 13, 2006 at 10:48:00PM -0700, Andrew Morton wrote:\n\u003e...\n\u003e Changes since 2.6.18-rc1-mm1:\n\u003e...\n\u003e  git-gfs2.patch\n\u003e...\n\u003e  git trees.\n\u003e...\n\nThis patch removes the unused EXPORT_SYMBOL_GPL(dlm_lvb_operations).\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "597d0cae0f99f62501e229bed50e8149604015bb",
      "tree": "b6cab09ff6fe2246740848164c0a52d5c03136a0",
      "parents": [
        "2eb168ca94aba3bcae350ad9b31870955174a218"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jul 12 16:44:04 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jul 13 09:25:34 2006 -0400"
      },
      "message": "[DLM] dlm: user locks\n\nThis changes the way the dlm handles user locks.  The core dlm is now\naware of user locks so they can be dealt with more efficiently.  There is\nno more dlm_device module which previously managed its own duplicate copy\nof every user lock.\n\nSigned-off-by: Patrick Caulfield \u003cpcaulfie@redhat.com\u003e\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n\n"
    },
    {
      "commit": "97a35d1e5fab9ff8de27814082b78b2fc9ad94f0",
      "tree": "551025da17641ccc4df7378da2bb94cedfb2482e",
      "parents": [
        "d2d7b8a2a756fb520792ca3db3abdeed9214ae5b"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Tue May 02 13:34:03 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue May 02 13:34:03 2006 -0400"
      },
      "message": "[DLM] fix grant_after_purge softlockup\n\nIn dlm_grant_after_purge() we were holding a hash table read_lock while\ncalling put_rsb() which potentially removes the rsb from the hash table,\ntaking the same lock in write.  Fix this by flagging rsb\u0027s ahead of time\nthat have been purged.  Then iteratively read_lock the hash table, find a\nflagged rsb, unlock, process rsb.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "b3f58d8f2b1200f1b9abbcfb9dec6c25bc787469",
      "tree": "8257d2131e2691d36561d497e89cc914b3f95c2f",
      "parents": [
        "5c676f6d359b0404d53f542f02e1359583cb2895"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Tue Feb 28 11:16:37 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Feb 28 11:16:37 2006 -0500"
      },
      "message": "[DLM] Pass in lockspace to lkb put function\n\nIn some cases a lockspace isn\u0027t attached to the lkb, so that\nit needs to be passed directly to the lkb put function.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "3bcd3687f895f178fa8480a7bcc47a363817354a",
      "tree": "13e64d5b9576b47401620aaada846f3c9c874cda",
      "parents": [
        "d35462b4bb847b68321c55e95c926aa485aecce2"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Feb 23 09:56:38 2006 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Feb 23 09:56:38 2006 +0000"
      },
      "message": "[DLM] Remove range locks from the DLM\n\nThis patch removes support for range locking from the DLM\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "901359256b2666f52a3a7d3f31927677e91b3a2a",
      "tree": "24d4ee2c1ad63a0e6c3a303ad67eac3342772c4f",
      "parents": [
        "ec5800246607183a1d7fd0bae5f087c12439e9e7"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri Jan 20 08:47:07 2006 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@chygwyn.com",
        "time": "Fri Jan 20 08:47:07 2006 +0000"
      },
      "message": "[DLM] Update DLM to the latest patch level\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steve Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e7fd41792fc0ee52a05fcaac87511f118328d147",
      "tree": "eee5227088ba97daef795e385b7548d2a1cc4cb6",
      "parents": [
        "e47314207032cfd1157b8c377df162839b32ea6f"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 18 09:30:29 2006 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jan 18 09:30:29 2006 +0000"
      },
      "message": "[DLM] The core of the DLM for GFS2/CLVM\n\nThis is the core of the distributed lock manager which is required\nto use GFS2 as a cluster filesystem. It is also used by CLVM and\ncan be used as a standalone lock manager independantly of either\nof these two projects.\n\nIt implements VAX-style locking modes.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steve Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    }
  ]
}
