)]}'
{
  "log": [
    {
      "commit": "49e61f2ef6f7d1d0296e3e30d366b28e0ca595c2",
      "tree": "7f2efb6c0dce87f3f16809e8cd1072137b12271c",
      "parents": [
        "b4c20166dcfca106f0f416bfce200099ed76ab18"
      ],
      "author": {
        "name": "Wendy Cheng",
        "email": "wcheng@redhat.com",
        "time": "Thu Sep 13 17:52:42 2007 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Oct 10 08:56:17 2007 +0100"
      },
      "message": "[GFS2] Move inode deletion out of blocking_cb\n\nMove inode deletion code out of blocking_cb handle_callback route to\navoid racy conditions that end up blocking lock_dlm1 thread. Fix\nbugzilla 286821.\n\nSigned-off-by: Wendy Cheng \u003cwcheng@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "b4c20166dcfca106f0f416bfce200099ed76ab18",
      "tree": "474e8c3bda161953202793c0801ab00a5b5433de",
      "parents": [
        "1ad38c437fa33f85ba4b6a85ea8c5478ee72d5bd"
      ],
      "author": {
        "name": "Abhijith Das",
        "email": "adas@redhat.com",
        "time": "Thu Sep 13 23:35:27 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Oct 10 08:56:14 2007 +0100"
      },
      "message": "[GFS2] flocks from same process trip kernel BUG at fs/gfs2/glock.c:1118!\n\nThis patch adds a new flag to the gfs2_holder structure GL_FLOCK.\nIt is set on holders of glocks representing flocks. This flag is\nchecked in add_to_queue() and a process is permitted to queue more\nthan one holder onto a glock if it is set. This solves the issue\nof a process not being able to do multiple flocks on the same file.\nThrough a single descriptor, a process can now promote and demote\nflocks. Through multiple descriptors a process can now queue\nmultiple flocks on the same file. There\u0027s still the problem of\na process deadlocking itself (because gfs2 blocking locks are not\ninterruptible) by queueing incompatible deadlock.\n\nSigned-off-by: Abhijith Das \u003cadas@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "c4f68a130fc1795e4a75ec5bdaf9e85d86c22419",
      "tree": "37251ae5634d4b73b5224e3e8679f92472de0ebe",
      "parents": [
        "d1e2777d4f419a865ddccdb9b3412021d0e4de51"
      ],
      "author": {
        "name": "Benjamin Marzinski",
        "email": "bmarzins@redhat.com",
        "time": "Thu Aug 23 13:19:05 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Oct 10 08:55:48 2007 +0100"
      },
      "message": "[GFS2] delay glock demote for a minimum hold time\n\nWhen a lot of IO, with some distributed mmap IO, is run on a GFS2 filesystem in\na cluster, it will deadlock. The reason is that do_no_page() will repeatedly\ncall gfs2_sharewrite_nopage(), because each node keeps giving up the glock\ntoo early, and is forced to call unmap_mapping_range(). This bumps the\nmapping-\u003etruncate_count sequence count, forcing do_no_page() to retry. This\npatch institutes a minimum glock hold time a tenth a second.  This insures\nthat even in heavy contention cases, the node has enough time to get some\nuseful work done before it gives up the glock.\n\nA second issue is that when gfs2_glock_dq() is called from within a page fault\nto demote a lock, and the associated page needs to be written out, it will\ntry to acqire a lock on it, but it has already been locked at a higher level.\nThis patch puts makes gfs2_glock_dq() use the work queue as well, to avoid this\nissue. This is the same patch as Steve Whitehouse originally proposed to fix\nthis issue, execpt that gfs2_glock_dq() now grabs a reference to the glock\nbefore it queues up the work on it.\n\nSigned-off-by: Benjamin E. Marzinski \u003cbmarzins@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "a947e0335699a1d387c3826e5b8eff9e0afe505e",
      "tree": "7ddf0cdec03bda17e21006cb5d5bc25d36b86a92",
      "parents": [
        "61d96be0f474df354c2ff4a2b2bf410b23a5cd60"
      ],
      "author": {
        "name": "Abhijith Das",
        "email": "adas@redhat.com",
        "time": "Tue Aug 21 09:57:29 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Oct 10 08:55:41 2007 +0100"
      },
      "message": "[GFS2] Wendy\u0027s dump lockname in hex \u0026 fix glock dump\n\nWith this patch, gfs2 glockdump through the debugfs filesystem will only\ndump glocks for the specified filesystem instead of all glocks. Also, to\naid debugging, the glock number is dumped in hex instead of decimal.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nSigned-off-by: S. Wendy Cheng \u003cwcheng@redhat.com\u003e\nSigned-off-by: Abhijith Das \u003cadas@redhat.com\u003e\n"
    },
    {
      "commit": "8fbbfd214c853102b614f4705c1904ed14f5a808",
      "tree": "b33cb7ee7392d64f99124588ef6af7c0d0bc7e9d",
      "parents": [
        "ca5a939b33166a9f5a2556e6c4ec031524852ba2"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Aug 01 13:57:10 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Oct 10 08:55:08 2007 +0100"
      },
      "message": "[GFS2] Reduce number of gfs2_scand processes to one\n\nWe only need a single gfs2_scand process rather than the one\nper filesystem which we had previously. As a result the parameter\ndetermining the frequency of gfs2_scand runs becomes a module\nparameter rather than a mount parameter as it was before.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "4ef290025ccde7c52ba219cf733a4295acd5401f",
      "tree": "9879ae00580d4869bfa0a443f00b3713c34f4bda",
      "parents": [
        "0f8468c8bef3d04637c924e7bef20ca53018b319"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Tue Jul 31 18:31:11 2007 +0800"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Oct 10 08:55:03 2007 +0100"
      },
      "message": "[GFS2] mark struct *_operations const\n\nthese struct *_operations are all method tables, thus should be const.\n\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "7b08fc620109c2f66575e9ae884f45c37933ea18",
      "tree": "17fd00263b24dfd88242648a7bbd4de73826daec",
      "parents": [
        "afd0942d98f74296b74993739e41d2ca7cb9fd5a"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jul 24 13:53:36 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Oct 10 08:54:49 2007 +0100"
      },
      "message": "[GFS2] Fix an oops in glock dumping\n\nThis fixes an oops which was occurring during glock dumping due to the\nseq file code not taking a reference to the glock. Also this fixes a\nmemory leak which occurred in certain cases, in turn preventing the\nfilesystem from unmounting.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "aa0481e58a9a97a97035725a712920b5fe32f348",
      "tree": "53a0244e0e1de14762ad1803aec1550e555064e5",
      "parents": [
        "26caee5bc643b318fa2e9bd4f66dace1755ec413"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Sat Jul 21 17:03:22 2007 +0200"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Oct 10 08:54:44 2007 +0100"
      },
      "message": "[GFS2] Clean up duplicate includes in fs/gfs2/\n\nThis patch cleans up duplicate includes in\n\tfs/gfs2/\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "26caee5bc643b318fa2e9bd4f66dace1755ec413",
      "tree": "d41f2a4c131de2eb6e0981b9d7c8eb9c2ae25255",
      "parents": [
        "87124e581bfeaa5864662a435b6ee2a19e91b905"
      ],
      "author": {
        "name": "Josef Whiter",
        "email": "jwhiter@redhat.com",
        "time": "Mon Jul 23 10:02:40 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Oct 10 08:54:42 2007 +0100"
      },
      "message": "[GFS2] Fix calculation of demote state\n\nIf a glock is in the exclusive state and a request for demote to\ndeferred has been received, then further requests for demote to\nshared are being ignored. This patch fixes that by ensuring that\nwe demote to unlocked in that case.\n\nSigned-off-by: Josef Whiter \u003cjwhiter@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "87124e581bfeaa5864662a435b6ee2a19e91b905",
      "tree": "f9bc5d965834f1c7435123f26b9ab8f961c8848f",
      "parents": [
        "bbf25010f1a6b761914430f5fca081ec8c7accd1"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jul 23 09:54:36 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Oct 10 08:54:39 2007 +0100"
      },
      "message": "[GFS2] Fix two races relating to glock callbacks\n\nOne of the races relates to referencing a variable while not holding\nits protecting spinlock. The patch simply moves the test inside the\nspin lock. The other races occurs when a demote to unlocked request\noccurs during the time a demote to shared request is already running.\nThis of course only happens in the case that the lock was in the\nexclusive mode to start with. The patch adds a check to see if another\ndemote request has occurred in the mean time and if it has, then it\nperforms a second demote.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "eaf5bd3cac92126e5825c6ebc10bee0fba35d555",
      "tree": "779ba2ba60bb6f18cf47a5155aa4164798a81a1f",
      "parents": [
        "2332c4435bb733b5cd4f612ee57532bd8fde4c1c"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jun 19 15:38:17 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jul 09 08:23:50 2007 +0100"
      },
      "message": "[GFS2] Simplify multiple glock aquisition\n\nThere is a bug in the code which acquires multiple glocks where if the\ninitial out-of-order attempt fails part way though we can land up trying\nto acquire the wrong number of glocks. This is part of the fix for red\nhat bz #239737. The other part of the bz doesn\u0027t apply to upstream\nkernels since it was fixed by:\n\nhttp://git.kernel.org/?p\u003dlinux/kernel/git/torvalds/linux-2.6.git;a\u003dcommitdiff;h\u003dd3717bdf8f08a0e1039158c8bab2c24d20f492b6\n\nSince the out-of-order code doesn\u0027t appear to add anything to the\nperformance of GFS2, this patch just removed it rather than trying to\nfix it. It should be much easier to see whats going on here now. In\naddition, we don\u0027t allocate any memory unless we are using a lot of\nglocks (which is a relatively uncommon case).\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "d93cfa9884354dac2d8ccd894594a43e0b962b6f",
      "tree": "72704d54aaa99e0021d3cc0b025fb8c67b09e4ce",
      "parents": [
        "a7a2ff8a951ab373732116e7c31e2e1fe025d5e0"
      ],
      "author": {
        "name": "Abhijith Das",
        "email": "adas@redhat.com",
        "time": "Mon Jun 11 08:22:32 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jul 09 08:23:36 2007 +0100"
      },
      "message": "[GFS2] Fix deallocation issues\n\nThere were two issues during deallocation of unlinked inodes. The\nfirst was relating to the use of a \"try\" lock which in the case of\nthe inode lock wasn\u0027t trying hard enough to deallocate in all\ncircumstances (now changed to a normal glock) and in the case of\nthe iopen lock didn\u0027t wait for the demotion of the shared lock before\nattempting to get the exclusive lock, and thereby sometimes (timing dependent)\nnot completing the deallocation when it should have done.\n\nThe second issue related to the lack of a way to invalidate dcache entries\non remote nodes (now fixed by this patch) which meant that unlinks were\ntaking a long time to return disk space to the fs. By adding some code to\ninvalidate the dcache entries across the cluster for unlinked inodes, that\nis now fixed.\n\nThis patch was written jointly by Abhijith Das and Steven Whitehouse.\n\nSigned-off-by: Abhijith Das \u003cadas@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "dbb7cae2a36170cd17ffbe286ec0c91a998740ff",
      "tree": "1f4da65b07ac31648fe9b72f2742075486a86008",
      "parents": [
        "41d7db0ab437bc84f8a6e77cccc626ce937605ac"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue May 15 15:37:50 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jul 09 08:22:24 2007 +0100"
      },
      "message": "[GFS2] Clean up inode number handling\n\nThis patch cleans up the inode number handling code. The main difference\nis that instead of looking up the inodes using a struct gfs2_inum_host\nwe now use just the no_addr member of this structure. The tests relating\nto no_formal_ino can then be done by the calling code. This has\nadvantages in that we want to do different things in different code\npaths if the no_formal_ino doesn\u0027t match. In the NFS patch we want to\nreturn -ESTALE, but in the -\u003elookup() path, its a bug in the fs if the\nno_formal_ino doesn\u0027t match and thus we can withdraw in this case.\n\nIn order to later fix bz #201012, we need to be able to look up an inode\nwithout knowing no_formal_ino, as the only information that is known to\nus is the on-disk location of the inode in question.\n\nThis patch will also help us to fix bz #236099 at a later date by\ncleaning up a lot of the code in that area.\n\nThere are no user visible changes as a result of this patch and there\nare no changes to the on-disk format either.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "cd81a4bac67d44742ab0aa1848f4a78e9d7e1093",
      "tree": "0cc323d20ff2cc8faffc99ee5a998409cb4f165d",
      "parents": [
        "0507ecf50f22e433592f5ec3a36dc831aaec2e02"
      ],
      "author": {
        "name": "Robert Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Mon May 14 12:42:18 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jul 09 08:22:19 2007 +0100"
      },
      "message": "[GFS2] Addendum patch 2 for gfs2_grow\n\nThis addendum patch 2 corrects three things:\n\n1. It fixes a stupid mistake in the previous addendum that broke gfs2.\n   Ref: https://www.redhat.com/archives/cluster-devel/2007-May/msg00162.html\n2. It fixes a problem that Dave Teigland pointed out regarding the\n   external declarations in ops_address.h being in the wrong place.\n3. It recasts a couple more %llu printks to (unsigned long long)\n   as requested by Steve Whitehouse.\n\nI would have loved to put this all in one revised patch, but there was\na rush to get some patches for RHEL5.\tTherefore, the previous patches\nwere applied to the git tree \"as is\" and therefore, I\u0027m posting another\naddendum.  Sorry.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "37fde8ca6c60ea61f5e9d7cb877c25ac60e74167",
      "tree": "bb5797f48de4f08dd1f525c72ef7e23d0bcb8de4",
      "parents": [
        "617e82e10ccf96a13eb2efd5eac4abef44a87d02"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue May 01 09:51:39 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue May 01 09:51:39 2007 +0100"
      },
      "message": "[GFS2] Uncomment sprintf_symbol calling code\n\nNow that the patch from -mm has gone upstream, we can uncomment the code\nin GFS2 which uses sprintf_symbol.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Robert Peterson \u003crpeterso@redhat.com\u003e\n"
    },
    {
      "commit": "5f8820960cf4fb621483d4a37c24939ad831bfe7",
      "tree": "8efc44452a7d353c41cefaf1b053a37868fb72c1",
      "parents": [
        "bdd19a22f85a7039e01accd8717eaec4addd9dfd"
      ],
      "author": {
        "name": "Robert Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Wed Apr 18 11:41:11 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue May 01 09:11:33 2007 +0100"
      },
      "message": "[GFS2] lockdump improvements\n\nThe patch below consists of the following changes (in code order):\n\n1. I fixed a minor compiler warning regarding the printing of\n   a kernel symbol address.\n2. I implemented a suggestion from Dave Teigland that moves\n   the debugfs information for gfs2 into a subdirectory so\n   we can easily expand our use of debugfs in the future.\n   The current code keeps the glock information in:\n   /debug/gfs2/\u003cfs\u003e\n   With the patch, the new code keeps the glock information in:\n   /debug/gfs2/\u003cfs\u003e/glock\n   That will allow us to create more debugfs files in the future.\n3. This fixes a bug whereby a failed mount attempt causes the\n   debugfs file to not be deleted.  Failed mount attempts should\n   always clean up after themselves, including deleting the\n   debugfs file and/or directory.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "7a0079d9e3fe8826475a08785f3d348c4b509774",
      "tree": "6b2d7e2b24989b8ad03b831e4fcaafcc3de00850",
      "parents": [
        "8fa1de386f4d72f0710b389ccf96308fef87df78"
      ],
      "author": {
        "name": "Robert Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Tue Apr 17 11:37:11 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue May 01 09:11:28 2007 +0100"
      },
      "message": "[GFS2] bz 236008: Kernel gpf doing cat /debugfs/gfs2/xxx (lock dump)\n\nThis is for Bugzilla Bug 236008: Kernel gpf doing cat /debugfs/gfs2/xxx\n(lock dump) seen at the \"gfs2 summit\".  This also fixes the bug that caused\ngarbage to be printed by the \"initialized at\" field.  I apologize for the\nkludge, but that code will all be ripped out anyway when the official\nsprint_symbol function becomes available in the Linux kernel.  I also\nchanged some formatting so that spaces are replaced by proper tabs.\n\nSigned-off-by: Robert Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "04b933f27bc8e7f3f6423020cec58a4eab3bb7a7",
      "tree": "992d9dd401b81ccb0b1f166fabd3ca315806361e",
      "parents": [
        "172e045a7fcc3ee647fa70dbd585a3c247b49cb2"
      ],
      "author": {
        "name": "Robert Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Fri Mar 23 17:05:15 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue May 01 09:10:55 2007 +0100"
      },
      "message": "[GFS2] Red Hat bz 228540: owner references\n\nIn Testing the previously posted and accepted patch for\nhttps://bugzilla.redhat.com/bugzilla/show_bug.cgi?id\u003d228540\nI uncovered some gfs2 badness.  It turns out that the current\ngfs2 code saves off a process pointer when glocks is taken\nin both the glock and glock holder structures.  Those\nstructures will persist in memory long after the process has\nended; pointers to poisoned memory.\n\nThis problem isn\u0027t caused by the 228540 fix; the new capability\nintroduced by the fix just uncovered the problem.\n\nI wrote this patch that avoids saving process pointers\nand instead saves off the process pid.  Rather than\nreferencing the bad pointers, it now does process lookups.\nThere is special code that makes the output nicer for\nprinting holder information for processes that have ended.\n\nThis patch also adds a stub for the new \"sprint_symbol\"\nfunction that exists in Andrew Morton\u0027s -mm patch set, but\nwon\u0027t go into the base kernel until 2.6.22, since it adds\nfunctionality but doesn\u0027t fix a bug.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "420d2a1028b906f24e836e37089a6ad55ab1848f",
      "tree": "a0fa71778dcec08d461aba2e75b045878b483498",
      "parents": [
        "3b8249f6178cb2b68b9d683587797270125cc06a"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Sun Mar 18 16:05:27 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue May 01 09:10:42 2007 +0100"
      },
      "message": "[GFS2] Fix a bug on i386 due to evaluation order\n\nSince gcc didn\u0027t evaluate the last two terms of the expression in\nglock.c:1881 as a constant expression, it resulted in an error on\ni386 due to the lack of a 64bit divide instruction. This adds some\nbrackets to fix the problem.\n\nThis was reported by Andrew Morton.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3b8249f6178cb2b68b9d683587797270125cc06a",
      "tree": "5bcc9bbd5eb923d5905077ba0bd41b5fa3f29ddd",
      "parents": [
        "1de913909263ba7f7054debeda1b79771a7233db"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Mar 16 09:40:31 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue May 01 09:10:39 2007 +0100"
      },
      "message": "[GFS2] Fix bz 224480 and cleanup glock demotion code\n\nThis patch prevents the printing of a warning message in cases where\nthe fs is functioning normally by handing off responsibility for\nunlinked, but still open inodes, to another node for eventual deallocation.\nAlso, there is now an improved system for ensuring that such requests\nto other nodes do not get lost. The callback on the iopen lock is\nonly ever called when i_nlink \u003d\u003d 0 and when a node is unable to deallocate\nit due to it still being in use on another node. When a node receives\nthe callback therefore, it knows that i_nlink must be zero, so we mark\nit as such (in gfs2_drop_inode) in order that it will then attempt\ndeallocation of the inode itself.\n\nAs an additional benefit, queuing a demote request no longer requires\na memory allocation. This simplifies the code for dealing with gfs2_holders\nas it removes one special case.\n\nThere are two new fields in struct gfs2_glock. gl_demote_state is the\nstate which the remote node has requested and gl_demote_time is the\ntime when the request came in. Both fields are only valid when the\nGLF_DEMOTE flag is set in gl_flags.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "5c7342d894973636f03270673e1fb7b908a421a8",
      "tree": "e6c4650417f120e3e0780e31e0e46b97d5d1e458",
      "parents": [
        "7c52b166c588c98cf3d2b2e7e6a0468a98e84d0d"
      ],
      "author": {
        "name": "Josef Whiter",
        "email": "jwhiter@redhat.com",
        "time": "Wed Mar 07 17:09:10 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue May 01 09:10:32 2007 +0100"
      },
      "message": "[GFS2] fix bz 231369, gfs2 will oops if you specify an invalid mount option\n\nIf you specify an invalid mount option when trying to mount a gfs2 filesystem,\ngfs2 will oops.  The attached patch resolves this problem.\n\nSigned-off-by: Josef Whiter \u003cjwhiter@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "7c52b166c588c98cf3d2b2e7e6a0468a98e84d0d",
      "tree": "3a38426f1479263cd75fa76204cdc1a620e7ca9f",
      "parents": [
        "dc87c3985e9b442c60994308a96f887579addc39"
      ],
      "author": {
        "name": "Robert Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Fri Mar 16 10:26:37 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue May 01 09:10:29 2007 +0100"
      },
      "message": "[GFS2] Add gfs2_tool lockdump support to gfs2 (bz 228540)\n\nThe attached patch resolves bz 228540.  This adds the capability\nfor gfs2 to dump gfs2 locks through the debugfs file system.\nThis used to exist in gfs1 as \"gfs_tool lockdump\" but it\u0027s missing from\ngfs2 because all the ioctls were stripped out.  Please see the bugzilla\nfor more history about the fix.  This patch is also attached to the bugzilla\nrecord.\n\nThe patch is against Steve Whitehouse\u0027s latest nmw git tree kernel\n(2.6.21-rc1) and has been tested on system trin-10.\n\nSigned-off-by: Robert Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "95d97b7dd7d7a7a13d11a38b3ecb64849d2e5086",
      "tree": "15203dc62e76e5905e12ef89d9add14ccbd13609",
      "parents": [
        "631c42e170564108423fa4073531db159f2523ea"
      ],
      "author": {
        "name": "akpm@linux-foundation.org",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Mar 05 23:10:39 2007 -0800"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Mar 07 14:03:25 2007 -0500"
      },
      "message": "[GFS2] build fix\n\nfs/gfs2/glock.c:2198: error: \u0027THIS_MODULE\u0027 undeclared here (not in a function)\n\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "631c42e170564108423fa4073531db159f2523ea",
      "tree": "aaa57c63ef9412f5b0b4b32683b08e786a28ea07",
      "parents": [
        "04b159b132c0d8e92dae8c72f134fd5b13b43deb"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Mar 01 10:36:32 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Mar 07 14:02:53 2007 -0500"
      },
      "message": "[GFS2] go_drop_bh is never used, so remove it\n\nThe -\u003ego_drop_bh function is never used, so this removes it and the single\ncaller,\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "61be084efcc4451934257350281962595418a33c",
      "tree": "3f7b3e0d93f52803f27aa3268a4bd7098e48ae4d",
      "parents": [
        "bbb28ab7599789740b2233a0805d22aefb97f533"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 29 11:51:45 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:38:14 2007 -0500"
      },
      "message": "[GFS2] Put back semaphore to avoid umount problem\n\nDave Teigland fixed this bug a while back, but I managed to mistakenly\nremove the semaphore during later development. It is required to avoid\nthe list of inodes changing during an invalidate_inodes call. I have\nmade it an rwsem since the read side will be taken frequently during\nnormal filesystem operation. The write site will only happen during\numount of the file system.\n\nAlso the bug only triggers when using the DLM lock manager and only then\nunder certain conditions as its timing related.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "d043e1900c97f7282b71844c8530279913b6ec5a",
      "tree": "00880047322a93a17fd352abe821e3c78446911b",
      "parents": [
        "ddfe0627838ca0c0e8babb0dd2bd7f4b35e25bff"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jan 23 16:56:36 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:37:41 2007 -0500"
      },
      "message": "[GFS2] Fix typo in glock.c\n\nThis is a one letter typo fix in glock.c, spotted by Rob Kenna.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "90101c31867b7acc44286b425d50e1042aa55b8d",
      "tree": "3129323fd9112fb1e7ed187a0cdca8d37d0b42da",
      "parents": [
        "12132933c4fdeb458195a9388287d550c8476edf"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jan 23 13:20:41 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:37:35 2007 -0500"
      },
      "message": "[GFS2] Compile fix for glock.c\n\nThis one liner got missed from the previous patch.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "12132933c4fdeb458195a9388287d550c8476edf",
      "tree": "037a43592c395a7d60561628fdf24e80b5901489",
      "parents": [
        "bd44e2b007bc9024bce3357c185b38c73f87c3dd"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 22 13:09:04 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:37:32 2007 -0500"
      },
      "message": "[GFS2] Remove queue_empty() function\n\nThis function is not longer required since we do not do recursive\nlocking in the glock layer. As a result all its callers can be\nreplaceed with list_empty() calls.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "b5d32bead1578afc5ca817d40c320764d50a8600",
      "tree": "522400e0638b263a9973b05f0da40bafcfc8b0bb",
      "parents": [
        "f2f5095f9e63db57faa7cb082e958910ecdd7ad4"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 22 12:15:34 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:37:26 2007 -0500"
      },
      "message": "[GFS2] Tidy up glops calls\n\nThis patch doesn\u0027t make any changes to the ordering of the various\noperations related to glocking, but it does tidy up the calls to the\nglops.c functions to make the structure more obvious.\n\nThe two functions: gfs2_glock_xmote_th() and gfs2_glock_drop_th() can be\nmade static within glock.c since they are called by every set of glock\noperations. The xmote_th and drop_th glock operations are then made\nconditional upon those two routines existing and called from the\npreviously mentioned functions in glock.c respectively.\n\nAlso it can be seen that the go_sync operation isn\u0027t needed since it can\neasily be replaced by calls to xmote_bh and drop_bh respectively. This\nresults in no longer (confusingly) calling back into routines in glock.c\nfrom glops.c and also reducing the glock operations by one member.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "1c0f4872dc4bbeb2223a300517099786211fce83",
      "tree": "21e4c880e68751dabecfc0d77ff226ec6fcb6951",
      "parents": [
        "6bd9c8c2fb99d1f5af6201db2f063c1d754c230a"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 22 12:10:39 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:37:20 2007 -0500"
      },
      "message": "[GFS2] Remove local exclusive glock mode\n\nHere is a patch for GFS2 to remove the local exclusive flag. In\nthe places it was used, mutex\u0027s are always held earlier in the\ncall path, so it appears redundant in the LM_ST_SHARED case.\n\nAlso, the GFS2 holders were setting local exclusive in any case where\nthe requested lock was LM_ST_EXCLUSIVE. So the other places in the glock\ncode where the flag was tested have been replaced with tests for the\nlock state being LM_ST_EXCLUSIVE in order to ensure the logic is the\nsame as before (i.e. LM_ST_EXCLUSIVE is always locally exclusive as well\nas globally exclusive).\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "6bd9c8c2fb99d1f5af6201db2f063c1d754c230a",
      "tree": "836052b520674d5dd732b12a82eff8f659de880d",
      "parents": [
        "e5dab552c82ce416d7be867b1e5a0fa585dcf590"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 19 13:57:36 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:37:17 2007 -0500"
      },
      "message": "[GFS2] Remove unused go_callback operation\n\nThis is never used, so we might as well remove it.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e5dab552c82ce416d7be867b1e5a0fa585dcf590",
      "tree": "3719a33f1bd5a29785e4ca35982d9610dd5a1a63",
      "parents": [
        "fee852e374fb367c5436b1226eb93b35f8355ed9"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jan 18 17:44:20 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:37:14 2007 -0500"
      },
      "message": "[GFS2] Remove the \"greedy\" function from glock.[ch]\n\nThe \"greedy\" code was an attempt to retain glocks for a minimum length\nof time when they relate to mmap()ed files. The current implementation\nof this feature is not, however, ideal in that it required allocating\nmemory in order to do this and its overly complicated.\n\nIt also misses the mark by ignoring the other I/O operations which are\njust as likely to suffer from the same problem. So the plan is to remove\nthis now and then add the functionality back as part of the glock state\nmachine at a later date (and thus take into account all the possible\nusers of this feature)\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "fee852e374fb367c5436b1226eb93b35f8355ed9",
      "tree": "0e373afa25bd27582b2fc4fff8f2964ff0de6722",
      "parents": [
        "330005c2b23e71e54931913e9b63d1712a19e444"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jan 17 15:33:23 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:37:11 2007 -0500"
      },
      "message": "[GFS2] Shrink gfs2_inode memory by half\n\nHere is something I spotted (while looking for something entirely\ndifferent) the other day.\n\nRather than using a completion in each and every struct gfs2_holder,\nthis removes it in favour of hashed wait queues, thus saving a\nconsiderable amount of memory both on the stack (where a number of\ngfs2_holder structures are allocated) and in particular in the\ngfs2_inode which has 8 gfs2_holder structures embedded within it.\n\nAs a result on x86_64 the gfs2_inode shrinks from 2488 bytes to\n1912 bytes, a saving of 576 bytes per inode (no thats not a typo!).\nIn actual practice we get a much better result than that since\nnow that a gfs2_inode is under the 2048 byte barrier, we get two\nper 4k slab page effectively halving the amount of memory required\nto store gfs2_inodes.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "3699e3a44bf56e0cd58c97e8655f375ad9b65d9d",
      "tree": "9ac31dd5b99373614f0cd52cc5a41536aeea271e",
      "parents": [
        "a8d638e30e768adc6956541f79f7bf05139ba475"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jan 17 15:09:20 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:37:04 2007 -0500"
      },
      "message": "[GFS2] Clean up/speed up readdir\n\nThis removes the extra filldir callback which gfs2 was using to\nenclose an attempt at readahead for inodes during readdir. The\ncode was too complicated and also hurts performance badly in the\ncase that the getdents64/readdir call isn\u0027t being followed by\nstat() and it wasn\u0027t even getting it right all the time when it\nwas.\n\nAs a result, on my test box an \"ls\" of a directory containing 250000\nfiles fell from about 7mins (freshly mounted, so nothing cached) to\nbetween about 15 to 25 seconds. When the directory content was cached,\nthe time taken fell from about 3mins to about 4 or 5 seconds.\n\nInterestingly in the cached case, running \"ls -l\" once reduced the time\ntaken for subsequent runs of \"ls\" to about 6 secs even without this\npatch. Now it turns out that there was a special case of glocks being\nused for prefetching the metadata, but because of the timeouts for these\nlocks (set to 10 secs) the metadata was being timed out before it was\nbeing used and this the prefetch code was constantly trying to prefetch\nthe same data over and over.\n\nCalling \"ls -l\" meant that the inodes were brought into memory and once\nthe inodes are cached, the glocks are not disposed of until the inodes\nare pushed out of the cache, thus extending the lifetime of the glocks,\nand thus bringing down the time for subsequent runs of \"ls\"\nconsiderably.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "1c1afa3c053d4ccdf44e5a4e159005cdfd48bfc6",
      "tree": "3e686ad4cf1ae2300e7190ff83afc3f3dd4ba740",
      "parents": [
        "0a01707b289853f56d1c000057b27e243c039722",
        "ac33d0710595579e3cfca42dde2257eb0b123f6d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 09:13:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 09:13:20 2006 -0800"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw\n\n* master.kernel.org:/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: (73 commits)\n  [DLM] Clean up lowcomms\n  [GFS2] Change gfs2_fsync() to use write_inode_now()\n  [GFS2] Fix indent in recovery.c\n  [GFS2] Don\u0027t flush everything on fdatasync\n  [GFS2] Add a comment about reading the super block\n  [GFS2] Mount problem with the GFS2 code\n  [GFS2] Remove gfs2_check_acl()\n  [DLM] fix format warnings in rcom.c and recoverd.c\n  [GFS2] lock function parameter\n  [DLM] don\u0027t accept replies to old recovery messages\n  [DLM] fix size of STATUS_REPLY message\n  [GFS2] fs/gfs2/log.c:log_bmap() fix printk format warning\n  [DLM] fix add_requestqueue checking nodes list\n  [GFS2] Fix recursive locking in gfs2_getattr\n  [GFS2] Fix recursive locking in gfs2_permission\n  [GFS2] Reduce number of arguments to meta_io.c:getbuf()\n  [GFS2] Move gfs2_meta_syncfs() into log.c\n  [GFS2] Fix journal flush problem\n  [GFS2] mark_inode_dirty after write to stuffed file\n  [GFS2] Fix glock ordering on inode creation\n  ...\n"
    },
    {
      "commit": "0ac230699a0f3f0d15ad4e4ad99446dac5b4a21f",
      "tree": "c0d608cd584c3884492ec196544c6fcbf82a8fb8",
      "parents": [
        "98f176fb32f33795b6d0f83856008b932123ab38"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Nov 28 22:29:19 2006 -0800"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 30 10:37:18 2006 -0500"
      },
      "message": "[GFS2] lock function parameter\n\nFix function parameter typing:\nfs/gfs2/glock.c:100: warning: function declaration isn\u0027t a prototype\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "b004157ab5b374a498a5874cda68c389219d23e7",
      "tree": "1e7d7d5c62f3e12cc453e763bbff139b47458be4",
      "parents": [
        "ae619320b22f8e0b2bbe4a3a5ac2f9ccf08d7ec2"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 23 10:51:34 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 30 10:36:42 2006 -0500"
      },
      "message": "[GFS2] Fix journal flush problem\n\nThis fixes a bug which resulted in poor performance due to flushing\nthe journal too often. The code path in question was via the inode_go_sync()\nfunction in glops.c. The solution is not to flush the journal immediately\nwhen inodes are ejected from memory, but batch up the work for glockd to\ndeal with later on. This means that glocks may now live on beyond the end of\nthe lifetime of their inodes (but not very much longer in the normal case).\n\nAlso fixed in this patch is a bug (which was hidden by the bug mentioned above) in\ncalculation of the number of free journal blocks.\n\nThe gfs2_logd process has been altered to be more responsive to the journal\nfilling up. We now wake it up when the number of uncommitted journal blocks\nhas reached the threshold level rather than trying to flush directly at the\nend of each transaction. This again means doing fewer, but larger, log\nflushes in general.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "1a14d3a68f04527546121eb7b45187ff6af63151",
      "tree": "7bc48436f7c6aad5433398311b67a10661e2633d",
      "parents": [
        "fa2ecfc5e11b12f25b67f9c84ac6b0e74a6a0115"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Nov 20 10:37:45 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 30 10:36:30 2006 -0500"
      },
      "message": "[GFS2] Simplify glops functions\n\nThe go_sync callback took two flags, but one of them was set on every\ncall, so this patch removes once of the flags and makes the previously\nconditional operations (on this flag), unconditional.\n\nThe go_inval callback took three flags, each of which was set on every\ncall to it. This patch removes the flags and makes the operations\nunconditional, which makes the logic rather more obvious.\n\nTwo now unused flags are also removed from incore.h.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "ab923031ceb95ec50ef33ccadf28663c660aa94c",
      "tree": "940a07b53d7ec155924f5c242ea41d6b0c9905db",
      "parents": [
        "b98c95af01c10827e3443157651eb469071391a3"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Nov 15 15:17:03 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 30 10:35:46 2006 -0500"
      },
      "message": "[GFS2] Fix memory allocation in glock.c\n\nChange from GFP_KERNEL to GFP_NOFS as this was causing a\nslow down when trying to push inodes from cache.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "c594d8866460a2710c436839d79f334a0714a2a7",
      "tree": "87445c86a4162fdb7589ddec313ab42dc0d5ab18",
      "parents": [
        "f6e58f01e8dc869803b9f73b2aa9d5bc3f32ca05"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Nov 08 09:01:13 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 30 10:34:40 2006 -0500"
      },
      "message": "[GFS2] Remove unused GL_DUMP flag\n\nThere is no way to set the GL_DUMP flag, and in any case the\nsame thing can be done with systemtap if required for debugging,\nso this removes it.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "b60623c238b6a819bd04090139704e2cb57a751f",
      "tree": "fcecc0599003db66d937138be94bef4b4372f15b",
      "parents": [
        "e7f14f4d094ea1a9ce1953375f5bc1500c760c79"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Nov 01 12:22:46 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 30 10:34:14 2006 -0500"
      },
      "message": "[GFS2] Shrink gfs2_inode (3) - di_mode\n\nThis removes the duplicate di_mode field in favour of using the\ninode-\u003ei_mode field. This saves 4 bytes.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "c4028958b6ecad064b1a6303a6a5906d4fe48d73",
      "tree": "1c4c89652c62a75da09f9b9442012007e4ac6250",
      "parents": [
        "65f27f38446e1976cc98fd3004b110fedcddd189"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:57:56 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:57:56 2006 +0000"
      },
      "message": "WorkStruct: make allyesconfig\n\nFix up for make allyesconfig.\n\nSigned-Off-By: David Howells \u003cdhowells@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": "7d308590ae60d1f038a54a94e78a385c5c163452",
      "tree": "f672724840a07022ff6deb8022082af35dbad44c",
      "parents": [
        "f3b30912e0eab0e4160c7649a5f2b10be68027b9"
      ],
      "author": {
        "name": "Fabio Massimo Di Nitto",
        "email": "fabbione@ubuntu.com",
        "time": "Tue Sep 19 07:56:29 2006 +0200"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 19 08:45:18 2006 -0400"
      },
      "message": "[GFS2] Export lm_interface to kernel headers\n\n\nlm_interface.h has a few out of the tree clients such as GFS1\nand userland tools.\n\nRight now, these clients keeps a copy of the file in their build tree\nthat can go out of sync.\n\nMove lm_interface.h to include/linux, export it to userland and\nclean up fs/gfs2 to use the new location.\n\nSigned-off-by: Fabio M. Di Nitto \u003cfabbione@ubuntu.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n\n"
    },
    {
      "commit": "a8336344a5fd1366eb3616d351c39cadcd077f43",
      "tree": "6ef37f62cc72151290aeb411f815eb72b7d82a3a",
      "parents": [
        "faa31ce85f626dff30ba865684bd1f0ad97a9ca0"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Sep 14 13:57:38 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Sep 14 13:57:38 2006 -0400"
      },
      "message": "[GFS2] Fix glock hash clearing\n\nA one liner bug fix to prevent the return value being\nwrong when more than one superblock is mounted.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "16feb9fec0e1f74339bd6992130ceedb3aa9567e",
      "tree": "cc759c3d591fdd2915de4dcd08bc7baf4290f48f",
      "parents": [
        "0bc0748dfbefacce9c6b67ab23f2c80133b598f7"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Sep 13 10:43:37 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Sep 13 10:43:37 2006 -0400"
      },
      "message": "[GFS2] Use atomic_t rather than kref in glock.c\n\nUse atomic_t as the ref count in glocks rather than a kref.\nThis is another step towards using RCU for the glock hash.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "b6397893a5ed81970e803d61ee2f1a0e79f87438",
      "tree": "88b1f9fe213b70f0c4d96583bb40601d9cfc446d",
      "parents": [
        "24264434603cc102d71fb2a1b3b7e282a781f449"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 12 10:10:01 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 12 10:10:01 2006 -0400"
      },
      "message": "[GFS2] Use hlist for glock hash chains\n\nThis results in smaller list heads, so that we can have more chains\nin the same amount of memory (twice as many). I\u0027ve multiplied the\nsize of the table by four though - this is because we are saving\nmemory by not having one lock per chain any more. So we land up\nusing about the same amount of memory for the hash table as we\ndid before I started these changes, the difference being that we\nnow have four times as many hash chains.\n\nThe reason that I say \"about the same amount of memory\" is that the\nactual amount now depends upon the NR_CPUS and some of the config\nvariables, so that its not exact and in some cases we do use more\nmemory. Eventually we might want to scale the hash table size\naccording to the size of physical ram as measured on module load.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "24264434603cc102d71fb2a1b3b7e282a781f449",
      "tree": "18af5274fa222f0420df30651f57bab1eaf75eab",
      "parents": [
        "94610610f10749c0e17b4d2840ff8a7cb636c413"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 11 21:40:30 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 11 21:40:30 2006 -0400"
      },
      "message": "[GFS2] Rewrite of examine_bucket()\n\nThe existing implementation of this function in glock.c was not\nvery efficient as it relied upon keeping a cursor element upon the\nhash chain in question and moving it along. This new version improves\nupon this by using the current element as a cursor. This is possible\nsince we only look at the \"next\" element in the list after we\u0027ve\ntaken the read_lock() subsequent to calling the examiner function.\nObviously we have to eventually drop the ref count that we are then\nleft with and we cannot do that while holding the read_lock, so we\ndo that next time we drop the lock. That means either just before\nwe examine another glock, or when the loop has terminated.\n\nThe new implementation has several advantages: it uses only a\nread_lock() rather than a write_lock(), so it can run simnultaneously\nwith other code, it doesn\u0027t need a \"plug\" element, so that it removes\na test not only from this list iterator, but from all the other glock\nlist iterators too. So it makes things faster and smaller.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "94610610f10749c0e17b4d2840ff8a7cb636c413",
      "tree": "718d81be51c29da312136d93ca62f4f8071637f0",
      "parents": [
        "a5e08a9ef50e8b6feb099f8e4b253df04f5ec9db"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Sat Sep 09 18:59:27 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Sat Sep 09 18:59:27 2006 -0400"
      },
      "message": "[GFS2] Remove unused function from glock.c\n\nThe callback for iopen locks is unused, so this removes\nit.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "a5e08a9ef50e8b6feb099f8e4b253df04f5ec9db",
      "tree": "9d35e98597a51e39435fcc67f172f1ec14c6dbe4",
      "parents": [
        "087efdd391f47305dc251a7b00dcc5d69e8c636a"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Sat Sep 09 17:07:05 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Sat Sep 09 17:07:05 2006 -0400"
      },
      "message": "[GFS2] Add consts to glock sorting function\n\nAdd back the consts which were casted away in the glock sorting\nfunction. Also add early exit code.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "087efdd391f47305dc251a7b00dcc5d69e8c636a",
      "tree": "e6d74f4107b5046fb8280a33f76ad7cab1d2b992",
      "parents": [
        "ff6af411ae65da95a1801668b9580c5c33f0f7d1"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Sat Sep 09 16:59:11 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Sat Sep 09 16:59:11 2006 -0400"
      },
      "message": "[GFS2] Make glock hash locks proportional to NR_CPUS\n\nMake the number of locks used for hash chains in glock.c\nproportional to NR_CPUS. Also move constants for the number\nof hash chains into glock.c from incore.h since they are\nnot used outside of glock.c.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "37b2fa6a24f996d751dc80fbc8a77602cead269b",
      "tree": "2b96dc483c92593fac467076e76433f6fd6297be",
      "parents": [
        "9b47c11d1cbedcba685c9bd90c73fd41acdfab0e"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Sep 08 13:35:56 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Sep 08 13:35:56 2006 -0400"
      },
      "message": "[GFS2] Move rwlocks in glock.c into their own array\n\nThis splits the rwlocks guarding the hash chains of the glock hash\ntable into their own array. This will reduce memory usage in some\ncases due to better alignment, although the real reason for doing it\nis to allow the two tables to be different sizes in future (i.e.\nthe locks will be sized proportionally with the max number of CPUs\nand the hash chains sized proportinally with the size of physical memory)\n\nIn order to allow this, the gl_bucket member of struct gfs2_glock has\nnow become gl_hash, so we record the hash rather than a pointer to the\nbucket itself.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "9b47c11d1cbedcba685c9bd90c73fd41acdfab0e",
      "tree": "799f05877bd8973262da54852b7b8bf9a9916998",
      "parents": [
        "a2c4580797f62b0dd9a48f1e0ce3fe8b8fd76262"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Sep 08 10:17:58 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Sep 08 10:17:58 2006 -0400"
      },
      "message": "[GFS2] Use void * instead of typedef for locking module interface\n\nAs requested by Jan Engelhardt, this removes the typedefs in the\nlocking module interface and replaces them with void *. Also\nsince we are changing the interface, I\u0027ve added a few consts\nas well.\n\nCc: Jan Engelhardt \u003cjengelh@linux01.gwdg.de\u003e\nCc: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "1c089c325d5cda0f64a3cf8edf3aaafa148f200a",
      "tree": "f59c862b0d84ffc06d7c208607fc26bd6f8da4b5",
      "parents": [
        "b9201ce9a826f5ae4a8e153b52cf5d29f525ca11"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Sep 07 15:50:20 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Sep 07 15:50:20 2006 -0400"
      },
      "message": "[GFS2] Remove one typedef\n\nThis removes one of the typedefs from the locking interface. It\nis replaced by a forward declaration of the gfs2 superblock. The\nother two are not so easy to solve since in their case, they\ncan refer to one of two possible structures.\n\nCc: David Teigland \u003cteigland@redhat.com\u003e\nCc: Jan Engelhardt \u003cjengelh@linux01.gwdg.de\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "85d1da67f7e1239afa3494d05be87da6fc3ecada",
      "tree": "01508570249764d8b0e38183e1ea7e9666b34b78",
      "parents": [
        "b8547856f9c158ff70effbcfd15969c908fbe1b3"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Sep 07 14:40:21 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Sep 07 14:40:21 2006 -0400"
      },
      "message": "[GFS2] Move glock hash table out of superblock\n\nThere are several reasons why we want to do this:\n - Firstly its large and thus we\u0027ll scale better with multiple\n   GFS2 fs mounted at the same time\n - Secondly its easier to scale its size as required (thats a plan\n   for later patches)\n - Thirdly, we can use kzalloc rather than vmalloc when allocating\n   the superblock (its now only 4888 bytes)\n - Fourth its all part of my plan to eventually be able to use RCU\n   with the glock hash.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "b8547856f9c158ff70effbcfd15969c908fbe1b3",
      "tree": "11aed7e28899a3a3dc9a45a2cfc160ec084c581e",
      "parents": [
        "62f140c173f2c85e15527eefc6e2fb3c37a97eb1"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Sep 07 13:12:27 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Sep 07 13:12:27 2006 -0400"
      },
      "message": "[GFS2] Add gfs2 superblock to glock hash function\n\nThis is another patch preparing for sharing of the glock hash\ntable between different gfs2 mounts.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "cd915493fce912f1bd838ee1250737ecf33b8fae",
      "tree": "e14ec6643de91f473edb26a89905e710596fe6bc",
      "parents": [
        "a91ea69ffd3f8a0b7139bfd44042ab384461e631"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 04 12:49:07 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 04 12:49:07 2006 -0400"
      },
      "message": "[GFS2] Change all types to uX style\n\nThis makes all fixed size types have consistent names.\n\nCc: Jan Engelhardt \u003cjengelh@linux01.gwdg.de\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "a91ea69ffd3f8a0b7139bfd44042ab384461e631",
      "tree": "f05952e49e01609b21dbe8d27d9ffd30b4aa507f",
      "parents": [
        "75d3b817a0b48425da921052955cc58f20bbab52"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 04 12:04:26 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 04 12:04:26 2006 -0400"
      },
      "message": "[GFS2] Align all labels against LH side\n\nThis makes everything consistent.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "5029996547a9f3988459e11955c13259495308ef",
      "tree": "4667c98c19a6f39dc820e4eb648ecfa03b29bce2",
      "parents": [
        "e9fc2aa091ab8fa46e60d4c9d06a89305c441652"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 04 09:49:55 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 04 09:49:55 2006 -0400"
      },
      "message": "[GFS2] Tidy up locking code\n\nAs per Jan Engelhardt\u0027s second email, this removes some unused code,\nand fixes up indenting in various places.\n\nCc: Jan Engelhardt \u003cjengelh@linux01.gwdg.de\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e9fc2aa091ab8fa46e60d4c9d06a89305c441652",
      "tree": "8cdf5fcc4adba8cd53c51f824b5d8107ce0f4bba",
      "parents": [
        "c6e6f0ba8fc1dea99c7bd020916f24d533b62697"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Sep 01 11:05:15 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Sep 01 11:05:15 2006 -0400"
      },
      "message": "[GFS2] Update copyright, tidy up incore.h\n\nAs per comments from Jan Engelhardt \u003cjengelh@linux01.gwdg.de\u003e this\nupdates the copyright message to say \"version\" in full rather than\n\"v.2\". Also incore.h has been updated to remove forward structure\ndeclarations which are not required.\n\nThe gfs2_quota_lvb structure has now had endianess annotations added\nto it. Also quota.c has been updated so that we now store the\nlvb data locally in endian independant format to avoid needing\na structure in host endianess too. As a result the endianess\nconversions are done as required at various points and thus the\nconversion routines in lvb.[ch] are no longer required. I\u0027ve\nmoved the one remaining constant in lvb.h thats used into lm.h\nand removed the unused lvb.[ch].\n\nI have not changed the HIF_ constants. That is left to a later patch\nwhich I hope will unify the gh_flags and gh_iflags fields of the\nstruct gfs2_holder.\n\nCc: Jan Engelhardt \u003cjengelh@linux01.gwdg.de\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "899be4d3b7e00bf364d84c1c8cfe8bbbd1e3507b",
      "tree": "fd3af3ebb3c237a4c309c3f48902f9550864c39e",
      "parents": [
        "d6a53727683bbf993c01ab49b45e0eac17e23df1"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Aug 30 12:50:28 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Aug 30 12:50:28 2006 -0400"
      },
      "message": "[GFS2] Add superblock into key for glock lookups\n\nThis adds the superblock as a key for glock lookups. Since the glocks\nare already stored in a per-superblock table, this has no effect at\nthe moment. Later on this will change though.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "d6a53727683bbf993c01ab49b45e0eac17e23df1",
      "tree": "c17d58d664222633c254f09561eed847c1ccef59",
      "parents": [
        "ec45d9f583b3663f90a7c5c559fd13e6e4c56ad5"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Aug 30 11:16:23 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Aug 30 11:16:23 2006 -0400"
      },
      "message": "[GFS2] Use const on glock lookup key\n\nUse const for the glock name which is being used as a lookup key\nin the glock hash table.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "ec45d9f583b3663f90a7c5c559fd13e6e4c56ad5",
      "tree": "8248788ed2d2f1cb0ffc6b7180da3366b6773d62",
      "parents": [
        "5e2b0613ed9f9641937dd5948051631249447c57"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Aug 30 10:36:52 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Aug 30 10:36:52 2006 -0400"
      },
      "message": "[GFS2] Use slab properly with glocks\n\nWe can take advantage of the slab allocator to ensure that all the list\nheads and the spinlock (plus one or two other fields) are initialised\nby slab to speed up allocation of glocks.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "5e2b0613ed9f9641937dd5948051631249447c57",
      "tree": "2bccd88b4303e7917824cef45aabbe43cd0d93c2",
      "parents": [
        "8fb4b536e7b9dbaf7a6b8204e887b92a14e4352c"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Aug 30 09:38:30 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Aug 30 09:38:30 2006 -0400"
      },
      "message": "[GFS2] Remove unused code from glock layer\n\nRemove the unused sync feature from glocks. This is currently done by\ncalling the required functions to sync pages/blocks directly so this\ncode isn\u0027t needed.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "8fb4b536e7b9dbaf7a6b8204e887b92a14e4352c",
      "tree": "f74f905188ca9df0fc6f5fda3c6ee25ede02ee2f",
      "parents": [
        "83b7a664a0c7c39ccfa4c72535dc1c001d4e7a18"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Aug 30 09:30:00 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Aug 30 09:30:00 2006 -0400"
      },
      "message": "[GFS2] Make glock operations const\n\nFor all the usual reasons of enforcing correctness and potentially\nreducing code size, this patch makes the glock operations const.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "8638460540749ddb1beca9e9a68d655a6fe6df65",
      "tree": "e0b0a65798185a3f00912011906c551c02777982",
      "parents": [
        "5f88f1ea16a2fb5f125505053d1bfb7901a88c64"
      ],
      "author": {
        "name": "Abhijith Das",
        "email": "adas@redhat.com",
        "time": "Fri Aug 25 11:13:37 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Aug 25 17:19:55 2006 -0400"
      },
      "message": "[GFS2] Allow mounting of gfs2 and gfs2meta at the same time\n\nThis patch allows the simultaneous mounting of gfs2meta and gfs2\nfilesystems. A restriction however is that a gfs2meta fs may only be\nmounted if its corresponding gfs2 filesystem is also mounted. Also, a\ngfs2 filesystem cannot be unmounted before its gfs2meta filesystem.\n\nSigned-off-by: Abhijith Das \u003cadas@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "a2242db0906445491d9ac50bfa756b0de0a25d45",
      "tree": "ed530c05eaae5293fd6b14cfb05bdee655adc586",
      "parents": [
        "166afccd71fbb7bd758ab9fc770eef4924081077"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Aug 24 17:03:05 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Aug 24 17:03:05 2006 -0400"
      },
      "message": "[GFS2] Speed up scanning of glocks\n\nI noticed the gfs2_scand seemed to be taking a lot of CPU,\nso in order to cut that down a bit, here is a patch. Firstly\nthe type of a glock is a constant during its lifetime, so that\nits possible to check this without needing locking. I\u0027ve moved\nthe (common) case of testing for an inode glock outside of\nthe glmutex lock.\n\nAlso there was a mutex left over from when the glock cache was\nmaster of the inode cache. That isn\u0027t required any more so I\u0027ve\nremoved that too.\n\nThere is probably scope for further speed ups in the future\nin this area.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "8872187780f6104216c67e7b60c11f708b513c38",
      "tree": "690823763a87d7cd4c90e94760319414e2fc4ad6",
      "parents": [
        "4a99c3d9d6663085e28bc7ac8dae1e985c5a6174"
      ],
      "author": {
        "name": "Russell Cattelan",
        "email": "cattelan@redhat.com",
        "time": "Thu Aug 10 11:08:40 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Aug 10 17:18:59 2006 -0400"
      },
      "message": "[GFS2] Fix a couple of refcount leaks.\n\nrecovery.c add a brelse to deal with gfs2_replay_read_block being called\ntwice on the same block.\n\nadd a dput to drop the ref count on the root inode.\nThis was causing lingering glocks and thus causing\na mount failure to hang.\n\nFix a endian conversion macro that was was swizzling\n16bits when it should have been swizzling 32.\n\nSigned-off-by: Russell Cattelan \u003ccattelan@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n\n"
    },
    {
      "commit": "5dd9feafb351a8bf304292623cbc63335c34d279",
      "tree": "14cf06e6490da4dce49e7dcc3b503a14df7d30f2",
      "parents": [
        "2b98a54f796f701604737abd9c2017948e9e010b"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jul 28 14:52:33 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jul 28 14:52:33 2006 -0400"
      },
      "message": "[GFS2] Fix bug in clear_inode\n\nWe should have been waiting for lock demotion to finish in\nclear_inode.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "f45b7ddd2bae1dc98e35c3611b55cba6d2a8da9e",
      "tree": "b2c498fc65855cb0f7ec17b9e2a42200aae633af",
      "parents": [
        "ae4a382004fc6cf229c51deaf69910410d313e0b"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jul 27 13:53:53 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jul 27 13:53:53 2006 -0400"
      },
      "message": "[GFS2] Use a bio to read the superblock\n\nThis means that we don\u0027t need to create a special inode just to contain\na struct address_space in order to read a single disk block. Instead\nwe read the disk block directly. Its slightly faster, and uses slightly\nless memory, but the real reason for doing this is that it removes a\nspecial case from the glock code.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "29937ac6caa68d60c7f1a3e07b6137cf53e09e24",
      "tree": "ace90d235f2ee44926885efeab8d6fe9761427f8",
      "parents": [
        "71ec63c5d66b577a71910b82740751be73e81310"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jul 06 17:58:03 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jul 06 17:58:03 2006 -0400"
      },
      "message": "[GFS2] Fixes to scanning of glocks (again)\n\nThis really is the correct fix this time. We just ignore all\nglocks associated with inodes until the inodes are pushed\nfrom the inode cache. At that point the glocks are queued for\nreclaim, so we don\u0027t need to do it here.\n\nAlso fix one or two other minor bugs.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "627add2d1385394d020c84533c91ad26bc37b166",
      "tree": "a039b59e1d33ae40f5fd51d400aa734c2086db8d",
      "parents": [
        "fd4de2d41a9de2d949b0850d637aa84616f87ab8"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jul 05 13:16:19 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jul 05 13:16:19 2006 -0400"
      },
      "message": "[GFS2] Correct logic in glock scanner\n\nUnder certain circumstances the glock scanning logic would\ndemote locks which ought not to have been selected for\ndemotion.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "af18ddb8864b096e3ed4732e2d4b21c956dcfe3a",
      "tree": "7077bfdc2d7425153f90350739cadf8b5b3cf8e3",
      "parents": [
        "a53311d4d9e1cde15aebc2048847ea19fb33ac3a"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Sat Jun 24 15:42:21 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Sat Jun 24 15:42:21 2006 -0400"
      },
      "message": "[GFS2] Eliminate one instance of __GFP_NOFAIL\n\nThis removes one instance of GFP_NOFAIL from the glock callback\nfunction. It also fixes a bug where a , was used at a line end\nrather than ; causing unintended results.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "feaa7bba026c181ce071d5a4884f7f9dd26207a1",
      "tree": "c858deb225917265cb07820730e9764674d133e8",
      "parents": [
        "22da645fd6675b7abc55cf937ddf6132f343e5b9"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jun 14 15:32:57 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jun 14 15:32:57 2006 -0400"
      },
      "message": "[GFS2] Fix unlinked file handling\n\nThis patch fixes the way we have been dealing with unlinked,\nbut still open files. It removes all limits (other than memory\nfor inodes, as per every other filesystem) on numbers of these\nwhich we can support on GFS2. It also means that (like other\nfs) its the responsibility of the last process to close the file\nto deallocate the storage, rather than the person who did the\nunlinking. Note that with GFS2, those two events might take place\non different nodes.\n\nAlso there are a number of other changes:\n\n o We use the Linux inode subsystem as it was intended to be\nused, wrt allocating GFS2 inodes\n o The Linux inode cache is now the point which we use for\nlocal enforcement of only holding one copy of the inode in\ncore at once (previous to this we used the glock layer).\n o We no longer use the unlinked \"special\" file. We just ignore it\ncompletely. This makes unlinking more efficient.\n o We now use the 4th block allocation state. The previously unused\nstate is used to track unlinked but still open inodes.\n o gfs2_inoded is no longer needed\n o Several fields are now no longer needed (and removed) from the in\ncore struct gfs2_inode\n o Several fields are no longer needed (and removed) from the in core\nsuperblock\n\nThere are a number of future possible optimisations and clean ups\nwhich have been made possible by this patch.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "382066da251132f768380f4852ed5afb72d88f80",
      "tree": "f8ae69e6b441452f9958f45cea15a0cf90baa39d",
      "parents": [
        "9229f013495dcdae76e9942ebc2cfc69851fe10a"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed May 24 10:22:09 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed May 24 10:22:09 2006 -0400"
      },
      "message": "[GFS2] Casts for printing 64bit numbers\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "320dd101e2d595a03439adb92b319f3af53dd1d0",
      "tree": "56a88401a218622018030045fec009bafdc4ce76",
      "parents": [
        "3a8a9a1034813aa99f5ae3150f652d490c5ff10d"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu May 18 16:25:27 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu May 18 16:25:27 2006 -0400"
      },
      "message": "[GFS2] glock debugging and inode cache changes\n\nThis adds some extra debugging to glock.c and changes\ninode.c\u0027s deallocation code to call the debugging code\nat a suitable moment. I\u0027m chasing down a particular bug\nto do with deallocation at the moment and the code can\ngo again once the bug is fixed.\n\nAlso this includes the first part of some changes to unify\nthe Linux struct inode and GFS2\u0027s struct gfs2_inode. This\ntransformation will happen in small parts over the next short\nperiod.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "3a8a9a1034813aa99f5ae3150f652d490c5ff10d",
      "tree": "427d4c1499b5c88dbf43c6e490d83cee350083b2",
      "parents": [
        "bd8968010a9a08e67a0ddb3ddee9feb8882e8c2f"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu May 18 15:09:15 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu May 18 15:09:15 2006 -0400"
      },
      "message": "[GFS2] Update copyright date to 2006\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "bd8968010a9a08e67a0ddb3ddee9feb8882e8c2f",
      "tree": "c3960853310112779e2ce583a8c8b524777cb70d",
      "parents": [
        "1b50259bc33f2adfcb4c5fba4b740bf80789df22"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu May 18 14:54:58 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu May 18 14:54:58 2006 -0400"
      },
      "message": "[GFS2] Remove semaphore.h from C files\n\nWe no longer use semaphores, everything has been converted to\nmutex or rwsem, so we don\u0027t need to include this header any more.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "fd88de569b802c4a04aaa6ee74667775f4aed8c6",
      "tree": "1766c45303798bf289059afc8f117cf8bc784086",
      "parents": [
        "5bb76af1e089ac186c15c6aa792340d22b63d4b4"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri May 05 16:59:11 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri May 05 16:59:11 2006 -0400"
      },
      "message": "[GFS2] Readpages support\n\nThis adds readpages support (and also corrects a small bug in\nthe readpage error path at the same time). Hopefully this will\nimprove performance by allowing GFS to submit larger lumps of\nI/O at a time.\n\nIn order to simplify the setting of BH_Boundary, it currently gets\nset when we hit the end of a indirect pointer block. There is\nalways a boundary at this point with the current allocation code.\nIt doesn\u0027t get all the boundaries right though, so there is still\nroom for improvement in this.\n\nSee comments in fs/gfs2/ops_address.c for further information about\nreadpages with GFS2.\n\nSigned-off-by: Steven Whitehouse\n"
    },
    {
      "commit": "56409abbf8a9e3754d752d0189f9b9a609ec78de",
      "tree": "ad58978a564ce0679d4a560e187840308ed7cc25",
      "parents": [
        "bac1e07926ae514739e6a12218c8b6ce8ce04514"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Apr 28 11:48:45 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Apr 28 11:48:45 2006 -0400"
      },
      "message": "[GFS2] Remove some unused code\n\nRemove some of the unused code flagged up by Adrian Bunk.\n\nCc: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Steven Whitehouse\n"
    },
    {
      "commit": "08bc2dbc7327e89b9d5b9c8ef9401d1df2622fca",
      "tree": "2c16cbd9f5bd856b00ef0a0d9f88b3afa67712ee",
      "parents": [
        "c56b39cd2c55d521597f04bbd872a08d1c4373ca"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Apr 28 10:59:12 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Apr 28 10:59:12 2006 -0400"
      },
      "message": "[GFS2] [-mm patch] fs/gfs2/: possible cleanups\n\nThis patch contains the following possible cleanups:\n- make needlessly global code static\n- #if 0 unused functions\n- remove the following global function that was both unused and\n  unimplemented:\n  - super.c: gfs2_do_upgrade()\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "363275216c1a1b0b82c8419310c194b8c26b9c27",
      "tree": "476bb04ff32ac1724afa192f4950f4a39a0237f2",
      "parents": [
        "d26046bb0aff707aac38a9bf3dd56fa39b28a399"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Apr 28 10:46:21 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Apr 28 10:46:21 2006 -0400"
      },
      "message": "[GFS2] Reordering in deallocation to avoid recursive locking\n\nDespite my earlier careful search, there was a recursive lock left\nin the deallocation code. This removes it. It also should speed up\ndeallocation be reducing the number of locking operations which take\nplace by using two \"try lock\" operations on the two locks involved in\ninode deallocation which allows us to grab the locks out of order\n(compared with NFS which grabs the inode lock first and the iopen\nlock later). It is ok for us to fail while doing this since if it\ndoes fail it means that someone else is still using the inode and\nthus it wouldn\u0027t be possible to deallocate anyway.\n\nThis fixes the bug reported to me by Rob Kenna.\n\nCc: Rob Kenna \u003crkenna@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e7f5c01caddbad150dcf003f76cd5aac413f4c50",
      "tree": "a37538fc8c067fb169110ccba9788302cdace1d2",
      "parents": [
        "6bd70aba5ab453459bb53b1e29f0e0650d6c311f"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Apr 27 11:25:45 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Apr 27 11:25:45 2006 -0400"
      },
      "message": "[GFS2] Remove redundant casts to/from void\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "579b78a43b366d51f9c888afaf1eab1f4ea599fa",
      "tree": "023e4893b71b35d312a1df18129b296934710d5c",
      "parents": [
        "5965b1f4792a1a9364b4e1ed6be8778a50eb981b"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Apr 26 14:58:26 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Apr 26 14:58:26 2006 -0400"
      },
      "message": "[GFS2] Remove GL_NEVER_RECURSE flag\n\nThere is no point in keeping this flag since recursion is not\nnow allowed for any glock.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "5965b1f4792a1a9364b4e1ed6be8778a50eb981b",
      "tree": "77773aca2301eb2e11dc455e7152823bf3bde361",
      "parents": [
        "3a2a9c96ac129d17aad1a5c46988ad28f72564b0"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Apr 26 13:21:55 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Apr 26 13:21:55 2006 -0400"
      },
      "message": "[GFS2] Don\u0027t do recursive locking in glock layer\n\nThis patch changes the last user of recursive locking so that\nit no longer needs this feature and removes it from the glock\nlayer. This makes the glock code a lot simpler and easier to\nunderstand. Its also a prerequsite to adding support for the\nAOP_TRUNCATED_PAGE return code (or at least it is if you don\u0027t\nwant your brain to melt in the process)\n\nI\u0027ve left in a couple of checks just in case there is some place\nelse in the code which is still using this feature that I didn\u0027t\nspot yet, but they can probably be removed long term.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "190562bd84a484bf6590425aa2bb4d6d611c112b",
      "tree": "dd99bcd847f8d2376f7836ea9d861a31d1021c71",
      "parents": [
        "fe1bdedc6c16adedc6fd3636185ea91596b1d6eb"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Apr 20 16:57:23 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Apr 20 16:57:23 2006 -0400"
      },
      "message": "[GFS2] Fix a bug: scheduling under a spinlock\n\nAt some stage, a mutex was added to gfs2_glock_put() without\nchecking all its call sites. Two of them were called from\nunder a spinlock causing random delays at various points and\ncrashes.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "fe1bdedc6c16adedc6fd3636185ea91596b1d6eb",
      "tree": "4d68a40c1a2db670e71952003e5fb09a95123975",
      "parents": [
        "4d8012b60e0f0e0217e65f67da7d97276d1824e9"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Apr 18 10:09:15 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Apr 18 10:09:15 2006 -0400"
      },
      "message": "[GFS2] Use vmalloc() in dir code\n\nWhen allocating memory to sort directory entries, use vmalloc()\nrather than kmalloc() since for larger directories, the required\nsize can easily be graeter than the 128k maximum of kmalloc().\n\nAlso adding the first steps towards getting the AOP_TRUNCATED_PAGE\nreturn code get in the glock code by flagging all places where we\nrequest a glock and we are holding a page lock.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "d0dc80dbafb5c10ad2084831a61bbf945484a139",
      "tree": "f7434367a66e4e4be0885daefe5e59ab43502a7f",
      "parents": [
        "484adff8a06cb5d952832f5487ae863f54c0fb69"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Mar 29 14:36:49 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Mar 29 14:36:49 2006 -0500"
      },
      "message": "[GFS2] Update debugging code\n\nUpdate the debugging code in trans.c and at the same time improve\nthe debugging code for gfs2_holders. The new code should be pretty\nfast during the normal case and provide just as much information\nin case of errors (or more).\n\nOne small function from glock.c has moved to glock.h as a static inline so\nthat its return address won\u0027t get in the way of the debugging.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "5c676f6d359b0404d53f542f02e1359583cb2895",
      "tree": "8741011990ec0a3d0d41fee9f0d7abf6a16834cc",
      "parents": [
        "f3b270a47882b958e9e3c5bd86894e3a7072899a"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 27 17:23:27 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 27 17:23:27 2006 -0500"
      },
      "message": "[GFS2] Macros removal in gfs2.h\n\nAs suggested by Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e.\n\nThe DIV_RU macro is renamed DIV_ROUND_UP and and moved to kernel.h\nThe other macros are gone from gfs2.h as (although not requested\nby Pekka Enberg) are a number of included header file which are now\nincluded individually. The inode number comparison function is\nnow an inline function.\n\nThe DT2IF and IF2DT may be addressed in a future patch.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "d92a8d48085df863032110d9ccb221cde98d14e1",
      "tree": "faf03d9c10e104f3ab3fb8264e70b4662bae5d33",
      "parents": [
        "2fcb4a1278ec41508d76786f4c5d23bff3b378ee"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 27 10:57:14 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 27 10:57:14 2006 -0500"
      },
      "message": "[GFS2] Audit printk and kmalloc\n\nAll printk calls now have KERN_ set where required and a couple of\nkmalloc(), memset(.., 0, ...) calls changed to kzalloc().\n\nThis is in response to comments from:\nPekka Enberg \u003cpenberg@cs.helsinki.fi\u003e and\nEric Sesterhenn \u003csnakebyte@gmx.de\u003e\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "d95cb943f5b217c5b5f97f5af0fea3c511ed9c97",
      "tree": "dc84771426edfedfd95bfdaafff218ade799d44a",
      "parents": [
        "6a6b3d018f4781f108d170f2181281a3c5589dc8"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Feb 23 10:13:13 2006 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Feb 23 10:13:13 2006 +0000"
      },
      "message": "[GFS2] Patch to remove stats counters from GFS2 (II)\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "6a6b3d018f4781f108d170f2181281a3c5589dc8",
      "tree": "471b6b8392fbcad36e62161c8f97893f97f0699e",
      "parents": [
        "8d3b35a4af87965d1873872b21e504558f62116a"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Feb 23 10:11:47 2006 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Feb 23 10:11:47 2006 +0000"
      },
      "message": "[GFS2] Patch to remove stats gathering from GFS2\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "f55ab26a8f92a23988c3e6da28dae4741933a4e2",
      "tree": "b6f9e89ce1b2ccde8d81314aeea06f6a02f882f7",
      "parents": [
        "5c4e9e036678fae65c9288e1c00a6f33cd447283"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Feb 21 12:51:39 2006 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Feb 21 12:51:39 2006 +0000"
      },
      "message": "[GFS2] Use mutices rather than semaphores\n\nAs well as a number of minor bug fixes, this patch changes GFS\nto use mutices rather than semaphores. This results in better\ninformation in case there are any locking problems.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "b3b94faa5fe5968827ba0640ee9fba4b3e7f736e",
      "tree": "70bd6068b050d2c46e338484f8b03fae4365c6c3",
      "parents": [
        "f7825dcf8c7301cfd3724eb40c5b443cc85ab7b8"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Jan 16 16:50:04 2006 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 16 16:50:04 2006 +0000"
      },
      "message": "[GFS2] The core of GFS2\n\nThis patch contains all the core files for GFS2.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    }
  ]
}
