)]}'
{
  "log": [
    {
      "commit": "6802e3400ff4549525930ee744030c36fce9cc73",
      "tree": "db889bf5337c1d3bb12ebbf571c3c1cad1040496",
      "parents": [
        "543cf4cb3fe6f6cae3651ba918b9c56200b257d0"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed May 21 17:03:22 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jun 27 09:39:22 2008 +0100"
      },
      "message": "[GFS2] Clean up the glock core\n\nThis patch implements a number of cleanups to the core of the\nGFS2 glock code. As a result a lot of code is removed. It looks\nlike a really big change, but actually a large part of this patch\nis either removing or moving existing code.\n\nThere are some new bits too though, such as the new run_queue()\nfunction which is considerably streamlined. Highlights of this\npatch include:\n\n o Fixes a cluster coherency bug during SH -\u003e EX lock conversions\n o Removes the \"glmutex\" code in favour of a single bit lock\n o Removes the -\u003ego_xmote_bh() for inodes since it was duplicating\n   -\u003ego_lock()\n o We now only use the -\u003elm_lock() function for both locks and\n   unlocks (i.e. unlock is a lock with target mode LM_ST_UNLOCKED)\n o The fast path is considerably shortly, giving performance gains\n   especially with lock_nolock\n o The glock_workqueue is now used for all the callbacks from the DLM\n   which allows us to simplify the lock_dlm module (see following patch)\n o The way is now open to make further changes such as eliminating the two\n   threads (gfs2_glockd and gfs2_scand) in favour of a more efficient\n   scheme.\n\nThis patch has undergone extensive testing with various test suites\nso it should be pretty stable by now.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Bob Peterson \u003crpeterso@redhat.com\u003e\n"
    },
    {
      "commit": "091806edd458486af13ad83c9802f5b8b54d6d19",
      "tree": "cf10d6aaf2e6bf0ed5b0ad94306623a2fc3fdb56",
      "parents": [
        "492c2e476eac010962850006c49df326919b284c"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Tue Apr 29 12:35:48 2008 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon May 12 08:54:53 2008 +0100"
      },
      "message": "[GFS2] filesystem consistency error from do_strip\n\nThis patch fixes a GFS2 filesystem consistency error reported from\nfunction do_strip.  The problem was caused by a timing window\nthat allowed two vfs inodes to be created in memory that point\nto the same file.  The problem is fixed by making the vfs\u0027s\niget_test, iget_set mechanism check and set a new bit in the\nin-core gfs2_inode structure while the vfs inode spin_lock is held.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "cf45b752c9f23939e40d823b0600bf876e97b0e0",
      "tree": "e37042a2e1437a81a32bd2bf069b4e714deb3411",
      "parents": [
        "da755fdb414470d6dce3df12ad188de9131cf96c"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Thu Jan 31 10:31:39 2008 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 31 10:40:29 2008 +0100"
      },
      "message": "[GFS2] Remove rgrp and glock version numbers\n\nThis patch further reduces GFS2\u0027s memory requirements by\neliminating the 64-bit version number fields in lieu of\na couple bits.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "3042a2ccd68d2b609d283219e51cba363aa35c1d",
      "tree": "032653f2111bf20c1f4610d3801c42020c3a1abd",
      "parents": [
        "52d4c74b08bf859f698ddb4e8a43c0dc8d4a0685"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Nov 02 08:39:34 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:42 2008 +0000"
      },
      "message": "[GFS2] Reorder writeback for glock sync\n\nPreviously we were doing (write data, wait for data, write metadata, wait\nfor metadata). After this patch we so (write metadata, write data, wait for\ndata, wait for metadata) which should be more efficient.\n\nAlso I noticed that the drop_bh and xmote_bh functions were almost\nidentical. In fact the only difference was a single test, and that\ntest is such that in the drop_bh case, it would always evaluate to\nthe correct result. As such we can use the xmote_bh functions in\nall the places where we were using the drop_bh function and remove\nthe drop_bh functions.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "f91a0d3e24e4b0198be5fae20d45a35c40d1efce",
      "tree": "cda8095f9befd25cbfaf5f63a4c8ca26870d45ca",
      "parents": [
        "3cc3f710ce0effe397b830826a1a081fa81f11c7"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Oct 15 16:29:05 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:16 2008 +0000"
      },
      "message": "[GFS2] Remove useless i_cache from inodes\n\nThe i_cache was designed to keep references to the indirect blocks\nused during block mapping so that they didn\u0027t have to be looked\nup continually. The idea failed because there are too many places\nwhere the i_cache needs to be freed, and this has in the past been\nthe cause of many bugs.\n\nIn addition there was no performance benefit being gained since the\ndisk blocks in question were cached anyway. So this patch removes\nit in order to simplify the code to prepare for other changes which\nwould otherwise have had to add further support for this feature.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "3cc3f710ce0effe397b830826a1a081fa81f11c7",
      "tree": "53f69f1b8d1cbc2849c6bac08ce7786f3ecd7447",
      "parents": [
        "51ff87bdd9f21a5d3672517b75d25ab5842d94a8"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Oct 15 15:40:33 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:13 2008 +0000"
      },
      "message": "[GFS2] Use -\u003epage_mkwrite() for mmap()\n\nThis cleans up the mmap() code path for GFS2 by implementing the\npage_mkwrite function for GFS2. We are thus able to use the\ngeneric filemap_fault function for our -\u003efault() implementation.\n\nThis now means that shared writable mappings will be much more\nefficiently shared across the cluster if there is a reasonable\nproportion of read activity (the greater proportion, the better).\n\nAs a side effect, it also reduces the size of the code, removes\nspecial cases from readpage and readpages, and makes the code\npath easier to follow.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "1ad38c437fa33f85ba4b6a85ea8c5478ee72d5bd",
      "tree": "11a5fc7993ba9ae343fc72f03f9a11f312fd6128",
      "parents": [
        "0820ab517e1b100ee3f9584ec27f93309689ebe7"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 03 11:01:33 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Oct 10 08:56:12 2007 +0100"
      },
      "message": "[GFS2] Clean up gfs2_trans_add_revoke()\n\nThe following alters gfs2_trans_add_revoke() to take a struct\ngfs2_bufdata as an argument. This eliminates the memory allocation which\nwas previously required by making use of the already existing struct\ngfs2_bufdata. It makes some sanity checks to ensure that the\ngfs2_bufdata has been removed from all the lists before its recycled as\na revoke structure. This saves one memory allocation and one free per\nrevoke structure.\n\nAlso as a result, and to simplify the locking, since there is no longer\nany blocking code in gfs2_trans_add_revoke() we must hold the log lock\nwhenever this function is called. This reduces the amount of times we\ntake and unlock the log lock.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "1e1a3d03e927d39282208aed676e49d25129feea",
      "tree": "731cca9b4df1a6164c809f002290a3d7fd6af1f4",
      "parents": [
        "8497a46e178addb27ad1c981befaa17ca788b5c3"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Aug 27 09:45:26 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Oct 10 08:55:55 2007 +0100"
      },
      "message": "[GFS2] Introduce gfs2_remove_from_ail\n\nThis collects together the operations required to remove a gfs2_bufdata\nfrom the ail lists. Its only called from two places to start with, but\nexpect to see more of this function in future.\n\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": "bb3b0e3df5420fdf2c6bbb4417525c6d2ef55bbb",
      "tree": "6eab0fa06b4dc9f9a8d62cedaa6879327966a20c",
      "parents": [
        "2d9a4bbf6d28673f4057682cc02d16bf288b4a35"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Aug 16 16:03:57 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Oct 10 08:55:29 2007 +0100"
      },
      "message": "[GFS2] Clean up invalidatepage/releasepage\n\nThis patch fixes some bugs relating to journaled data files by cleaning\nup the gfs2_invalidatepage() and gfs2_releasepage() functions. We now\nnever block during gfs2_releasepage(), instead we always either release\nor refuse to release depending on the status of the buffers.\n\nThis fixes Red Hat bugzillas #248969 and #252392.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Bob Peterson \u003crpeterso@redhat.com\u003e\n"
    },
    {
      "commit": "b524fe646c9a226a847e30ca1221dc22e952f16b",
      "tree": "873b37ab81cadbcc73b02c83cbfd85c1a5ccbee9",
      "parents": [
        "7dcca30a32aadb0520417521b0c44f42d09fe05c"
      ],
      "author": {
        "name": "Benjamin Marzinski",
        "email": "bmarzins@redhat.com",
        "time": "Wed May 02 09:44:03 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jul 09 08:22:07 2007 +0100"
      },
      "message": "[GFS2] flush the glock completely in inode_go_sync\n\nFix for bz #231910\nWhen filemap_fdatawrite() is called on the inode mapping in data\u003dordered mode,\nit will add the glock to the log. In inode_go_sync(), if you do the\ngfs2_log_flush() before this, after the filemap_fdatawrite() call, the glock\nand its associated data buffers will be on the log again. This means you can\ndemote a lock from exclusive, without having it flushed from the log. The\nattached patch simply moves the gfs2_log_flush up to after the\nfilemap_fdatawrite() call.\n\nOriginally, I tried moving the gfs2_log_flush to after gfs2_meta_sync(), but\nthat caused me to trip the following assert.\n\nGFS2: fsid\u003dcypher-36:test.0: fatal: assertion \"!buffer_busy(bh)\" failed\nGFS2: fsid\u003dcypher-36:test.0:   function \u003d gfs2_ail_empty_gl, file \u003d fs/gfs2/glops.c, line \u003d 61\n\nIt appears that gfs2_log_flush() puts some of the glocks buffers in the busy\nstate and the filemap_fdatawrite() call is necessary to flush them. This makes\nme worry slightly that a related problem could happen because of moving the\ngfs2_log_flush() after the initial filemap_fdatawrite(), but I assume that\ngfs2_ail_empty_gl() would catch that case as well.\n\nSigned-off-by: Benjamin E. Marzinski \u003cbmarzins@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "3e9f45bd18191bbd05468b19b7064b8da8262aba",
      "tree": "06c790a9cb1afc83d170447a277e51f5a1a5f303",
      "parents": [
        "c83e44842074a87614c78eca70fa6467b0bc3c4a"
      ],
      "author": {
        "name": "Guillaume Chazarain",
        "email": "guichaz@yahoo.fr",
        "time": "Tue May 08 00:23:25 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:14:57 2007 -0700"
      },
      "message": "Factor outstanding I/O error handling\n\nCleanup: setting an outstanding error on a mapping was open coded too many\ntimes.  Factor it out in mapping_set_error().\n\nSigned-off-by: Guillaume Chazarain \u003cguichaz@yahoo.fr\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c3f49bc209b28d2b5f82b78baaa827eb3a4d1891",
      "tree": "db160e1e04427ab48a7324f2781e66beb5c92072",
      "parents": [
        "95d97b7dd7d7a7a13d11a38b3ecb64849d2e5086"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Mar 07 09:06:48 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Mar 07 14:03:53 2007 -0500"
      },
      "message": "[GFS2] Fix bz 229873, alternate test: assertion \"!ip-\u003ei_inode.i_mapping-\u003enrpages\" failed\n\nThe following removes an incorrect assertion from the GFS2 glops code. This\nfixes Red Hat bz 229873. Thanks to Abhijith Das for testing the patch\nand confirming the fix.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Abhijith Das \u003cadas@redhat.com\u003e\n"
    },
    {
      "commit": "cad5b9392754910ee7dbe551eb004010a864c882",
      "tree": "8f471553844c6a920d607a82b466f649599a102e",
      "parents": [
        "fb0d3bce8e88cca4abb26076f778f64edcaf19aa"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Feb 28 14:03:00 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Mar 07 14:00:14 2007 -0500"
      },
      "message": "[GFS2] Fix bz 230143, incorrect flushing of rgrps\n\nThe below patch fixes a problem where we were not flushing rgrps\ncorrectly. It only occurred in the specific case that a callback was\nreceived for an rgrp which was dirty and when a journal log flush had\nnot already resulted in the rgrp being flushed anyway. This fixes Red\nHat bz 230143,\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "cd354f1ae75e6466a7e31b727faede57a1f89ca5",
      "tree": "09a2da1672465fefbc7fe06ff4e6084f1dd14c6b",
      "parents": [
        "3fc605a2aa38899c12180ca311f1eeb61a6d867e"
      ],
      "author": {
        "name": "Tim Schmielau",
        "email": "tim@physik3.uni-rostock.de",
        "time": "Wed Feb 14 00:33:14 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:54 2007 -0800"
      },
      "message": "[PATCH] remove many unneeded #includes of sched.h\n\nAfter Al Viro (finally) succeeded in removing the sched.h #include in module.h\nrecently, it makes sense again to remove other superfluous sched.h includes.\nThere are quite a lot of files which include it but don\u0027t actually need\nanything defined in there.  Presumably these includes were once needed for\nmacros that used to live in sched.h, but moved to other header files in the\ncourse of cleaning it up.\n\nTo ease the pain, this time I did not fiddle with any header files and only\nremoved #includes from .c-files, which tend to cause less trouble.\n\nCompile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,\narm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,\nallmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all\nconfigs in arch/arm/configs on arm.  I also checked that no new warnings were\nintroduced by the patch (actually, some warnings are removed that were emitted\nby unnecessarily included header files).\n\nSigned-off-by: Tim Schmielau \u003ctim@physik3.uni-rostock.de\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\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": "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": "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": "9e2dbdac3df300516ffdd9a8631f23164d068a50",
      "tree": "088a7dce1a0cc678a80ca1609642e7e3ecacd4dd",
      "parents": [
        "e7c698d74fc9e0e76b3086062b0519df3601ff52"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Nov 08 15:45:46 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 30 10:34:52 2006 -0500"
      },
      "message": "[GFS2] Remove gfs2_inode_attr_in\n\nThis function wasn\u0027t really doing the right thing. There was no need\nto update the inode size at this point and the updating of the\ni_blocks field has now been moved to the places where di_blocks is\nupdated. A result of this patch and some those preceeding it is that\nunlocking a glock is now a much more efficient process, since there\nis no longer any requirement to copy data from the gfs2 inode into\nthe vfs inode at this point.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "bfded27ba010d1c3b0aa3843f97dc9b80de751be",
      "tree": "55d0009b96ae00188fa4ab546cdcad5686a3fdde",
      "parents": [
        "a9583c7983cbba9726bfe64ee46613d654fc9e26"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Nov 01 16:05:38 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 30 10:34:30 2006 -0500"
      },
      "message": "[GFS2] Shrink gfs2_inode (8) - i_vn\n\nThis shrinks the size of the gfs2_inode by 8 bytes by\nreplacing the version counter with a one bit valid/invalid\nflag.\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": "551676226163379c217e8ec54bd287eab9b8521e",
      "tree": "84abfa1a29c23890124f6dc66790af49917940b4",
      "parents": [
        "e697264709c86040271cdd7abee781d7adbb7f91"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 13 21:47:13 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 30 10:33:14 2006 -0500"
      },
      "message": "[GFS2] split and annotate gfs2_log_head\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "ddacfaf76dd620af9b73343a975749778321b51c",
      "tree": "1199c2a78b5e2cdd6efc6965dd4cd8caa00ec482",
      "parents": [
        "f92a0b6ff43e8e07bbd5b1d2dd1cff130014f3c7"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Oct 03 11:10:41 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Oct 03 11:10:41 2006 -0400"
      },
      "message": "[GFS2] Move logging code into log.c (mostly)\n\nThis moves the logging code from meta_io.c into log.c and glops.c. As a\nresult the routines can now be static and all the logging code is together\nin log.c, leaving meta_io.c with just metadata i/o code in it.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "7276b3b0c77101f8b3f4e45e89a29cf9045e831a",
      "tree": "3dd0a981218e490ddf47f925ba20c254e491ce98",
      "parents": [
        "91fa47964165a42401fbc1f41caa63ab78564305"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Sep 21 17:05:23 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Sep 21 17:05:23 2006 -0400"
      },
      "message": "[GFS2] Tidy up meta_io code\n\nFix a bug in the directory reading code, where we might have dereferenced\na NULL pointer in case of OOM. Updated the directory code to use the new\n\u0026 improved version of gfs2_meta_ra() which now returns the first block\nthat was being read. Previously it was releasing it requiring following\ncode to grab the block again at each point it was called.\n\nAlso turned off readahead on directory lookups since we are reading a\nhash table, and therefore reading the entries in order is very\nunlikely. Readahead is still used for all other calls to the\ndirectory reading function (e.g. when growing the hash table).\n\nRemoved the DIO_START constant. Everywhere this was used, it was\nused to unconditionally start i/o aside from a couple of places, so\nI\u0027ve removed it and made the couple of exceptions to this rule into\nseparate functions.\n\nAlso hunted through the other DIO flags and removed them as arguments\nfrom functions which were always called with the same combination of\narguments.\n\nUpdated gfs2_meta_indirect_buffer to be a bit more efficient and\nhopefully also be a bit easier to read.\n\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": "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": "ea67eedb211d3418fa62fe3477e0d19b2888225e",
      "tree": "456cb81b1eb23ec76ce6a44e5ce2ce068995baa1",
      "parents": [
        "f2f7ba5237e2fe10ba3e328a4f728b9e1ff141da"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 05 10:53:09 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 05 10:53:09 2006 -0400"
      },
      "message": "[GFS2] Fix end of multi-line structures\n\nAs per Jan Engelhardt\u0027s request, I\u0027ve added a \u0027,\u0027 to the end of\neach of the multi-line structures which didn\u0027t already have\none (most already did).\n\nCc: Jan Engelhardt \u003cjengelh@linux01.gwdg.de\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "75d3b817a0b48425da921052955cc58f20bbab52",
      "tree": "7fb2e9bf18d794a590f43397ee56f3ce917a2233",
      "parents": [
        "31e77ac55f18db0ec1c724840927562ef3093ef6"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 04 11:41:31 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 04 11:41:31 2006 -0400"
      },
      "message": "[GFS2] Tidy up bmap/inode code\n\nAs per Jan Engelhardt\u0027s third set of comments, this make various\ncode style changes and moves the structures from format.h into\nsuper.c, which was the only place that format.h was actually used.\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": "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": "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": "ba7f72901cfd437d6de087bf44d2b64357cb38a5",
      "tree": "8661e91d3f4866b0dbcf5f1887bc86ca6564a0d1",
      "parents": [
        "f25ef0c1b4e032b2641857ac4cff3315c6eb90e3"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jul 26 11:27:10 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jul 26 11:27:10 2006 -0400"
      },
      "message": "[GFS2] Remove page.[ch]\n\nThe remaining routines in page.c were all only used in one other\nfile, so they are now moved into the files where they are referenced\nand made static. Thus page.[ch] are no longer required.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "3a8476dda13bc6690c5c2d5f1d3078048392c188",
      "tree": "1d08bad458d78ce27bec02416491d0f86a454b82",
      "parents": [
        "feaa7bba026c181ce071d5a4884f7f9dd26207a1"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jun 19 09:10:39 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jun 19 09:10:39 2006 -0400"
      },
      "message": "[GFS2] Remove debugging printks\n\nA few of my printks slipped through last time. Also fix a couple of\nminor bugs.\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": "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": "b09e593d799560f1a0782c20ac5900058390a26f",
      "tree": "20f04bd2c8ba9c09ac80a7bb1400d341c4fd7e21",
      "parents": [
        "55eccc6d00cea224bf634d44e9871cfe83200ff2"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Apr 07 11:17:32 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Apr 07 11:17:32 2006 -0400"
      },
      "message": "[GFS2] Fix a ref count bug and other clean ups\n\nThis fixes a ref count bug that sometimes showed up a umount time\n(causing it to hang) but it otherwise mostly harmless. At the same\ntime there are some clean ups including making the log operations\nstructures const, moving a memory allocation so that its not done\nin the fast path of checking to see if there is an outstanding\ntransaction related to a particular glock.\n\nRemoves the sd_log_wrap varaible which was updated, but never actually\nused anywhere. Updates the gfs2 ioctl() to run without the kernel lock\n(which it never needed anyway). Removes the \"invalidate inodes\" loop\nfrom GFS2\u0027s put_super routine. This is done in kill super anyway so\nwe don\u0027t need to do it here. The loop was also bogus in that if there\nare any inodes \"stuck\" at this point its a bug and we need to know\nabout it rather than hide it by hanging forever.\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": "7359a19cc758946aba0e45233b8641256b194884",
      "tree": "d96aaeb2fb239efe6fdb0b4698eb94108719f423",
      "parents": [
        "18ec7d5c3f434aed9661ed10a9e1f48cdeb4981d"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 13 12:27:43 2006 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 13 12:27:43 2006 +0000"
      },
      "message": "[GFS2] Fix for root inode ref count bug\n\nUmount is now working correctly again. The bug was due to\nnot getting an extra ref count when mounting the fs. We\nshould have bumped it by two (once for the internal pointer\nto the root inode from the super block and once for the\ninode hanging off the dcache entry for root).\n\nAlso this patch tidys up the code dealing with looking up\nand creating inodes. We now pass Linux inodes (with gfs2_inodes\nattached) rather than the other way around and this reduces code\nduplication in various places.\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"
    }
  ]
}
