)]}'
{
  "log": [
    {
      "commit": "89d799d008710e048ee14df4f4e5441e9f4d5d50",
      "tree": "76d6d11a5168e6062d04c64ce88c9d7a7e50e583",
      "parents": [
        "99fb19d49ecbeb390e023f58867c227a15f422f7"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Mar 25 14:23:13 2010 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri Apr 30 14:52:51 2010 -0500"
      },
      "message": "dlm: fix ast ordering for user locks\n\nCommit 7fe2b3190b8b299409f13cf3a6f85c2bd371f8bb fixed possible\nmisordering of completion asts (casts) and blocking asts (basts)\nfor kernel locks.  This patch does the same for locks taken by\nuser space applications.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "7fe2b3190b8b299409f13cf3a6f85c2bd371f8bb",
      "tree": "36af13880f834cd1c7fd92200ebcc33c64d9edf0",
      "parents": [
        "b0483e78e5c4c9871fc5541875b3bc006846d46b"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Feb 24 11:08:18 2010 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Feb 24 11:46:53 2010 -0600"
      },
      "message": "dlm: fix ordering of bast and cast\n\nWhen both blocking and completion callbacks are queued for lock,\nthe dlm would always deliver the completion callback (cast) first.\nIn some cases the blocking callback (bast) is queued before the\ncast, though, and should be delivered first.  This patch keeps\ntrack of the order in which they were queued and delivers them\nin that order.\n\nThis patch also keeps track of the granted mode in the last cast\nand eliminates the following bast if the bast mode is compatible\nwith the preceding cast mode.  This happens when a remotely mastered\nlock is demoted, e.g. EX-\u003eNL, in which case the local node queues\na cast immediately after sending the demote message.  In this way\na cast can be queued for a mode, e.g. NL, that makes an in-transit\nbast extraneous.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "573c24c4af6664ffcd9aa7ba617a35fde2b95534",
      "tree": "9222c0c8921fda5b842c2d1007d911d47bd4fe7c",
      "parents": [
        "a8a8a669ea13d792296737505adc43ccacf3a648"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Nov 30 16:34:43 2009 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Nov 30 16:34:43 2009 -0600"
      },
      "message": "dlm: always use GFP_NOFS\n\nReplace all GFP_KERNEL and ls_allocation with GFP_NOFS.\nls_allocation would be GFP_KERNEL for userland lockspaces\nand GFP_NOFS for file system lockspaces.\n\nIt was discovered that any lockspaces on the system can\naffect all others by triggering memory reclaim in the\nfile system which could in turn call back into the dlm\nto acquire locks, deadlocking dlm threads that were\nshared by all lockspaces, like dlm_recv.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "1fecb1c4b62881e3689ba2dcf93072ae301b597c",
      "tree": "bd0a111ea40bfaa0697e7b0c341660cd970a23a3",
      "parents": [
        "a536e38125fe5da8ed49690f30c30a8f651cf1f5"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Mar 04 11:17:23 2009 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Mar 11 12:23:59 2009 -0500"
      },
      "message": "dlm: fix length calculation in compat code\n\nUsing offsetof() to calculate name length does not work because\nit does not produce consistent results with with structure packing.\nThis caused memcpy to corrupt memory by copying 4 extra bytes off\nthe end of the buffer on 64 bit kernels with 32 bit userspace\n(the only case where this 32/64 compat code is used).\n\nThe fix is to calculate name length directly from the start instead\nof trying to derive it later using count and offsetof.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "fd22a51bcc0b7b76fc729b02316214fd979f9fe1",
      "tree": "e23326bb9df7cf0ee76b3b6b61c82364ff0aed78",
      "parents": [
        "03339696314fffb95dafb349b84243358e945ce6"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Tue Dec 09 11:55:46 2008 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Tue Dec 23 10:16:46 2008 -0600"
      },
      "message": "dlm: improve how bast mode handling\n\nThe lkb bastmode value is set in the context of processing the\nlock, and read by the dlm_astd thread.  Because it\u0027s accessed\nin these two separate contexts, the writing/reading ought to\nbe done under a lock.  This is simple to do by setting it and\nreading it when the lkb is added to and removed from dlm_astd\u0027s\ncallback list which is properly locked.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "f9f2ed486256f3480e4d499ffd6bf730bc5e6fc6",
      "tree": "adb359d0462f3d99451c15e98a8e4d7796677ddb",
      "parents": [
        "44be6fdf1056b685eb79e53e42bd2d321b085cfc"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Sep 04 12:51:20 2008 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Sep 04 12:55:13 2008 -0500"
      },
      "message": "dlm: remove bkl\n\nBLK from recent pushdown is not needed.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "dc68c7ed362a00a48290252573a8eb9f74463c3a",
      "tree": "99b8b64ea08d4990373d09e01b7bac2566ad3879",
      "parents": [
        "0f8e0d9a317406612700426fad3efab0b7bbc467"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Aug 18 11:43:30 2008 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Aug 28 11:49:43 2008 -0500"
      },
      "message": "dlm: detect available userspace daemon\n\nIf dlm_controld (the userspace daemon that controls the setup and\nrecovery of the dlm) fails, the kernel should shut down the lockspaces\nin the kernel rather than leaving them running.  This is detected by\nhaving dlm_controld hold a misc device open while running, and if\nthe kernel detects a close while the daemon is still needed, it stops\nthe lockspaces in the kernel.\n\nKnowing that the userspace daemon isn\u0027t running also allows the\nlockspace create/remove routines to avoid waiting on the daemon\nfor join/leave operations.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "0f8e0d9a317406612700426fad3efab0b7bbc467",
      "tree": "b4ed35afeab36615e50d5c7928a6199780fd2fca",
      "parents": [
        "4c246edd2550304df5b766cc841584b2bb058843"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Aug 06 13:30:24 2008 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Aug 28 11:49:15 2008 -0500"
      },
      "message": "dlm: allow multiple lockspace creates\n\nAdd a count for lockspace create and release so that create can\nbe called multiple times to use the lockspace from different places.\nAlso add the new flag DLM_LSFL_NEWEXCL to create a lockspace with\nthe previous behavior of returning -EEXIST if the lockspace already\nexists.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "cb980d9a3ec3d39e30e0a4c473df528c09e0dcf3",
      "tree": "817fd390f15904ef0b14b22b4b8c7a2055514337",
      "parents": [
        "30a2f3c60a84092c8084dfe788b710f8d0768cd4"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Tue Jul 29 15:21:19 2008 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Aug 13 12:47:36 2008 -0500"
      },
      "message": "dlm: add missing kfrees\n\nA couple of unlikely error conditions were missing a kfree on the error\nexit path.\n\nReported-by: Juha Leppanen \u003cjuha_motorsportcom@luukku.com\u003e\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "3988ba0708e98b4bafc9034aa476775520bee708",
      "tree": "8c706018fef444bc16b33fa8208e78cabf993a1f",
      "parents": [
        "d9089c296bdd82e6c1b7f82d04c11b5decde75e7",
        "18c60c0a3b16fc7d6a55497a228602ad8509f838"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 09:46:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 09:46:00 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm:\n  dlm: fix uninitialized variable for search_rsb_list callers\n  dlm: release socket on error\n  dlm: fix basts for granted CW waiting PR/CW\n  dlm: check for null in device_write\n"
    },
    {
      "commit": "254ae43ab8d7877c980fca3636624e0777a70fa4",
      "tree": "2a68101ba1c053d167a3f5effed6c33ab1043972",
      "parents": [
        "bce7f793daec3e65ec5c5705d2457b81fe7b5725"
      ],
      "author": {
        "name": "Masatake YAMATO",
        "email": "yamato@redhat.com",
        "time": "Wed May 28 14:45:10 2008 +0900"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Jul 14 13:56:59 2008 -0500"
      },
      "message": "dlm: check for null in device_write\n\nIf `device_write\u0027 method is called via \"dlm-control\",\nfile-\u003eprivate_data is NULL. (See ctl_device_open() in\nuser.c. ) Through proc-\u003eflags is read.\n\nSigned-off-by: Masatake YAMATO \u003cyamato@redhat.com\u003e\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "514bcc66d4072a221a8dfd341a4006385a441918",
      "tree": "5d2252cf2b6bd5345dd3671873785680c1b61b4c",
      "parents": [
        "009228dfb641ca7e4315ab0d0d55465747331025"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue May 20 19:15:48 2008 +0200"
      },
      "committer": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Fri Jun 20 14:05:56 2008 -0600"
      },
      "message": "dlm-user: BKL pushdown\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "30727174b6273c67fa96fb818fe5bdde1ad70e5c",
      "tree": "807a66e114555caf3dc07fc818d2dac2c62dff47",
      "parents": [
        "d292c0cc489fa642799494bddbd7c94d11f7bbc1"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Sat Feb 02 01:53:46 2008 +0800"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Feb 06 23:41:22 2008 -0600"
      },
      "message": "dlm: add __init and __exit marks to init and exit functions\n\nit moves 365 bytes from .text to .init.text, and 30 bytes from .text to\n.exit.text, saves memory.\n\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\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": "cb79f1998d89821a4dbac47f59a46ee3fbbf3c61",
      "tree": "1d1f953a43d1b3aa6bd9a786637ab2c4d2c7ab19",
      "parents": [
        "043b19cdc081f586a8f4e1c93ce6c03b63c26284"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 26 16:49:44 2008 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Feb 04 01:30:19 2008 -0600"
      },
      "message": "dlm: dlm/user.c input validation fixes\n\na) in device_write(): add sentinel NUL byte, making sure that lspace.name will\nbe NUL-terminated\nb) in compat_input() be keep it simple about the amounts of data we are copying.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "0fe410d3f3b1496190f37ef74cd089229cef97fa",
      "tree": "b2f931b89348c45be3f8476f2b005464817e335a",
      "parents": [
        "dbcfc34733d1ae37e7a78c9e4e5325451223a5eb"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Tue Jan 29 13:50:16 2008 +0800"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 30 11:04:43 2008 -0600"
      },
      "message": "dlm: static initialization improvements\n\nalso change name_prefix from char pointer to char array.\n\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\u003e\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "2a79289e87f3b6487b5fd23c8569f32097057fb4",
      "tree": "3b099a7b7306ee99fcb272e260b7344d34fdc666",
      "parents": [
        "85f0379aa0f9366bb6918e2e898a915231176fbd"
      ],
      "author": {
        "name": "Patrick Caulfeld",
        "email": "pcaulfie@redhat.com",
        "time": "Thu Jan 17 10:25:28 2008 +0000"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 30 11:04:43 2008 -0600"
      },
      "message": "dlm: Sanity check namelen before copying it\n\nThe 32/64 compatibility code in the DLM does not check the validity of\nthe lock name length passed into it, so it can easily overwrite memory\nif the value is rubbish (as early versions of libdlm can cause with\nunlock calls, it doesn\u0027t zero the field).\n\nThis patch restricts the length of the name to the amount of data\nactually passed into the call.\n\nSigned-off-by: Patrick Caulfield \u003cpcaulfie@redhat.com\u003e\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "ce5246b972f7514af899a63c0faf831d05ed5ee1",
      "tree": "fe7c58c280bde924f88adf5da2620ecf433293bd",
      "parents": [
        "755b5eb8bac90b35dc901465a06081aaad94e9ae"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Jan 14 15:48:58 2008 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 30 11:04:42 2008 -0600"
      },
      "message": "dlm: fix possible use-after-free\n\nThe dlm_put_lkb() can free the lkb and its associated ua structure,\nso we can\u0027t depend on using the ua struct after the put.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "ba25f9dcc4ea6e30839fcab5a5516f2176d5bfed",
      "tree": "3123c03b25dd5c0cd24b6ab4fc16731217838157",
      "parents": [
        "9a2e70572e94e21e7ec4186702d045415422bda0"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:43 2007 -0700"
      },
      "message": "Use helpers to obtain task pid in printks\n\nThe task_struct-\u003epid member is going to be deprecated, so start\nusing the helpers (task_pid_nr/task_pid_vnr/task_pid_nr_ns) in\nthe kernel.\n\nThe first thing to start with is the pid, printed to dmesg - in\nthis case we may safely use task_pid_nr(). Besides, printks produce\nmore (much more) than a half of all the explicit pid usage.\n\n[akpm@linux-foundation.org: git-drm went and changed lots of stuff]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\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": "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": "fc7c44f03d95f20b5446d06f5bb9605cddd53203",
      "tree": "28bb0e7ad56e74a49bc7544e8a8c680afe520e93",
      "parents": [
        "a43a49066d36612f3bb46653cdb265a89c235eff"
      ],
      "author": {
        "name": "Patrick Caulfield",
        "email": "pcaulfie@redhat.com",
        "time": "Tue Apr 10 09:40:19 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue May 01 09:11:20 2007 +0100"
      },
      "message": "[DLM] Remove redundant assignment\n\nThis patch removes a redundant (and incorrect) assignment from compat_output\n\nSigned-Off-By: Patrick Caulfield \u003cpcaulfie@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "72c2be776bd6eec5186e316e6d9dd4aab78d314d",
      "tree": "378338f229887375efbb3388068a148227b72b23",
      "parents": [
        "8499137d4ef1829281e04838113b6b09a0bf1269"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri Mar 30 15:06:16 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue May 01 09:11:12 2007 +0100"
      },
      "message": "[DLM] interface for purge (2/2)\n\nAdd code to accept purge commands from userland.\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": "254da030dfb1b13d42d07e4292a4790d88c6874f",
      "tree": "8c8f34d6b33232f8081fff6842930d55b2b41140",
      "parents": [
        "420d2a1028b906f24e836e37089a6ad55ab1848f"
      ],
      "author": {
        "name": "Patrick Caulfield",
        "email": "pcaulfie@redhat.com",
        "time": "Wed Mar 21 09:23:53 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue May 01 09:10:44 2007 +0100"
      },
      "message": "[DLM] Don\u0027t delete misc device if lockspace removal fails\n\nCurrently if the lockspace removal fails the misc device associated with a\nlockspace is left deleted. After that there is no way to access the orphaned\nlockspace from userland.\n\nThis patch recreates the misc device if th dlm_release_lockspace fails. I\nbelieve this is better than attempting to remove the lockspace first because\nthat leaves an unattached device lying around. The potential gap in which there\nis no access to the lockspace between removing the misc device and recreating it\nis acceptable ... after all the application is trying to remove it, and only new\nusers of the lockspace will be affected.\n\nSigned-Off-By: Patrick Caulfield \u003cpcaulfie@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "84c6e8cd359adc34d21e40efcafe09297510b3c8",
      "tree": "0f90995bf4a558030e0777ba41289134b0cdb8ed",
      "parents": [
        "a13cbe375303585fec1425135ed54adb62be41fc"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Feb 26 00:18:42 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Mar 07 13:58:21 2007 -0500"
      },
      "message": "[DLM] fs/dlm/user.c should #include \"user.h\"\n\nEvery file should include the headers containing the prototypes for\nit\u0027s global functions.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "00977a59b951207d38380c75f03a36829950265c",
      "tree": "26933feafebffca95df02c19df03f5e56aada47e",
      "parents": [
        "d54b1fdb1d9f82e375a299e22bd366aad52d4c34"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:34 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:45 2007 -0800"
      },
      "message": "[PATCH] mark struct file_operations const 6\n\nMany struct file_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\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": "c6e6f0ba8fc1dea99c7bd020916f24d533b62697",
      "tree": "a27f0c7695e22fe83123448428bf77d32a5aa6ee",
      "parents": [
        "623d93555c8884768db65ffc11509c93e50dd4db"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Aug 30 10:50:18 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Aug 31 12:15:37 2006 -0400"
      },
      "message": "[DLM] force removal of user lockspace\n\nCheck if the FORCEFREE flag has been provided from user space.  If so, set\nthe force option to dlm_release_lockspace() so that any remaining locks\nwill be freed.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "36098198184b0644537f4b2257d861e9bdf124bd",
      "tree": "c8b9aa01663852472cbd96d8cbc634cc415688ee",
      "parents": [
        "34e22bed19013c77f942083e25cfc7adf6c71a8f"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Jul 20 08:35:39 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jul 21 01:55:41 2006 -0400"
      },
      "message": "[DLM] fix whitespace damage\n\nMy previous dlm patch added trailing whitespace damage, fix that.\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": "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"
    }
  ]
}
