)]}'
{
  "log": [
    {
      "commit": "719ee344675c2efed9115934f19aa66a526b6e5b",
      "tree": "7f9502d696a09eaf5eba0a0d3fa35557ffd3c503",
      "parents": [
        "37ec89e83c4ca98323fe74f139301ff3949cfdb6"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Sep 18 13:53:59 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Sep 18 13:53:59 2008 +0100"
      },
      "message": "GFS2: high time to take some time over atime\n\nUntil now, we\u0027ve used the same scheme as GFS1 for atime. This has failed\nsince atime is a per vfsmnt flag, not a per fs flag and as such the\n\"noatime\" flag was not getting passed down to the filesystems. This\npatch removes all the \"special casing\" around atime updates and we\nsimply use the VFS\u0027s atime code.\n\nThe net result is that GFS2 will now support all the same atime related\nmount options of any other filesystem on a per-vfsmnt basis. We do lose\nthe \"lazy atime\" updates, but we gain \"relatime\". We could add lazy\natime to the VFS at a later date, if there is a requirement for that\nvariant still - I suspect relatime will be enough.\n\nAlso we lose about 100 lines of code after this patch has been applied,\nand I have a suspicion that it will speed things up a bit, even when\natime is \"on\". So it seems like a nice clean up as well.\n\nFrom a user perspective, everything stays the same except the loss of\nthe per-fs atime quantum tweekable (ought to be per-vfsmnt at the very\nleast, and to be honest I don\u0027t think anybody ever used it) and that a\nnumber of options which were ignored before now work correctly.\n\nPlease let me know if you\u0027ve got any comments. I\u0027m pushing this out\nearly so that you can all see what my plans are.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "bd1eb8818cc2c8ddab86be027ab43fb852942704",
      "tree": "b072daf0c29f929217acc7a589b48c615da6b238",
      "parents": [
        "dff5257473ca1e05002809809f51f858e9a966fc"
      ],
      "author": {
        "name": "Julien Brunel",
        "email": "brunel@diku.dk",
        "time": "Mon Sep 01 10:51:22 2008 +0200"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Sep 05 14:19:44 2008 +0100"
      },
      "message": "GFS2: Use an IS_ERR test rather than a NULL test\n\nIn case of error, the function gfs2_inode_lookup returns an\nERR pointer, but never returns a NULL pointer. So a NULL test that\nnecessarily comes after an IS_ERR test should be deleted, and a NULL\ntest that may come after a call to this function should be\nstrengthened by an IS_ERR test.\n\nThe semantic match that finds this problem is as follows:\n(http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@match_bad_null_test@\nexpression x, E;\nstatement S1,S2;\n@@\nx \u003d gfs2_inode_lookup(...)\n... when !\u003d x \u003d E\n* if (x !\u003d NULL)\nS1 else S2\n// \u003c/smpl\u003e\n\nSigned-off-by:  Julien Brunel \u003cbrunel@diku.dk\u003e\nSigned-off-by:  Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "0188d6c5807b65e2e20dcb75a668efbe5418b27e",
      "tree": "419ee0e74cded399d2e4b9adf4dacf9f9dd31a3e",
      "parents": [
        "72dbf4790fc6736f9cb54424245114acf0b0038c"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Aug 26 09:38:26 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Aug 27 13:33:10 2008 +0100"
      },
      "message": "GFS2: Fix \u0026 clean up GFS2 rename\n\nThis patch fixes a locking issue in the rename code by ensuring that we hold\nthe per sb rename lock over both directory and \"other\" renames which involve\ndifferent parent directories.\n\nAt the same time, this moved the (only called from one place) function\ngfs2_ok_to_move into the file that its called from, so we can mark it\nstatic. This should make a code a bit easier to follow.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Peter Staubach \u003cstaubach@redhat.com\u003e\n"
    },
    {
      "commit": "a569c711f63995ad80c23918525111e0cdb0bc73",
      "tree": "38186f0201614b6b1e71bea0708ef35814825ea6",
      "parents": [
        "2ad94ae654f5eb72fd3260b706aea645cf4a7791"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 23 14:42:05 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 20:53:36 2008 -0400"
      },
      "message": "[PATCH] don\u0027t pass nameidata to gfs2_lookupi()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c9f6a6bbc284ba87337876086f7e2e6e0b0d50dd",
      "tree": "68930f47e91f82ca41b3a9f35fd118d2ff11d891",
      "parents": [
        "9cabcdbd4638cf884839ee4cd15780800c223b90"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jul 10 16:09:29 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jul 10 16:09:29 2008 +0100"
      },
      "message": "[GFS2] Remove support for unused and pointless flag\n\nThe ability to mark files for direct i/o access when opened\nnormally is both unused and pointless, so this patch removes\nsupport for that feature.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "f58ba889106af60f52af792efbe1973e458a2138",
      "tree": "f81426c7f611b74dec685cd416d3da8e7fe647d2",
      "parents": [
        "f17172e00167238cc5e4f61ac4e78c68e5c558ec"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Wed Jul 02 21:12:01 2008 +0200"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jul 03 10:22:01 2008 +0100"
      },
      "message": "[GFS2] don\u0027t call permission()\n\nGFS2 calls permission() to verify permissions after locks on the files\nhave been taken.\n\nFor this it\u0027s sufficient to call gfs2_permission() instead.  This\nresults in the following changes:\n\n  - IS_RDONLY() check is not performed\n  - IS_IMMUTABLE() check is not performed\n  - devcgroup_inode_permission() is not called\n  - security_inode_permission() is not called\n\nIS_RDONLY() should be unnecessary anyway, as the per-mount read-only\nflag should provide protection against read-only remounts during\noperations.  do_gfs2_set_flags() has been fixed to perform\nmnt_want_write()/mnt_drop_write() to protect against remounting\nread-only.\n\nIS_IMMUTABLE has been added to gfs2_permission()\n\nRepeating the security checks seems to be pointless, as they don\u0027t\nnormally change, and if they do, it\u0027s independent of the filesystem\nstate.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n\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": "16c5f06f15ad4e5a5d6e90b78ffb1ac14319e445",
      "tree": "84204e44e0246e9a3f4db23223a5209105fde368",
      "parents": [
        "773adff8e983cba1f5844c3be3be224ca6645f26"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "jbacik@redhat.com",
        "time": "Wed Apr 09 09:33:41 2008 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Apr 10 09:55:26 2008 +0100"
      },
      "message": "[GFS2] fix GFP_KERNEL misuses\n\nThere are several places where GFP_KERNEL allocations happen under a glock,\nwhich will result in hangs if we\u0027re under memory pressure and go to re-enter the\nfs in order to flush stuff out.  This patch changes the culprits to GFS_NOFS to\nkeep this problem from happening.  Thank you,\n\nSigned-off-by: Josef Bacik \u003cjbacik@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n\n"
    },
    {
      "commit": "182fe5abd8ebbb3a00c1be91f44e4783e139918c",
      "tree": "7404993656166f2b7cb78e54e4275d44336ba27c",
      "parents": [
        "105284970ba7d0d0ff4b97e57728eac7adf6a42a"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@gmail.com",
        "time": "Mon Mar 03 21:54:21 2008 +0300"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 31 10:41:28 2008 +0100"
      },
      "message": "[GFS2] possible null pointer dereference fixup\n\ngfs2_alloc_get may fail so we have to check it to prevent\nNULL pointer dereference.\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@gamil.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "43a33c53cc9131a537522ab9736c6e4c03ddf57a",
      "tree": "0b06320ba8b253bf6c3e464db093093be97fa85e",
      "parents": [
        "d83225d45d2b76175279abb2a3d7ee325a09aba8"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Tue Feb 26 15:25:04 2008 +0800"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 31 10:41:22 2008 +0100"
      },
      "message": "[GFS2] re-support special inode\n\na previous commit removed call to\ninit_special_inode from inode lookuping, this cause problems as:\n\n # mknod /mnt/gfs2/dev/null c 1 3\n # cat /mnt/gfs2/dev/null\n cat: /mnt/gfs2/dev/null: Invalid argument\n\nwithout special inode, GFS2 cannot support char device file,\nblock device file, fifo pipe, and socket file, lose many important\nfeatures as a common file system.\n\nthis one line patch re add special inode support.\n\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "d83225d45d2b76175279abb2a3d7ee325a09aba8",
      "tree": "e6fc40998a7e7e0c7a22b2e0f29149ad47e0e2b0",
      "parents": [
        "7dc2cf1c8ffbd471722f1aa479bc68d4df1c9edc"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Tue Feb 26 15:25:03 2008 +0800"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 31 10:41:20 2008 +0100"
      },
      "message": "[GFS2] remove gfs2_dev_iops\n\nstruct inode_operations gfs2_dev_iops is always the same as gfs2_file_iops,\nsince Jan 2006, when GFS2 merged into mainstream kernel.\n\nSo one of them could be removed.\n\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "7afd88d9166a752b52517648bcbe923e05d393fc",
      "tree": "2fb945189e3cb1be7ad007088f8ec86e9f67ece6",
      "parents": [
        "60b779cfc1fa52034a996ee12a23b62d32e86000"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Feb 22 16:07:18 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 31 10:41:12 2008 +0100"
      },
      "message": "[GFS2] Fix a page lock / glock deadlock\n\nWe\u0027ve previously been using a \"try lock\" in readpage on the basis that\nit would prevent deadlocks due to the inverted lock ordering (our normal\nlock ordering is glock first and then page lock). Unfortunately tests\nhave shown that this isn\u0027t enough. If the glock has a demote request\nqueued such that run_queue() in the glock code tries to do a demote when\nits called under readpage then it will try and write out all the dirty\npages which requires locking them. This then deadlocks with the page\nlocked by readpage.\n\nThe solution is to always require two calls into readpage. The first\nunlocks the page, gets the glock and returns AOP_TRUNCATED_PAGE, the\nsecond does the actual readpage and unlocks the glock \u0026 page as\nrequired.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "77658aad226866fb94097236d14d41a88aaab2ec",
      "tree": "2849313fccb193bd3c4f93f241fd5fb98ad871ca",
      "parents": [
        "30cbf189cd2a1ba13ff3c8c8ee2103dbdb18578a"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Feb 12 14:17:27 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 31 10:40:55 2008 +0100"
      },
      "message": "[GFS2] Eliminate (almost) duplicate field from gfs2_inode\n\nThe blocks counter is almost a duplicate of the i_blocks\nfield in the VFS inode. The only difference is that i_blocks\ncan be only 32bits long for 32bit arch without large single file\nsupport. Since GFS2 doesn\u0027t handle the non-large single file\ncase (for 32 bit anyway) this adds a new config dependency on\n64BIT || LSF. This has always been the case, however we\u0027ve never\nexplicitly said so before.\n\nEven if we do add support for the non-LSF case, we will still\nnot require this field to be duplicated since we will not be\nable to access oversized files anyway.\n\nSo the net result of all this is that we shave 8 bytes from a gfs2_inode\nand get our config deps correct.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "ce276b06e8b81845926387e93f77bf81e14b5cc2",
      "tree": "ed28cd74af058761ccaa30829babc872762cf0a7",
      "parents": [
        "9feb7c889f2a3b088a7f6583e609bd39997c0f47"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Feb 06 09:25:45 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 31 10:40:37 2008 +0100"
      },
      "message": "[GFS2] Reduce inode size by merging fields\n\nThere were three fields being used to keep track of the location\nof the most recently allocated block for each inode. These have\nbeen merged into a single field in order to better keep the\ndata and metadata for an inode close on disk, and also to reduce\nthe space required for storage.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "9a0045088d888c9c539c8c626a366cb52c0fbdab",
      "tree": "eac1d44330603c08dddf397fc46484f97a69a11e",
      "parents": [
        "cf45b752c9f23939e40d823b0600bf876e97b0e0"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Feb 01 09:23:44 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 31 10:40:31 2008 +0100"
      },
      "message": "[GFS2] Shrink \u0026 rename di_depth\n\nThis patch forms a pair with the previous patch which shrunk\ndi_height. Like that patch di_depth is renamed i_depth and moved\ninto struct gfs2_inode directly. Also the field goes from 16 bits\nto 8 bits since it is also limited to a max value which is rather\nsmall (17 in this case). In addition we also now validate the field\nagainst this maximum value when its read in.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "ca390601a8bbb4ab8301a9469d23cdb1cf77e7cb",
      "tree": "db76913358aa21accdefc33ac8bcb8b7b22d0568",
      "parents": [
        "fe6c991c52a0dd07d4a19d392fd65048226cb1bc"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Mon Jan 28 11:15:57 2008 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 31 10:39:52 2008 +0100"
      },
      "message": "[GFS2] Fix debug inode printing\n\nI noticed that the latest change to i_height got rid of the\nvalue from the inode dump.  This patch adds it back.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "ecc30c79157103e8bd7492043ee992b763443832",
      "tree": "51b1af9b58dfcf1b561888a6752255ac86070808",
      "parents": [
        "941e6d7d09aaf455c0d7ad383f7f5ae67e4ccf16"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 28 10:37:35 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 31 10:39:46 2008 +0100"
      },
      "message": "[GFS2] Streamline indirect pointer tree height calculation\n\nThis patch improves the calculation of the tree height in order to reduce\nthe number of operations which are carried out on each call to gfs2_block_map.\nIn the common case, we now make a single comparison, rather than calculating\nthe required tree height from scratch each time. Also in the case that the\ntree does need some extra height, we start from the current height rather from\nzero when we work out what the new height ought to be.\n\nIn addition the di_height field is moved into the inode proper and reduced\nin size to a u8 since the value must be between 0 and GFS2_MAX_META_HEIGHT (10).\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "69840b0d065a031a2e5b3fcc3f30560229e312da",
      "tree": "8fc5f8934a71fd5e219a64462b6b72698e25e180",
      "parents": [
        "aa7fa240c7d4ed28ee2d1afacd97be2d76e3cb49"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:29 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:27 2008 -0800"
      },
      "message": "iget: use iget_failed() in GFS2\n\nUse iget_failed() in GFS2 to kill a failed inode.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1b8177ec1e779bcc3ed89419ff7c80dbc3dcc489",
      "tree": "f0bd7d9446dd5d6a90eada749ebb129caa4c6c0a",
      "parents": [
        "b7fe2e391ee7b711d6dfd6a694d60c4f21113cbb"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Sat Jan 19 21:50:24 2008 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:21:04 2008 +0000"
      },
      "message": "[GFS2] Lockup on error\n\nI spotted this bug while I was digging around.  Looks like it could cause\na lockup in some rare error condition.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "6dbd822487d0a9f14432cb4680415b80656b63a2",
      "tree": "f0391d598c27cd7c39c67cfa13799a784f4c389a",
      "parents": [
        "ac39aadd0440ae696e6dacaa8006ce1737b17008"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jan 10 15:18:55 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:18:25 2008 +0000"
      },
      "message": "[GFS2] Reduce inode size by moving i_alloc out of line\n\nIt is possible to reduce the size of GFS2 inodes by taking the i_alloc\nstructure out of the gfs2_inode. This patch allocates the i_alloc\nstructure whenever its needed, and frees it afterward. This decreases\nthe amount of low memory we use at the expense of requiring a memory\nallocation for each page or partial page that we write. A quick test\nwith postmark shows that the overhead is not measurable and I also note\nthat OCFS2 use the same approach.\n\nIn the future I\u0027d like to solve the problem by shrinking down the size\nof the members of the i_alloc structure, but for now, this reduces the\nimmediate problem of using too much low-memory on x86 and doesn\u0027t add\ntoo much overhead.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "c97bfe4351771675963e02f34d31e206fd2d7150",
      "tree": "9ee4de86cacc54f3e49135a4ce39cf7a236efb31",
      "parents": [
        "bcd405599faa16cf32a3d3f1ce6a1e12cb37fede"
      ],
      "author": {
        "name": "Wendy Cheng",
        "email": "wcheng@redhat.com",
        "time": "Thu Nov 29 17:56:51 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:08:15 2008 +0000"
      },
      "message": "[GFS2] Remove lock methods for lock_nolock protocol\n\nGFS2 supports two modes of locking - lock_nolock for single node filesystem\nand lock_dlm for cluster mode locking. The gfs2 lock methods are removed from\nfile operation table for lock_nolock protocol. This would allow VFS to handle\nposix lock and flock logics just like other in-tree filesystems without\nduplication.\n\nSigned-off-by: S. Wendy Cheng \u003cwcheng@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "2bcd610d2fdea608a8fdac32788fc35a32a2327c",
      "tree": "5b3753ff18c1da54bb860dbd67211e6abea78ca7",
      "parents": [
        "8cbc4342478311c2a85260a7ca54d96cb7f71f7b"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 08 14:25:12 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:52 2008 +0000"
      },
      "message": "[GFS2] Don\u0027t add glocks to the journal\n\nThe only reason for adding glocks to the journal was to keep track\nof which locks required a log flush prior to release. We add a\nflag to the glock to allow this check to be made in a simpler way.\n\nThis reduces the size of a glock (by 12 bytes on i386, 24 on x86_64)\nand means that we can avoid extra work during the journal flush.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "5561093e2cac9f7d2a77e39cc689b8d2b7f9b2bc",
      "tree": "aac1fa3e47604f2d7bb1e4d9e97f41b8ffebe91e",
      "parents": [
        "bf36a713169432643d4fc7eeb4e0ace96d791d26"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Oct 17 08:47:38 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:23 2008 +0000"
      },
      "message": "[GFS2] Introduce gfs2_set_aops()\n\nJust like ext3 we now have three sets of address space operations\nto cover the cases of writeback, ordered and journalled data\nwrites. This means that the individual operations can now become\nless complicated as we are able to remove some of the tests for\nfile data mode from the code.\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": "51ff87bdd9f21a5d3672517b75d25ab5842d94a8",
      "tree": "7a8de5720b2a63e8d7d03a940a2b06196b2a3776",
      "parents": [
        "cc7e79b168a552152299bd8a8254dc099aacc993"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Oct 15 14:42:35 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:11 2008 +0000"
      },
      "message": "[GFS2] Clean up internal read function\n\nAs requested by Christoph, this patch cleans up GFS2\u0027s internal\nread function so that it no longer uses the do_generic_mapping_read\nfunction. This function is obsolete and GFS2 is the last user of it.\n\nAs a side effect the internal read code gets smaller and easier\nto read and gfs2_readpage is split into two. One function has the locking\nand the other function has the rest of the logic.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "7a9f53b3c1875bef22ad4588e818bc046ef183da",
      "tree": "0b23b5b8a667d0d57c695c47f6b4eb6d50c2d661",
      "parents": [
        "de986e859a29097fb9211b052d86a9a2c868f6cd"
      ],
      "author": {
        "name": "Benjamin Marzinski",
        "email": "bmarzins@redhat.com",
        "time": "Tue Sep 18 13:33:18 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Oct 10 08:56:29 2007 +0100"
      },
      "message": "[GFS2] Alternate gfs2_iget to avoid looking up inodes being freed\n\nThere is a possible deadlock between two processes on the same node, where one\nprocess is deleting an inode, and another process is looking for allocated but\nunused inodes to delete in order to create more space.\n\nprocess A does an iput() on inode X, and it\u0027s i_count drops to 0. This causes\niput_final() to be called, which puts an inode into state I_FREEING at\ngeneric_delete_inode(). There no point between when iput_final() is called, and\nwhen I_FREEING is set where GFS2 could acquire any glocks. Once I_FREEING is\nset, no other process on that node can successfully look up that inode until\nthe delete finishes.\n\nprocess B locks the the resource group for the same inode in get_local_rgrp(),\nwhich is called by gfs2_inplace_reserve_i()\n\nprocess A tries to lock the resource group for the inode in\ngfs2_dinode_dealloc(), but it\u0027s already locked by process B\n\nprocess B waits in find_inode for the inode to have the I_FREEING state cleared.\n\nDeadlock.\n\nThis patch solves the problem by adding an alternative to gfs2_iget(),\ngfs2_iget_skip(), that simply skips any inodes that are in the I_FREEING\nstate.o The alternate test function is just like the original one, except that\nit fails if the inode is being freed, and sets a skipped flag. The alternate\nset function is just like the original, except that it fails if the skipped\nflag is set. Only try_rgrp_unlink() calls gfs2_iget_skip() instead of\ngfs2_iget().\n\nSigned-off-by: Benjamin E. Marzinski \u003cbmarzins@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e9bd2b3bafd29bf75522546207f0bba0ec4515c2",
      "tree": "fac6201981d94d827390ba23fe8fe6afc2fb0119",
      "parents": [
        "c4f68a130fc1795e4a75ec5bdaf9e85d86c22419"
      ],
      "author": {
        "name": "Wendy Cheng",
        "email": "wcheng@redhat.com",
        "time": "Fri Aug 24 09:15:01 2007 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Oct 10 08:55:51 2007 +0100"
      },
      "message": "[GFS2] fix inode meta data corruption\n\nFix a nasty inode meta data corruption issue by keeping the buffer head in\nicache array. This buffer needs to stay in memory until journal flush occurs\nOtherwise, gfs2_meta_inode_buffer could do a disk read before the inode hits\ndisk. It ends up with meta data corruptions. The buffer will be released as\npart of the existing journal flush logic.\n\nSigned-off-by: S. Wendy Cheng \u003cwcheng@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "35dcc52e3a916184b145fd840250244b81004200",
      "tree": "f3ab5a4094a676967e668fb407c0296a1150264a",
      "parents": [
        "bb9bcf061660661c57ddcf31337529f82414b937"
      ],
      "author": {
        "name": "Wendy Cheng",
        "email": "wcheng@redhat.com",
        "time": "Wed Jun 27 17:07:53 2007 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jul 09 08:24:11 2007 +0100"
      },
      "message": "[GFS2] Remove i_mode passing from NFS File Handle\n\nGFS2 has been passing i_mode within NFS File Handle. Other than the\nwrong assumption that there is always room for this extra 16 bit value,\nthe current gfs2_get_dentry doesn\u0027t really need the i_mode to work\ncorrectly. Note that GFS2 NFS code does go thru the same lookup code\npath as direct file access route (where the mode is obtained from name\nlookup) but gfs2_get_dentry() is coded for different purpose. It is not\nused during lookup time. It is part of the file access procedure call.\nWhen the call is invoked, if on-disk inode is not in-memory, it has to\nbe read-in. This makes i_mode passing a useless overhead.\n\nSigned-off-by: S. Wendy Cheng \u003cwcheng@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "bb9bcf061660661c57ddcf31337529f82414b937",
      "tree": "0876874e5252c4939b8e7bbd62a22a6eb4ad1abf",
      "parents": [
        "f4fadb23ca49abd2f1387a0b7e78b385ebc760ce"
      ],
      "author": {
        "name": "Wendy Cheng",
        "email": "wcheng@redhat.com",
        "time": "Wed Jun 27 17:07:08 2007 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jul 09 08:24:08 2007 +0100"
      },
      "message": "[GFS2] Obtaining no_formal_ino from directory entry\n\nGFS2 lookup code doesn\u0027t ask for inode shared glock. This implies during\nin-memory inode creation for existing file, GFS2 will not disk-read in\nthe inode contents. This leaves no_formal_ino un-initialized during\nlookup time. The un-initialized no_formal_ino is subsequently encoded\ninto file handle. Clients will get ESTALE error whenever it tries to\naccess these files.\n\nSigned-off-by: S. Wendy Cheng \u003cwcheng@redhat.com\u003e\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": "037bcbb7564e35aef937c54799550cd27735aac6",
      "tree": "8155f5365683068480b1cb61bfcaa9679e8431b8",
      "parents": [
        "c8cdf479377462315d6b4f56379f8ac989b0ef29"
      ],
      "author": {
        "name": "akpm@linux-foundation.org",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Jun 08 16:42:14 2007 -0700"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jul 09 08:23:29 2007 +0100"
      },
      "message": "[GFS2] gfs2_lookupi() uninitialised var fix\n\nfs/gfs2/inode.c: In function \u0027gfs2_lookupi\u0027:\nfs/gfs2/inode.c:392: warning: \u0027error\u0027 may be used uninitialized in this function\n\nLooks like a real bug to me.\n\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "c8cdf479377462315d6b4f56379f8ac989b0ef29",
      "tree": "3eee98ca4af8bba92a6df096f6fd2de615a71fa5",
      "parents": [
        "b35997d4482ed24b43a5951c5b021d224b24293c"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jun 08 10:05:33 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jul 09 08:23:26 2007 +0100"
      },
      "message": "[GFS2] Recovery for lost unlinked inodes\n\nUnder certain circumstances its possible (though rather unlikely) that\ninodes which were unlinked by one node while still open on another might\nget \"lost\" in the sense that they don\u0027t get deallocated if the node\nwhich held the inode open crashed before it was unlinked.\n\nThis patch adds the recovery code which allows automatic deallocation of\nthe inode if its found during block allocation (the sensible time to\nlook for such inodes since we are scanning the rgrp\u0027s bitmaps anyway at\nthis time, so it adds no overhead to do this).\n\nSince the inode will have had its i_nlink set to zero, all we need to\ntrigger recovery is a lookup and an iput(), and the normal deallocation\ncode takes care of the rest.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e1cc86037b689a82cdb2df50c32fa8cf9d6b6c3a",
      "tree": "8d7502be9841fae1f13afd2676b86c9139ac0fc2",
      "parents": [
        "ffed8ab342e39b8b5f4d5c94c37a708e225ffcd8"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jun 07 11:47:52 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jul 09 08:23:22 2007 +0100"
      },
      "message": "[GFS2] Fix bug in error path of inode\n\nThis fixes a bug in the ordering of operations in the error path of\ncreatei. Its not valid to do an iput() when holding the inode\u0027s glock\nsince the iput() will (in this case) result in delete_inode() being\ncalled which needs to grab the lock itself. This was causing the\nrecursive lock checking code to trigger.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "4bd91ba18198eee42c39d4c334c825d1a0a4b445",
      "tree": "f385969756303a17a7ce3d24280fc6bd64063c87",
      "parents": [
        "bb8d8a6f54c1c84d7c74623491bab043b36a38c5"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jun 05 09:39:18 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jul 09 08:23:12 2007 +0100"
      },
      "message": "[GFS2] Add nanosecond timestamp feature\n\nThis adds a nanosecond timestamp feature to the GFS2 filesystem. Due\nto the way that the on-disk format works, older filesystems will just\nappear to have this field set to zero. When mounted by an older version\nof GFS2, the filesystem will simply ignore the extra fields so that\nit will again appear to have whole second resolution, so that its\ntrivially backward compatible.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "bb8d8a6f54c1c84d7c74623491bab043b36a38c5",
      "tree": "76c62c505df2a1acd090f4aacc63fb9eddd3950f",
      "parents": [
        "ddf4b426aababdae4cb96326d7aeb9d119f42c50"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jun 01 14:11:58 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jul 09 08:23:10 2007 +0100"
      },
      "message": "[GFS2] Fix sign problem in quota/statfs and cleanup _host structures\n\nThis patch fixes some sign issues which were accidentally introduced\ninto the quota \u0026 statfs code during the endianess annotation process.\nAlso included is a general clean up which moves all of the _host\nstructures out of gfs2_ondisk.h (where they should not have been to\nstart with) and into the places where they are actually used (often only\none place). Also those _host structures which are not required any more\nare removed entirely (which is the eventual plan for all of them).\n\nThe conversion routines from ondisk.c are also moved into the places\nwhere they are actually used, which for almost every one, was just one\nsingle place, so all those are now static functions. This also cleans up\nthe end of gfs2_ondisk.h which no longer needs the #ifdef __KERNEL__.\n\nThe net result is a reduction of about 100 lines of code, many functions\nnow marked static plus the bug fixes as mentioned above. For good\nmeasure I ran the code through sparse after making these changes to\ncheck that there are no warnings generated.\n\nThis fixes Red Hat bz #239686\n\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": "1be3867955731b5cb2dc14060cc46f0882e87873",
      "tree": "6b62524ccc4809a8f60c3eda3f9066529891c72a",
      "parents": [
        "cad5b9392754910ee7dbe551eb004010a864c882"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Mar 01 10:00:53 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Mar 07 14:01:53 2007 -0500"
      },
      "message": "[GFS2] Fix bz 229831, lookup returns wrong inode\n\nThe following patch fixes Red Hat bz 229831. Without this patch its\npossible for the wrong inode to be returned in certain cases. It is a\npretty unusual event, so that its taken some time to track down. Thanks\nand due to Josef Whiter who did a lot of the testing required to thrack\nthis down and fix it.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "fb0d3bce8e88cca4abb26076f778f64edcaf19aa",
      "tree": "e4234e7fb9415bac32c12a607b8030d98acb22e0",
      "parents": [
        "84c6e8cd359adc34d21e40efcafe09297510b3c8"
      ],
      "author": {
        "name": "Wendy Cheng",
        "email": "wcheng@redhat.com",
        "time": "Wed Feb 28 11:24:25 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Mar 07 13:58:45 2007 -0500"
      },
      "message": "[GFS2] pass formal ino in do_filldir_main\n\nok, the following is the minimum changes to get NFSD going before we\nsettle down this issue .. would appreciate this in the tree so other NFS\nrelated works can get done in parallel.\n\nSigned-off-by: S. Wendy Cheng \u003cwcheng@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "ddee76089cc9bcbd8ae9ec6c26e726a8ab2fe675",
      "tree": "cf08d003789a2be0f109d3d5f255137fd36360f5",
      "parents": [
        "61be084efcc4451934257350281962595418a33c"
      ],
      "author": {
        "name": "Russell Cattelan",
        "email": "cattelan@redhat.com",
        "time": "Mon Jan 29 17:13:44 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:38:17 2007 -0500"
      },
      "message": "[GFS2] Fix unlink deadlocks\n\nMove the glock acquisition to outside of the transactions.\n\nLock odering must be preserved in order to prevent ABBA\ndeadlocks. The current gfs2_change_nlink code would tries\nto grab the glock after having started a transaction and thus is holding\nthe log lock. This is inconsistent with other code paths in\ngfs that grab the resource group glock prior to staring\na tranactions.\n\nOne problem with this fix is that the resource group\nlock is always grabbed now even if the inode still has\nref count and can not be marked for unlink.\n\nSigned-off-by: Russell Cattelan \u003ccattelan@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "d7c103d0bd29c94f78155a4538faf314e49d9713",
      "tree": "62c453ffe7d6d4637aa93dd43dbb0665175f644c",
      "parents": [
        "b790c3b7c38aae28c497bb363a6fe72f7c96568f"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jan 25 17:14:59 2007 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:37:53 2007 -0500"
      },
      "message": "[GFS2] Fix recursive locking attempt with NFS\n\nIn certain cases, its possible for NFS to call the lookup code while\nholding the glock (when doing a readdirplus operation) so we need to\ncheck for that and not try and lock the glock twice. This also fixes a\ntypo in a previous NFS related GFS2 patch.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "ddfe0627838ca0c0e8babb0dd2bd7f4b35e25bff",
      "tree": "a6348245a2a4d58705119a2cec5aabd650ee64a1",
      "parents": [
        "90101c31867b7acc44286b425d50e1042aa55b8d"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Jan 18 16:41:23 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:37:38 2007 -0500"
      },
      "message": "[GFS2] use CURRENT_TIME_SEC instead of get_seconds in gfs2\n\nI was looking something else up and came across this...\n\nI don\u0027t honestly have a good reason to change it other than to make it\nlike every other Linux filesystem in this regard.  ;-)  It doesn\u0027t\nfunctionally change anything, but makes some lines shorter. :)\n\nI\u0027m also curious; why does gfs2 have 64-bits of on-disk timestamps, but\nnot in timespec_t format, and only stores second resolutions?  Seems like\nyou\u0027re halfway to sub-second resolutions already.\n\nI suppose if that gets implemented then all of the below should\ninstead be CURRENT_TIME not CURRENT_TIME_SEC.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "03dc6a538e42bcc8d5dfabcee208b639db85a80c",
      "tree": "2b1f4c9407b5e8eb7f77cc1c79f642c54a794368",
      "parents": [
        "70831465646b1fef9bf7b51b64409276411e9746"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Jan 13 10:56:41 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:36:49 2007 -0500"
      },
      "message": "[GFS2] make gfs2_change_nlink_i() static\n\nOn Thu, Jan 11, 2007 at 10:26:27PM -0800, Andrew Morton wrote:\n\u003e...\n\u003e Changes since 2.6.20-rc3-mm1:\n\u003e...\n\u003e  git-gfs2-nmw.patch\n\u003e...\n\u003e  git trees\n\u003e...\n\nThis patch makes the needlessly globlal gfs2_change_nlink_i() static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "87d21e07f3880b8d489f0b4a639deb1362101838",
      "tree": "20b41fc6dad45363b81a9e44daf5b278f532f183",
      "parents": [
        "6c93fd1e578669364e026a0d44c669b871e2a8c4"
      ],
      "author": {
        "name": "S. Wendy Cheng",
        "email": "wcheng@redhat.com",
        "time": "Thu Jan 18 16:07:03 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:36:31 2007 -0500"
      },
      "message": "[GFS2] Fix gfs2_rename deadlock\n\nSecond round of gfs2_rename lock re-ordering to allow Anaconda adding\nroot partition on top of gfs2. Previous to this patch the recursive\nlock detector in glock.c can be triggered due to attempting to lock\nthe rgrp twice. This fixes it by checking to see whether the rgrp\nis already locked.\n\nThis fixes Red Hat bugzilla #221237\n\nSigned-off-by: S. Wendy Cheng \u003cwcheng@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "6c93fd1e578669364e026a0d44c669b871e2a8c4",
      "tree": "282fd8a70fd4791a80a06dbddac1060cbc4f3848",
      "parents": [
        "49686f71060e342bce6644a5c69fbc6ad0e75a13"
      ],
      "author": {
        "name": "Russell Cattelan",
        "email": "cattelan@redhat.com",
        "time": "Mon Jan 08 17:47:51 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:36:28 2007 -0500"
      },
      "message": "[GFS2] BZ 217008 fsfuzzer fix.\n\nUpdate the quilt header comments to match the\ncode changes.\n\nChange gfs2_lookup_simple to return an error in the case\nof a NULL inode.\nThe callers of gfs2_lookup_simple do not check for NULL\nin the no entry case and such would end up dereferencing a NULL ptr.\n\nThis fixes:\nhttp://projects.info-pull.com/mokb/MOKB-15-11-2006.html\n\nSigned-off-by: Russell Cattelan \u003ccattelan@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "5509826f1e548d14bb888c1cb6e3bbf23f855770",
      "tree": "20915fb965f5895f3a41361bdb6182ae10db242c",
      "parents": [
        "e1d5b18ae92d0bbfe66dc2b4bab65006d32c5f7d"
      ],
      "author": {
        "name": "S. Wendy Cheng",
        "email": "wcheng@redhat.com",
        "time": "Thu Jan 18 15:56:34 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 05 13:36:15 2007 -0500"
      },
      "message": "[GFS2] Fix change nlink deadlock\n\nBugzilla 215088\n\nFix deadlock in gfs2_change_nlink() while installing RHEL5 into GFS2\npartition. The gfs2_rename() apparently needs block allocation for the\nnew name (into the directory) where it requires rg locks. At the same\ntime, while updating the nlink count for the replaced file,\ngfs2_change_nlink() tries to return the inode meta-data back to resource\ngroup where it needs rg locks too. Our logic doesn\u0027t allow process to\nacquire these locks recursively by the same process  (RHEL installer)\nthat results a BUG call. This only happens within rename code path and\nonly if the destination file exists before the rename operation.\n\nSigned-off-by: S. Wendy Cheng \u003cwcheng@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "28626e2078571c4b776a17eaa486bbd2b7dfe2cd",
      "tree": "7baa910604078685266ebc023121a536b0931b88",
      "parents": [
        "1a14d3a68f04527546121eb7b45187ff6af63151"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Nov 22 11:13:21 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 30 10:36:33 2006 -0500"
      },
      "message": "[GFS2] Fix glock ordering on inode creation\n\nThe lock order here should be parent -\u003e child rather than\nnumeric order.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "dcd2479959c79d44f5dd77e71672e70f1f8b1f06",
      "tree": "a41926c69b0ea6aac9bc9970b59bcd04f5867866",
      "parents": [
        "175011cf6edddea32e5f5e0e04434104cc348de9"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 16 11:08:16 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 30 10:35:57 2006 -0500"
      },
      "message": "[GFS2] Remove unused function from inode.c\n\nThe gfs2_glock_nq_m_atime function is unused in so far as its only\never called with num_gh \u003d 1, and this falls through to the\ngfs2_glock_nq_atime function, so we might as well call that directly.\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": "e7c698d74fc9e0e76b3086062b0519df3601ff52",
      "tree": "86235c17ba14372b0265bef88fe677ebaf16ad5d",
      "parents": [
        "6b124d8dba1f46c5f2caf3b3159bbe627f75b9b6"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Nov 08 13:52:05 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 30 10:34:48 2006 -0500"
      },
      "message": "[GFS2] Inode number is constant\n\nSince the inode number is constant, we don\u0027t need to keep updating\nit everytime we refresh the other inode fields.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "6b124d8dba1f46c5f2caf3b3159bbe627f75b9b6",
      "tree": "42f03f02a7fe7ccfc9c676ddcdbdcdcb28defef6",
      "parents": [
        "2ca99501fa5422e84f18333918a503433449e2b5"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Nov 08 12:51:06 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 30 10:34:45 2006 -0500"
      },
      "message": "[GFS2] Only set inode flags when required\n\nWe were setting the inode flags from GFS2\u0027s flags far too often, even when they\ncouldn\u0027t possibly have changed. This patch reduces the amount of flag\nsetting going on so that we do it only when the inode is read in or\nwhen the flags have changed. The create case is covered by the \"when\nthe inode is read in\" case.\n\nThis also fixes a bug where we didn\u0027t set S_SYNC correctly.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "294caaa3b8304c0a14c5039691caf23363bd9369",
      "tree": "fbc47d2b1e5bc0c0840881573581b922a804505c",
      "parents": [
        "bfded27ba010d1c3b0aa3843f97dc9b80de751be"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 02 11:59:28 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 30 10:34:33 2006 -0500"
      },
      "message": "[GFS2] Tidy up 0 initialisations in inode.c\n\nWe don\u0027t need to use endian conversions for 0 initialisations\nwhen creating a new on-disk inode.\n\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\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": "a9583c7983cbba9726bfe64ee46613d654fc9e26",
      "tree": "37a23321b8254499e48f93bc65d946ab47547fa4",
      "parents": [
        "1a7b1eed5802502fd649e04784becd58557fdcf1"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Nov 01 20:09:14 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 30 10:34:26 2006 -0500"
      },
      "message": "[GFS2] Shrink gfs2_inode (7) - di_payload_format\n\nThis is almost never used. Its there for backward\ncompatibility with GFS1. It doesn\u0027t need its own\nfield since it can always be calculated from the\ninode mode \u0026 flags. This saves a bit more space\nin the gfs2_inode.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "1a7b1eed5802502fd649e04784becd58557fdcf1",
      "tree": "31e9e9ab8ba1296751985d49d55154848ae2eefa",
      "parents": [
        "4f56110a00af5fb2e22fbccfcaf944d62cae8fcf"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Nov 01 14:35:17 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 30 10:34:23 2006 -0500"
      },
      "message": "[GFS2] Shrink gfs2_inode (6) - di_atime/di_mtime/di_ctime\n\nRemove the di_[amc]time fields and use inode-\u003ei_[amc]time\nfields instead. This saves 24 bytes from the gfs2_inode.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "4f56110a00af5fb2e22fbccfcaf944d62cae8fcf",
      "tree": "764e9b9e6b48637f6b3339496fa11e7047c37899",
      "parents": [
        "2933f9254a6af33db25270778c998a42029da668"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Nov 01 14:04:17 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 30 10:34:20 2006 -0500"
      },
      "message": "[GFS2] Shrink gfs2_inode (5) - di_nlink\n\nRemove the di_nlink field in favour of inode-\u003ei_nlink and\nupdate the nlink handling to use the proper macros. This\nsaves 4 bytes.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "2933f9254a6af33db25270778c998a42029da668",
      "tree": "75dc8b32c901995352b0538607f2636cd2834a1d",
      "parents": [
        "b60623c238b6a819bd04090139704e2cb57a751f"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Nov 01 13:23:29 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 30 10:34:17 2006 -0500"
      },
      "message": "[GFS2] Shrink gfs2_inode (4) - di_uid/di_gid\n\nRemove duplicate di_uid/di_gid fields in favour of using\ninode-\u003ei_uid/inode-\u003ei_gid instead. This saves 8 bytes.\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": "e7f14f4d094ea1a9ce1953375f5bc1500c760c79",
      "tree": "da539b26dedd351ecb591e7ccb571b94a679452e",
      "parents": [
        "af339c0241d0dd3b35f9097b4f4999bb22ffe502"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Oct 31 21:45:08 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 30 10:34:11 2006 -0500"
      },
      "message": "[GFS2] Shrink gfs2_inode (2) - di_major/di_minor\n\nThis removes the device numbers from this structure by using\ninode-\u003ei_rdev instead. It also cleans up the code in gfs2_mknod.\nIt results in shrinking the gfs2_inode by 8 bytes.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "af339c0241d0dd3b35f9097b4f4999bb22ffe502",
      "tree": "c4c3e66de3c63b7a8205717bdf833dd567f6b746",
      "parents": [
        "4cc14f0b88bf3e0b508143e091eb5a8dff3e3b9c"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Nov 01 10:34:15 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 30 10:34:07 2006 -0500"
      },
      "message": "[GFS2] Shrink gfs2_inode (1) - di_header/di_num\n\nThe metadata header doesn\u0027t need to be stored in the incore\nstruct gfs2_inode since its constant, and this patch removes it.\nAlso, there is already a field for the inode\u0027s number in the\nstruct gfs2_inode, so we don\u0027t need one in struct gfs2_dinode_host\nas well.\n\nThis saves 28 bytes of space in the struct gfs2_inode.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "4cc14f0b88bf3e0b508143e091eb5a8dff3e3b9c",
      "tree": "122fd017b608a6421bb720c544c21d84a9f41e82",
      "parents": [
        "ea744d01c6a5acf1f6171b4c6e1658a742063613"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Oct 31 19:00:24 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 30 10:34:03 2006 -0500"
      },
      "message": "[GFS2] Change argument to gfs2_dinode_print\n\nChange argument for gfs2_dinode_print in order to prepare\nfor removal of duplicate fields between struct inode and\nstruct gfs2_dinode_host.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "ea744d01c6a5acf1f6171b4c6e1658a742063613",
      "tree": "6157f726ee369f9caec62c11093f4dde1da4ff42",
      "parents": [
        "891ea14712da68e282de8583e5fa14f0d3f3731e"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Oct 31 15:28:00 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 30 10:34:00 2006 -0500"
      },
      "message": "[GFS2] Move gfs2_dinode_in to inode.c\n\ngfs2_dinode_in() is only ever called from one place, so move it\nto that place (in inode.c) and make it static.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "891ea14712da68e282de8583e5fa14f0d3f3731e",
      "tree": "2550fb6f9cfe3fce0f1a27b7b4c781a67f2497e2",
      "parents": [
        "539e5d6b7ae8612c0393fe940d2da5b591318d3d"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Oct 31 15:22:10 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 30 10:33:57 2006 -0500"
      },
      "message": "[GFS2] Change argument to gfs2_dinode_in\n\nThis is a preliminary patch to enable the removal of fields\nin gfs2_dinode_host which are duplicated in struct inode.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "539e5d6b7ae8612c0393fe940d2da5b591318d3d",
      "tree": "3ae6afd9c47a9a08e87877988d1c47bc060d71bf",
      "parents": [
        "9c9ab3d5414653bfe5e5b9f4dfdaab0c6ab17196"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Oct 31 15:07:05 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 30 10:33:54 2006 -0500"
      },
      "message": "[GFS2] Change argument of gfs2_dinode_out\n\nEverywhere this was called, a struct gfs2_inode was available,\nbut despite that, it was always called with a struct gfs2_dinode\nas an argument. By making this change it paves the way to start\neliminating fields duplicated between the kernel\u0027s struct inode\nand the struct gfs2_dinode.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "b44b84d765b02f813a67b96bf79e3b5d4d621631",
      "tree": "cc5353f1c7f4cacf8560d52c47f108333f179792",
      "parents": [
        "b62f963e1fdf838fed91faec21228d421a834f2d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Oct 14 10:46:30 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 30 10:33:46 2006 -0500"
      },
      "message": "[GFS2] gfs2 misc endianness annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "629a21e7ecedf779c68dcaa9a186069f57a7c652",
      "tree": "aff577cb9d1d3cf42ddb16f4552411d08e5cdc51",
      "parents": [
        "1e81c4c3e0f55c95b6278a827262b80debd0dc7e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 13 22:51:24 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 30 10:33:32 2006 -0500"
      },
      "message": "[GFS2] split and annotate gfs2_inum\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e697264709c86040271cdd7abee781d7adbb7f91",
      "tree": "4050d047b28a7a85b56a41143096bf11a4fa3095",
      "parents": [
        "68826664d12827d7a732192e2f00ba46fb899414"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 13 21:29:46 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 30 10:33:11 2006 -0500"
      },
      "message": "[GFS2] split and annotate gfs2_inum_range\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "3ca68df6ee61e1a2034f3307b9edb9b3d87e5ca1",
      "tree": "9172d33578fe98a6cba4c6819cd868be290fe0c1",
      "parents": [
        "0215ffb08ce99e2bb59eca114a99499a4d06e704"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 13 20:11:25 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 30 10:32:50 2006 -0500"
      },
      "message": "[GFS2] split gfs2_dinode into on-disk and host variants\n\nThe latter is used as part of gfs2-private part of struct inode.\nIt actually stores a lot of fields differently; for now the\ndeclaration is just cloned, inode field is swtiched and changes\npropagated.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "26d83dedf61d26d85f10bc34b92f4de7660fd746",
      "tree": "69fc1d3ccc85fa25b5506e826aad90e6fd3d8f6f",
      "parents": [
        "4a221953ed121692aa25998451a57c7f4be8b4f6"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Oct 30 16:59:08 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Nov 06 08:59:42 2006 -0500"
      },
      "message": "[GFS2] Fix OOM error handling\n\nFix the OOM error handling in inode.c where it was possible for\na NULL pointer to be dereferenced.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "fcb47e0bd279cab5ba8299c0a1e3364d15413a6b",
      "tree": "c7f01edc5e57fcf4671bc7e6eb58e18c7f377d56",
      "parents": [
        "ddacfaf76dd620af9b73343a975749778321b51c"
      ],
      "author": {
        "name": "Ryan O\u0027Hara",
        "email": "rohara@redhat.com",
        "time": "Tue Oct 03 11:57:35 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Oct 03 11:57:35 2006 -0400"
      },
      "message": "[GFS2] Initialize SELinux extended attributes at inode creation time.\n\nThis patch has gfs2_security_init declared as a static function, which\nis correct. As a result, the declaration of this function in inode.h is\nremoved (and thus inode.h is unchanged). Also removed #include eaops.h,\nwhich is not needed.\n\nSigned-Off-By: Ryan O\u0027Hara \u003crohara@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "f92a0b6ff43e8e07bbd5b1d2dd1cff130014f3c7",
      "tree": "f2df811b31bea986185f8a0b9364b0c8dccb96d2",
      "parents": [
        "409e185d2370356ac2e4c7160e002ac5340b6709"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Oct 02 16:01:53 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Oct 02 16:01:53 2006 -0400"
      },
      "message": "[GFS2] Mark nlink cleared so VFS sees it happen\n\nThis does nothing atm, but will be required for later support of\nr/o bind mounts.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "48516ced21e83a755ebae3d1ed03f1731befc391",
      "tree": "9cf3c78506056d36909ce8da5560162d4c0fbc17",
      "parents": [
        "3cf1e7bed4681bdb1c14b6e146ae9c0afb6c1552"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Oct 02 12:39:19 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Oct 02 12:39:19 2006 -0400"
      },
      "message": "[GFS2] Remove uneeded endian conversion\n\nIn many places GFS2 was calling the endian conversion routines\nfor an inode even when only a single field, or a few fields might\nhave changed. As a result we were copying lots of data needlessly.\n\nThis patch replaces those calls with conversion of just the\nrequired fields in each case. This should be faster and easier\nto understand. There are still other places which suffer from this\nproblem, but this is a start in the right direction.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "825f9075d74028d11d7f5932f04e1b5db3022b51",
      "tree": "cbb7ce19f89410a770d82cd3142a55f5f8a30249",
      "parents": [
        "bba9dfd83587017de1c55a94c077983e0dfa0251"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 27 01:50:32 2006 -0700"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Sep 28 08:32:51 2006 -0400"
      },
      "message": "[GFS2] inode-diet: Eliminate i_blksize from the inode structure\n\nThis eliminates the i_blksize field from struct inode.  Filesystems that want\nto provide a per-inode st_blksize can do so by providing their own getattr\nroutine instead of using the generic_fillattr() function.\n\nNote that some filesystems were providing pretty much random (and incorrect)\nvalues for i_blksize.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n"
    },
    {
      "commit": "bba9dfd83587017de1c55a94c077983e0dfa0251",
      "tree": "8af76134269374850dea490ee1020cb92f4fdb9b",
      "parents": [
        "185a257f2f73bcd89050ad02da5bedbc28fc43fa"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 27 01:50:31 2006 -0700"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Sep 28 08:32:24 2006 -0400"
      },
      "message": "[GFS2] inode_diet: Replace inode.u.generic_ip with inode.i_private (gfs)\n\nThe following patches reduce the size of the VFS inode structure by 28 bytes\non a UP x86.  (It would be more on an x86_64 system).  This is a 10% reduction\nin the inode size on a UP kernel that is configured in a production mode\n(i.e., with no spinlock or other debugging functions enabled; if you want to\nsave memory taken up by in-core inodes, the first thing you should do is\ndisable the debugging options; they are responsible for a huge amount of bloat\nin the VFS inode structure).\n\nThis patch:\n\nThe filesystem or device-specific pointer in the inode is inside a union,\nwhich is pretty pointless given that all 30+ users of this field have been\nusing the void pointer.  Get rid of the union and rename it to i_private, with\na comment to explain who is allowed to use the void pointer.  This is just a\ncleanup, but it allows us to reuse the union \u0027u\u0027 for something something where\nthe union will actually be used.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\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": "c26687113aea9a11c6f23ddf668f1fe43eca4ce7",
      "tree": "e5cea81468e2b10e5c379a7c11fd56640d9c5c56",
      "parents": [
        "cd915493fce912f1bd838ee1250737ecf33b8fae"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 04 13:55:48 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 04 13:55:48 2006 -0400"
      },
      "message": "[GFS2] Remove a cast, tidy gfs2_inode_attr_in\n\nThe remains of the changes for Jan Engelhardt\u0027s third email. Remove\na cast and tidy up gfs2_inode_attr_in.\n\nCc: Jan Engelhardt \u003cjengelh@linux01.gwdg.de\u003e\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": "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": "420b9e5e45d33355471c8d2d593bb0e5d6c77421",
      "tree": "7e5e76972606c0c597e0609e65b0478b15ae64c4",
      "parents": [
        "b1b934d31d8a608fe69fc56d6e539548b55b0601"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jul 31 15:42:17 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jul 31 15:42:17 2006 -0400"
      },
      "message": "[GFS2] Tidy up in various files\n\nTidy up some files and remove an unused routine in meta_io.h. Also\nadded a bit of extra debugging in meta_io.h.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "b2a580d87b33816aa9b50268f70666368e12f7df",
      "tree": "0a09c0fcc5bc6fa9d49fddc312745dacd1d952ac",
      "parents": [
        "f3bba03fd16e25a262323293e5a07dea173c89f7"
      ],
      "author": {
        "name": "Abhijith Das",
        "email": "adas@redhat.com",
        "time": "Mon Jul 10 12:36:12 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jul 11 09:54:17 2006 -0400"
      },
      "message": "[PATCH] patch to init di_payload_format field in gfs2_dinode\n\nA missing initialisation when creating a new on disk inode.\n\nSigned-off-by: Abhijith Das \u003cadas@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n\n"
    },
    {
      "commit": "4340fe62531f7d1dafb6f5359ffe0378bdb0db80",
      "tree": "95ee3f2ace3b07e2fa89a9a01ccd5ac40a556eee",
      "parents": [
        "ffeb874b2b893aea7d10b0b088e06a7b1ded2a3e"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jul 11 09:46:33 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jul 11 09:46:33 2006 -0400"
      },
      "message": "[GFS2] Add generation number\n\nThis adds a generation number for the eventual use of NFS to the\nondisk inode. Its backward compatible with the current code since\nit doesn\u0027t really matter what the generation number is to start with,\nand indeed since its set to zero, due to it being taken from padding\nin both the inode and rgrp header, it should be fine.\n\nThe eventual plan is to use this rather than no_formal_ino in the\nNFS filehandles. At that point no_formal_ino will be unused.\n\nAt the same time we also add a releasepages call back to the\n\"normal\" address space for gfs2 inodes. Also I\u0027ve removed a\none-linrer function thats not required any more.\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": "bdd512aeeab860f7a9a537142dd0983f884d723a",
      "tree": "a03ed947884528046a2e9d9b49d31fa791dc8956",
      "parents": [
        "43f5d210a02dcf9d8bafb147044f27add10a459a"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jun 22 15:26:33 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jun 22 15:26:33 2006 -0400"
      },
      "message": "[GFS2] Remove unused flag\n\nThe flag GIF_MIN_INIT is no longer used or required.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "faf450ef4a8567e4c75a905aadae01cf401d893a",
      "tree": "b06d7b68191edd438f9a40e609caeb9380a2a90e",
      "parents": [
        "d9d1ca30505c6fed867e1724b16fdad0c281d7d1"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jun 22 10:59:10 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jun 22 10:59:10 2006 -0400"
      },
      "message": "[GFS2] Remove gfs2_repermission\n\ngfs2_repermission is just a wrapper for permission, so remove it and\ncall permission directly where required.\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": "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": "64c14ea73b58e2c3759682d67eeb00d088355f08",
      "tree": "69f6adfd67fd7d597f1c16d1dff8ad2b8e055df3",
      "parents": [
        "b9cb981310bc22f165726e99385c2d85196e2f41"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue May 16 13:37:11 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue May 16 13:37:11 2006 -0400"
      },
      "message": "[GFS2] Fix ref count bug that used to bite us on umount\n\nThe ref count of certain glock\u0027s got elevated too far during unlink\nwhich caused umount to fail. This fixes it.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "9801f6461eb994e4eda29cba97f4596dffafbf32",
      "tree": "e75edf27e5a3773906000998534e5c44f96d79e5",
      "parents": [
        "e90c01e148b967d30caf59e76accb3a58ca6b74b"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri May 12 14:06:02 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri May 12 14:06:02 2006 -0400"
      },
      "message": "[GFS2] Remove incorrect initialisation of gh_owner\n\nThe gh_owner field shouldn\u0027t be set or reset outside the glock code.\nThese were left over from when recursive locking was allowed. It\nisn\u0027t any more, so they are not needed.\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": "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": "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": "71b86f562b5eb6f94ea00bba060caa64d0137969",
      "tree": "63d982e09a9cb934fe656afe115031c0a9dc5e4a",
      "parents": [
        "94aabbd99370f738da4f6cb4ea0b94cd9024002f"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Mar 28 14:14:04 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Mar 28 14:14:04 2006 -0500"
      },
      "message": "[GFS2] Further updates to dir and logging code\n\nThis reduces the size of the directory code by about 3k and gets\nreaddir() to use the functions which were introduced in the previous\ndirectory code update.\n\nTwo memory allocations are merged into one. Eliminates zeroing of some\nbuffers which were never used before they were initialised by\nother data.\n\nThere is still scope for further improvement in the directory code.\n\nOn the logging side, a hand created mutex has been replaced by a\nstandard Linux mutex in the log allocation code.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "c752666c17f870fa8ae9f16804dd457e9e6daaec",
      "tree": "c3c48383f386a24edbdf3c6292f25b587e6d9368",
      "parents": [
        "419c93e0b6b9eef0bf26b8ad415f2a5bf4300119"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 20 12:30:04 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 20 12:30:04 2006 -0500"
      },
      "message": "[GFS2] Fix bug in directory code and tidy up\n\nDue to a typo, the dir leaf split operation was (for the first\nsplit in a directory) writing the new hash vaules at the\nwrong offset. This is now fixed.\n\nAlso some other tidy ups are included:\n\n - We use GFS2\u0027s hash function for dentries (see ops_dentry.c) so that\n   we don\u0027t have to keep recalculating the hash values.\n - A lot of common code is eliminated between the various directory\n   lookup routines.\n - Better error checking on directory lookup (previously different\n   routines checked for different errors)\n - The leaf split operation has a couple of redundant operations\n   removed from it, so it should be faster.\n\nThere is still further scope for further clean ups in the directory\ncode, and readdir in particular could do with slimming down a bit.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "c9fd43078f5007c6ca6b3a9cd04c51a8f0e44a20",
      "tree": "5a083b01e88afd591fdcce76ad14c4d7d028ac23",
      "parents": [
        "e317ffcb7cc26c5e80cab97160a5e2761a4436ec"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Mar 01 15:31:02 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Mar 01 15:31:02 2006 -0500"
      },
      "message": "[GFS2] Tidy up mount code.\n\nWe no longer lookup \".gfs2_admin\" in the root directory in order to\nfind it, but instead use the inode number given in the superblock.\nBoth the root directory and the admin directory are now looked up using\nthe same routine, so the redundant code is removed.\n\nAlso, there is no longer a reference to the root inode in the\nGFS2 super block. When required this can be retreived via\nsb-\u003es_root-\u003ed_inode instead.\n\nAssuming that we introduce a metadata filesystem type for GFS, then\nthis is a first step towards that goal.\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": "568f4c9659a2225b0d29cf86feecbcf25c9045c8",
      "tree": "8ec0fee12313f88a195e0b90924f6b7633ba29f1",
      "parents": [
        "3a8fe9be6c9794e55ac2253eab91d42b28a9dab6"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 27 12:00:42 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 27 12:00:42 2006 -0500"
      },
      "message": "[GFS2] 80 Column audit of GFS2\n\nRequested by:\nPrarit Bhargava \u003cprarit@redhat.com\u003e\n\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"
    }
  ],
  "next": "7359a19cc758946aba0e45233b8641256b194884"
}
