)]}'
{
  "log": [
    {
      "commit": "d82661d96993ac4efc1d54259ea85ffcd9b8bec6",
      "tree": "0a42b5a3ff34839673e0007fca4335f18078803a",
      "parents": [
        "860b25d4a913a00331d333f8e207a088c7a1b84a"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 10 15:34:50 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 31 10:41:36 2008 +0100"
      },
      "message": "[GFS2] Streamline quota lock/check for no-quota case\n\nThis patch streamlines the quota checking in the \"no quota\" case by\nmaking the check inline in the calling function, thus reducing the\nnumber of function calls. Eventually we might be able to remove the\nchecks from the gfs2_quota_lock() and gfs2_quota_check() functions, but\ncurrently we can\u0027t as there are a very few places in the code which need\nto call these functions directly still.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Abhijith Das \u003cadas@redhat.com\u003e\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": "9b8c81d1de49943ec69d157234b8981008c30d31",
      "tree": "c0cbbd25fdcbf376c06c9dcfb7d25b8873caa6ff",
      "parents": [
        "7afd88d9166a752b52517648bcbe923e05d393fc"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Feb 22 16:09:31 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 31 10:41:14 2008 +0100"
      },
      "message": "[GFS2] Allow bmap to allocate extents\n\nWe\u0027ve supported mapping of extents when no block allocation is required\nfor some time. This patch extends that to mapping of extents when an\nallocation has been requested. In that case we try to allocate as many\nblocks as are requested, but we might return fewer in case there is\nsomething preventing us from returning the complete amount (e.g. an\nalready allocated block is in the way).\n\nCurrently the only code path which can actually request multiple data\nblocks in a single bmap call is the page_mkwrite path and even then it\nonly happens if there are multiple blocks per page. What this patch does\ndo however, is merge the allocation requests for metadata (growing the\nmetadata tree in either height or depth) with the allocation of the data\nblocks in the case that both are needed. This results in lower overheads\neven in the single block allocation case.\n\nThe one thing which we can\u0027t handle here at the moment is unstuffing. I\nwould like to be able to do that, but the problem which arises is that\nin order to unstuff one has to get a locked page from the page cache\nwhich results in locking problems in the (usual) case that the caller is\nholding the page lock on the page it wishes to map. So that case will\nhave to be addressed in future patches.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e23159d2a7b2df5bce5f0ee8d57d3292243abf66",
      "tree": "e7b447b7d1538b614bf041414e59603107c10151",
      "parents": [
        "77658aad226866fb94097236d14d41a88aaab2ec"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Feb 12 14:48:39 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 31 10:40:58 2008 +0100"
      },
      "message": "[GFS2] Get inode buffer only once per block map call\n\nIn the case that we needed to grow the height of the metadata tree\nwe were looking up the inode buffer and then brelse()ing it despite\nthe fact that it is needed later in the block map process.\n\nThis patch ensures that we look up the inode\u0027s buffer once and only\nonce during the block map process.\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": "30cbf189cd2a1ba13ff3c8c8ee2103dbdb18578a",
      "tree": "5d3a3e54850f021abf3ccf43879b692025610cb1",
      "parents": [
        "c85a665f064863cc8a2fe88e5f1eb4def5446e90"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Feb 08 13:18:11 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 31 10:40:53 2008 +0100"
      },
      "message": "[GFS2] Add a function to interate over an extent\n\nThis adds a function (currently the only use is during mapping\nof already allocated blocks, but watch this space) which iterates\nover a number of pointers in a block and returns the extent length.\n\nIf the initial pointer is 0 (i.e. unallocated) it will return the\nnumber of unallocated blocks in the extent. If the initial pointer\nis allocated, then it returns the number of contiguously allocated\nblocks in the extent.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "c85a665f064863cc8a2fe88e5f1eb4def5446e90",
      "tree": "e0494fb688424e7c27a4e372b02f245a2b3fb3c4",
      "parents": [
        "b45e41d7d56dfef1ae9e02e6c59990066ba82e5c"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Feb 12 12:14:59 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 31 10:40:50 2008 +0100"
      },
      "message": "[GFS2] The case of the missing asterisk\n\nA dereference was forgotten. This adds it back correctly.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "b45e41d7d56dfef1ae9e02e6c59990066ba82e5c",
      "tree": "c139447fa57beb3886def4e17449cc34bf40cf3c",
      "parents": [
        "1639431a3f57b43da1e15e9268a1d691ac01ba26"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Feb 06 10:11:15 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 31 10:40:47 2008 +0100"
      },
      "message": "[GFS2] Add extent allocation to block allocator\n\nRather than having to allocate a single block at a time, this patch\nallows the block allocator to allocate an extent. Since there is\nno difference (so far as the block allocator is concerned) between\ndata blocks and indirect blocks, it is posible to allocate a single\nextent and for the caller to unrevoke just the blocks required\nfor indirect blocks.\n\nCurrently the only bit of GFS2 to make use of this feature is the\nbuild height function. The intention is that gfs2_block_map will\nbe changed to make use of this feature in future patches.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "1639431a3f57b43da1e15e9268a1d691ac01ba26",
      "tree": "0e8147c9009c917566cf03c7e23f6ea4ffda8d72",
      "parents": [
        "5731be53e3d82aedd06e02574f833a57b07a08d2"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Feb 01 14:52:30 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 31 10:40:45 2008 +0100"
      },
      "message": "[GFS2] Merge gfs2_alloc_meta and gfs2_alloc_data\n\nThanks to the preceeding patches, the only difference between\nthese two functions is their name. We can thus merge them\nand call the new function gfs2_alloc_block to reflect the\nfact that it can allocate either kind of block.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "5731be53e3d82aedd06e02574f833a57b07a08d2",
      "tree": "8877d9c51ac96a3455d8ac5e3148cd7af62d7c98",
      "parents": [
        "ac576cc5bed0dd7759e2b196468c7df93d6aeeee"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Feb 01 13:16:55 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 31 10:40:42 2008 +0100"
      },
      "message": "[GFS2] Update gfs2_trans_add_unrevoke to accept extents\n\nBy adding an extra argument to gfs2_trans_add_unrevoke we can now\nspecify an extent length of blocks to unrevoke. This means that\nwe only need to make one pass through the list for each extent\nrather than each block. Currently the only extent length which\nis used is 1, but that will change in the future.\n\nAlso gfs2_trans_add_unrevoke is removed from gfs2_alloc_meta\nsince its the only difference between this and gfs2_alloc_data\nwhich is left. This will allow a future patch to merge these\ntwo functions into one (i.e. one call to allocate both data\nand metadata in a single extent in the future).\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": "dbac6710a6dfcec7fbe7d9571c183d86a4237623",
      "tree": "2aea63cbfaf42f5ca4473d7eb3e8486b66dfa669",
      "parents": [
        "11707ea05e85290d10c482b87e195c198f5eb3cf"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jan 29 09:12:55 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 31 10:40:18 2008 +0100"
      },
      "message": "[GFS2] Introduce array of buffers to struct metapath\n\nThe reason for doing this is to allow all the block mapping code\nto share the same array. As a result we can remove two arguments\nfrom lookup_metapath since they are now returned via the array.\n\nWe also add a function to drop all refs to buffer heads when we\nare done with the metapath. The build_height function shares the\nstruct metapath, but currently still frees its own buffers, and\nthis will change in a future patch.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "11707ea05e85290d10c482b87e195c198f5eb3cf",
      "tree": "3fec683526bc8b4940ea06d8df07f90c42fc5da0",
      "parents": [
        "29d38cd16358dcaef4a6c50866ecee28025b481a"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 28 15:10:29 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 31 10:40:15 2008 +0100"
      },
      "message": "[GFS2] Move part of gfs2_block_map into a separate function\n\nThis is required to enable future changes to the block\nmapping code.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "7eabb77e65c559d9c284da232b9ba5354898028a",
      "tree": "b5df9c7ca0317abde3b76e56dc8f6c0050d9558e",
      "parents": [
        "d0109bfa84d6603becac8c2e87b3716f557f2039"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Mon Jan 28 11:24:35 2008 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 31 10:39:57 2008 +0100"
      },
      "message": "[GFS2] Misc fixups\n\nThis patch contains two small fixups that didn\u0027t fit elsewhere.\nThey are: (1) get rid of temp variable in find_metapath.\n(2) Remove vestigial \"ret\" variable from gfs2_writepage_common.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "fe6c991c52a0dd07d4a19d392fd65048226cb1bc",
      "tree": "629a2a35887047f7e973edeb9b543fe833a1065c",
      "parents": [
        "ecc30c79157103e8bd7492043ee992b763443832"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Mon Jan 28 11:13:02 2008 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 31 10:39:49 2008 +0100"
      },
      "message": "[GFS2] Get rid of unneeded parameter in gfs2_rlist_alloc\n\nThis patch removed the unnecessary parameter from function\ngfs2_rlist_alloc.  The parameter was always passed in as 0.\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": "941e6d7d09aaf455c0d7ad383f7f5ae67e4ccf16",
      "tree": "b6d066178387b9222fa25dfd7ea3555cc8b91621",
      "parents": [
        "a9edadbf790d72adf6ebed476cb5caf7743e7e4a"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 28 08:47:38 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 31 10:39:44 2008 +0100"
      },
      "message": "[GFS2] Speed up gfs2_write_alloc_required, deprecate gfs2_extent_map\n\nThis patch removes the call to gfs2_extent_map from gfs2_write_alloc_required,\ninstead we call gfs2_block_map directly. This results in fewer overall calls\nto gfs2_block_map in the multi-block case.\n\nAlso, gfs2_extent_map is marked as deprecated so that people know that its\ngoing away as soon as all the callers have been converted.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "eebd2aa355692afaf9906f62118620f1a1c19dbb",
      "tree": "207eead3a736963c3e50942038c463f2f611ccce",
      "parents": [
        "b98348bdd08dc4ec11828aa98a78edde15c53cfa"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Feb 04 22:28:29 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:13 2008 -0800"
      },
      "message": "Pagecache zeroing: zero_user_segment, zero_user_segments and zero_user\n\nSimplify page cache zeroing of segments of pages through 3 functions\n\nzero_user_segments(page, start1, end1, start2, end2)\n\n        Zeros two segments of the page. It takes the position where to\n        start and end the zeroing which avoids length calculations and\n\tmakes code clearer.\n\nzero_user_segment(page, start, end)\n\n        Same for a single segment.\n\nzero_user(page, start, length)\n\n        Length variant for the case where we know the length.\n\nWe remove the zero_user_page macro. Issues:\n\n1. Its a macro. Inline functions are preferable.\n\n2. The KM_USER0 macro is only defined for HIGHMEM.\n\n   Having to treat this special case everywhere makes the\n   code needlessly complex. The parameter for zeroing is always\n   KM_USER0 except in one single case that we open code.\n\nAvoiding KM_USER0 makes a lot of code not having to be dealing\nwith the special casing for HIGHMEM anymore. Dealing with\nkmap is only necessary for HIGHMEM configurations. In those\nconfigurations we use KM_USER0 like we do for a series of other\nfunctions defined in highmem.h.\n\nSince KM_USER0 is depends on HIGHMEM the existing zero_user_page\nfunction could not be a macro. zero_user_* functions introduced\nhere can be be inline because that constant is not used when these\nfunctions are called.\n\nAlso extract the flushing of the caches to be outside of the kmap.\n\n[akpm@linux-foundation.org: fix nfs and ntfs build]\n[akpm@linux-foundation.org: fix ntfs build some more]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1af535727bbf68e1da7ac232de47315da4c66ade",
      "tree": "ab24a9bc1271179fdae558d4f66e7ee0e401ce4c",
      "parents": [
        "05220535196d413db434527a3edcba79b7187df8"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jan 16 14:24:05 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:19:28 2008 +0000"
      },
      "message": "[GFS2] Fix write alloc required shortcut calculation\n\nThe comparison was being made against the wrong quantity.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "05220535196d413db434527a3edcba79b7187df8",
      "tree": "5811b6f1caeac55102afb993f0b1538bbe9ed2b8",
      "parents": [
        "598278bd4808ed81b0e6fa445458a7d549f72a32"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Fri Jan 11 13:44:50 2008 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:19:03 2008 +0000"
      },
      "message": "[GFS2] gfs2_alloc_required performance\n\nThis is a small I/O performance enhancement to gfs2.  (Actually, it is a rework of\nan earlier version I got wrong).  The idea here is to check if the write extends\npast the last block in the file.  If so, the function can save itself a lot of\ntime and trouble because it knows an allocate will be required.  Benchmarks like\niozone should see better performance.\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": "b0d5fd307463405fe1f57494fbb37f810715ed6d",
      "tree": "2a627d7362a6db7eea4c388b0e0f0ceed8362fb5",
      "parents": [
        "398bbe68321947f6763fbc259a01eb548ce19408"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Tue Dec 11 19:16:09 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:14:13 2008 +0000"
      },
      "message": "[GFS2] Only fetch the dinode once in block_map\n\nFunction gfs2_block_map was often looking up the disk inode twice.\nThis optimizes it so that only does it once.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e9e1ef2b6ee401d7c1e1eb38052857b4b206d172",
      "tree": "68dff93cf4058eb06b162d800f08ff7752cd1a55",
      "parents": [
        "2066b58b0a038d7aedd24133677efb8856cac3a1"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Mon Dec 10 14:13:27 2007 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:08:25 2008 +0000"
      },
      "message": "[GFS2] Remove function gfs2_get_block\n\nThis patch is just a cleanup.  Function gfs2_get_block() just calls\nfunction gfs2_block_map reversing the last two parameters.  By\nreversing the parameters, gfs2_block_map() may be called directly\nand function gfs2_get_block may be eliminated altogether.\nSince this function is done for every block operation,\nthis streamlines the code and makes it a little bit more efficient.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "bf36a713169432643d4fc7eeb4e0ace96d791d26",
      "tree": "2cb69c9716b9ee8c687ef807bb88d5e635db3462",
      "parents": [
        "e7e36f143565d14950055c893cfaf4400ad64d34"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Oct 17 08:35:19 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:07:21 2008 +0000"
      },
      "message": "[GFS2] Add gfs2_is_writeback()\n\nThis adds a function \"gfs2_is_writeback()\" along the lines of the\nexisting \"gfs2_is_jdata()\" in order to clean up the code and make\nthe various tests for the inode mode more obvious. It also fixes\nthe PageChecked() logic where we were resetting the flag too early\nin the case of an error path.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "8475487befb29eeb038fef374a7433d276336a25",
      "tree": "1fb635fc8880475ab2042f4030b2643b31a63654",
      "parents": [
        "d7b616e252b125f12b007c392f7644053bb6f140"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Sun Sep 02 10:55:29 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Oct 10 08:56:05 2007 +0100"
      },
      "message": "[GFS2] Fix ordering of dirty/journal for ordered buffer unstuffing\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "eaf965270ffff3086ef929e660ace45e862cfd2d",
      "tree": "7fda326324431424573ba5d62170637aa8f41d59",
      "parents": [
        "1e1a3d03e927d39282208aed676e49d25129feea"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Aug 27 09:49:37 2007 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Oct 10 08:55:58 2007 +0100"
      },
      "message": "[GFS2] Don\u0027t mark jdata dirty in gfs2_unstuffer_page()\n\nJournaled data is marked dirty by gfs2_unpin and should not be marked\ndirty here.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "a13b8c5f2381495879e6facd3b3ada51c9e68194",
      "tree": "79852951c3074af8b2d9e84fdc03d622bc022be3",
      "parents": [
        "9a5ad13856cbd10be429f09517c51277c02530f7"
      ],
      "author": {
        "name": "Wendy Cheng",
        "email": "wcheng@redhat.com",
        "time": "Mon Aug 20 09:29:53 2007 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Oct 10 08:55:36 2007 +0100"
      },
      "message": "[GFS2] Reduce truncate IO traffic\n\nCurrent GFS2 setattr call unconditionally invokes do_shrink even the\nrequested size and actual file size are equal. This has generated large\namount of extra IOs found during NFS benchmark runs. This patch moves\nthe relevant logic out of shrink code path. Since setattr is a system\ncall, the time stamps update is still required.\n\nSigned-off-by: S. Wendy Cheng \u003cwcheng@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "1875f2f31b3955dff8c3712a56ae61836c8b90fe",
      "tree": "d2283452b7de1ae042cf6265cc9fe7f5dd08a20d",
      "parents": [
        "773ed1a044adc868036dee1722b8bca6ce5923e2"
      ],
      "author": {
        "name": "S. Wendy Cheng",
        "email": "wcheng@redhat.com",
        "time": "Mon Jun 25 21:14:31 2007 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jul 09 08:23:54 2007 +0100"
      },
      "message": "[GFS2] Fix gfs2_block_truncate_page err return\n\nCode segment inside gfs2_block_truncate_page() doesn\u0027t set the return\ncode correctly. This causes NFSD erroneously returns EIO back to client\nwith setattr procedure call (truncate error).\n\nSigned-off-by: S. Wendy Cheng \u003cwcheng@redhat.com\u003e\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": "0507ecf50f22e433592f5ec3a36dc831aaec2e02",
      "tree": "3b4274268cdb359809ccc37b606d9dcff9e03c95",
      "parents": [
        "6c53267f05dc6689ff662efeec426d25d2c0ab84"
      ],
      "author": {
        "name": "Nate Diller",
        "email": "nate.diller@gmail.com",
        "time": "Thu May 10 22:41:28 2007 -0700"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jul 09 08:22:17 2007 +0100"
      },
      "message": "[GFS2] use zero_user_page\n\nUse zero_user_page() instead of open-coding it.\n\nSigned-off-by: Nate Diller \u003cnate.diller@gmail.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cd354f1ae75e6466a7e31b727faede57a1f89ca5",
      "tree": "09a2da1672465fefbc7fe06ff4e6084f1dd14c6b",
      "parents": [
        "3fc605a2aa38899c12180ca311f1eeb61a6d867e"
      ],
      "author": {
        "name": "Tim Schmielau",
        "email": "tim@physik3.uni-rostock.de",
        "time": "Wed Feb 14 00:33:14 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:54 2007 -0800"
      },
      "message": "[PATCH] remove many unneeded #includes of sched.h\n\nAfter Al Viro (finally) succeeded in removing the sched.h #include in module.h\nrecently, it makes sense again to remove other superfluous sched.h includes.\nThere are quite a lot of files which include it but don\u0027t actually need\nanything defined in there.  Presumably these includes were once needed for\nmacros that used to live in sched.h, but moved to other header files in the\ncourse of cleaning it up.\n\nTo ease the pain, this time I did not fiddle with any header files and only\nremoved #includes from .c-files, which tend to cause less trouble.\n\nCompile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,\narm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,\nallmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all\nconfigs in arch/arm/configs on arm.  I also checked that no new warnings were\nintroduced by the patch (actually, some warnings are removed that were emitted\nby unnecessarily included header files).\n\nSigned-off-by: Tim Schmielau \u003ctim@physik3.uni-rostock.de\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "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": "4cf1ed8144e740de27c6146c25d5d7ea26679cc5",
      "tree": "481555ec6e88e4fedba90498f1ac212056ea7828",
      "parents": [
        "ab923031ceb95ec50ef33ccadf28663c660aa94c"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Nov 15 15:21:06 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 30 10:35:49 2006 -0500"
      },
      "message": "[GFS2] Tidy up bmap \u0026 fix boundary bug\n\nThis moves the locking for bmap into the bmap function itself\nrather than using a wrapper function. It also fixes a bug where\nthe boundary flag was set on the wrong bh. Also the flags on\nthe mapped bh are reset earlier in the function to ensure that\nthey are 100% correct on the error path.\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": "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": "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": "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": "23591256d61354e20f12e98d7a496ad5c23de74c",
      "tree": "3013a6e873a6e0a1d55fbace2fba638a978108c0",
      "parents": [
        "42fb00838a644d03f9a2a5fbbe0b668a5ff5df4d"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Oct 13 17:25:45 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Oct 20 09:13:40 2006 -0400"
      },
      "message": "[GFS2] Fix bmap to map extents properly\n\nThis fix means that bmap will map extents of the length requested\nby the VFS rather than guessing at it, or just mapping one block\nat a time. The other callers of gfs2_block_map are audited to ensure\nthey send the correct max extent lengths (i.e. set bh-\u003eb_size correctly).\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": "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": "7276b3b0c77101f8b3f4e45e89a29cf9045e831a",
      "tree": "3dd0a981218e490ddf47f925ba20c254e491ce98",
      "parents": [
        "91fa47964165a42401fbc1f41caa63ab78564305"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Sep 21 17:05:23 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Sep 21 17:05:23 2006 -0400"
      },
      "message": "[GFS2] Tidy up meta_io code\n\nFix a bug in the directory reading code, where we might have dereferenced\na NULL pointer in case of OOM. Updated the directory code to use the new\n\u0026 improved version of gfs2_meta_ra() which now returns the first block\nthat was being read. Previously it was releasing it requiring following\ncode to grab the block again at each point it was called.\n\nAlso turned off readahead on directory lookups since we are reading a\nhash table, and therefore reading the entries in order is very\nunlikely. Readahead is still used for all other calls to the\ndirectory reading function (e.g. when growing the hash table).\n\nRemoved the DIO_START constant. Everywhere this was used, it was\nused to unconditionally start i/o aside from a couple of places, so\nI\u0027ve removed it and made the couple of exceptions to this rule into\nseparate functions.\n\nAlso hunted through the other DIO flags and removed them as arguments\nfrom functions which were always called with the same combination of\narguments.\n\nUpdated gfs2_meta_indirect_buffer to be a bit more efficient and\nhopefully also be a bit easier to read.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "7d308590ae60d1f038a54a94e78a385c5c163452",
      "tree": "f672724840a07022ff6deb8022082af35dbad44c",
      "parents": [
        "f3b30912e0eab0e4160c7649a5f2b10be68027b9"
      ],
      "author": {
        "name": "Fabio Massimo Di Nitto",
        "email": "fabbione@ubuntu.com",
        "time": "Tue Sep 19 07:56:29 2006 +0200"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 19 08:45:18 2006 -0400"
      },
      "message": "[GFS2] Export lm_interface to kernel headers\n\n\nlm_interface.h has a few out of the tree clients such as GFS1\nand userland tools.\n\nRight now, these clients keeps a copy of the file in their build tree\nthat can go out of sync.\n\nMove lm_interface.h to include/linux, export it to userland and\nclean up fs/gfs2 to use the new location.\n\nSigned-off-by: Fabio M. Di Nitto \u003cfabbione@ubuntu.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n\n"
    },
    {
      "commit": "f3b30912e0eab0e4160c7649a5f2b10be68027b9",
      "tree": "e5fa7bc44825b819bf1ea082085f3ef98518e45a",
      "parents": [
        "07903c02d056452da369595f00eac078bf4c7ef0"
      ],
      "author": {
        "name": "akpm@osdl.org",
        "email": "akpm@osdl.org",
        "time": "Mon Sep 18 22:16:03 2006 -0700"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 19 08:43:01 2006 -0400"
      },
      "message": "[GFS2] inode-diet-eliminate-i_blksize-and-use-a-per-superblock-default-vs-gfs2\n\ni_blksize got removed in -mm.\n\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n\n"
    },
    {
      "commit": "7a6bbacbb8dec6fbd1242c959250388f907d429e",
      "tree": "8e314f0b3fd6e54154562c0a9b20173d539470a2",
      "parents": [
        "65952fb4e91c159d253bd28ceaf028a86dbb0b02"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 18 17:18:23 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 18 17:18:23 2006 -0400"
      },
      "message": "[GFS2] Map multiple blocks at once where possible\n\nThis is a tidy up of the GFS2 bmap code. The main change is that the\nbh is passed to gfs2_block_map allowing the flags to be set directly\nrather than having to repeat that code several times in ops_address.c.\n\nAt the same time, the extent mapping code from gfs2_extent_map has\nbeen moved into gfs2_block_map. This allows all calls to gfs2_block_map\nto map extents in the case that no allocation is taking place. As a\nresult reads and non-allocating writes should be faster. A quick test\nwith postmark appears to support this.\n\nThere is a limit on the number of blocks mapped in a single bmap\ncall in that it will only ever map blocks which are pointed to\nfrom a single pointer block. So in other words, it will never try\nto do additional i/o in order to satisfy read-ahead. The maximum\nnumber of blocks is thus somewhat less than 512 (the GFS2 4k block\nsize minus the header divided by sizeof(u64)). I\u0027ve further limited\nthe mapping of \"normal\" blocks to 32 blocks (to avoid extra work)\nsince readpages() will currently read a maximum of 32 blocks ahead (128k).\n\nSome further work will probably be needed to set a suitable value\nfor DIO as well, but for now thats left at the maximum 512 (see\nops_address.c:gfs2_get_block_direct).\n\nThere is probably a lot more that can be done to improve bmap for GFS2,\nbut this is a good first step.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "c53921248c79197befa7caa4c17b1af5c077a2c2",
      "tree": "e446672af150784bee2ac92ccc991a62ed699cca",
      "parents": [
        "7b62536141927212158ab84ce2afda9319ae6f2d"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@linux01.gwdg.de",
        "time": "Tue Sep 05 14:30:40 2006 +0200"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Sep 07 09:42:56 2006 -0400"
      },
      "message": "[GFS2] More style changes\n\nRemove redundant brackets\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@linux01.gwdg.de\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": "a91ea69ffd3f8a0b7139bfd44042ab384461e631",
      "tree": "f05952e49e01609b21dbe8d27d9ffd30b4aa507f",
      "parents": [
        "75d3b817a0b48425da921052955cc58f20bbab52"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 04 12:04:26 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 04 12:04:26 2006 -0400"
      },
      "message": "[GFS2] Align all labels against LH side\n\nThis makes everything consistent.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "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": "ba7f72901cfd437d6de087bf44d2b64357cb38a5",
      "tree": "8661e91d3f4866b0dbcf5f1887bc86ca6564a0d1",
      "parents": [
        "f25ef0c1b4e032b2641857ac4cff3315c6eb90e3"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jul 26 11:27:10 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jul 26 11:27:10 2006 -0400"
      },
      "message": "[GFS2] Remove page.[ch]\n\nThe remaining routines in page.c were all only used in one other\nfile, so they are now moved into the files where they are referenced\nand made static. Thus page.[ch] are no longer required.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "f25ef0c1b4e032b2641857ac4cff3315c6eb90e3",
      "tree": "bb07e8ed49264213cfb5d1694f19f3ece8cad1f0",
      "parents": [
        "81456807a33c2122e2f1f92acfbaaa77b3d06c3c"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jul 26 10:51:20 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jul 26 10:51:20 2006 -0400"
      },
      "message": "[GFS2] Tidy gfs2_unstuffer_page\n\nTidy up gfs2_unstuffer_page by:\n\n a) Moving it into bmap.c\n b) Making it static\n c) Calling it directly from gfs2_unstuff_dinode\n d) Updating all callers of gfs2_unstuff_dinode due to one less\n    required argument.\n\nIt doesn\u0027t change the behaviour at all.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "feaa7bba026c181ce071d5a4884f7f9dd26207a1",
      "tree": "c858deb225917265cb07820730e9764674d133e8",
      "parents": [
        "22da645fd6675b7abc55cf937ddf6132f343e5b9"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jun 14 15:32:57 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jun 14 15:32:57 2006 -0400"
      },
      "message": "[GFS2] Fix unlinked file handling\n\nThis patch fixes the way we have been dealing with unlinked,\nbut still open files. It removes all limits (other than memory\nfor inodes, as per every other filesystem) on numbers of these\nwhich we can support on GFS2. It also means that (like other\nfs) its the responsibility of the last process to close the file\nto deallocate the storage, rather than the person who did the\nunlinking. Note that with GFS2, those two events might take place\non different nodes.\n\nAlso there are a number of other changes:\n\n o We use the Linux inode subsystem as it was intended to be\nused, wrt allocating GFS2 inodes\n o The Linux inode cache is now the point which we use for\nlocal enforcement of only holding one copy of the inode in\ncore at once (previous to this we used the glock layer).\n o We no longer use the unlinked \"special\" file. We just ignore it\ncompletely. This makes unlinking more efficient.\n o We now use the 4th block allocation state. The previously unused\nstate is used to track unlinked but still open inodes.\n o gfs2_inoded is no longer needed\n o Several fields are now no longer needed (and removed) from the in\ncore struct gfs2_inode\n o Several fields are no longer needed (and removed) from the in core\nsuperblock\n\nThere are a number of future possible optimisations and clean ups\nwhich have been made possible by this patch.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "3a8a9a1034813aa99f5ae3150f652d490c5ff10d",
      "tree": "427d4c1499b5c88dbf43c6e490d83cee350083b2",
      "parents": [
        "bd8968010a9a08e67a0ddb3ddee9feb8882e8c2f"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu May 18 15:09:15 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu May 18 15:09:15 2006 -0400"
      },
      "message": "[GFS2] Update copyright date to 2006\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "bd8968010a9a08e67a0ddb3ddee9feb8882e8c2f",
      "tree": "c3960853310112779e2ce583a8c8b524777cb70d",
      "parents": [
        "1b50259bc33f2adfcb4c5fba4b740bf80789df22"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu May 18 14:54:58 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu May 18 14:54:58 2006 -0400"
      },
      "message": "[GFS2] Remove semaphore.h from C files\n\nWe no longer use semaphores, everything has been converted to\nmutex or rwsem, so we don\u0027t need to include this header any more.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e90c01e148b967d30caf59e76accb3a58ca6b74b",
      "tree": "92f9b45febbdbc52174307e2e73dbb26aa893465",
      "parents": [
        "7d63b54a65ce902f9aaa8efe8192aa3b983264d4"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri May 12 12:09:15 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri May 12 12:09:15 2006 -0400"
      },
      "message": "[GFS2] Reverse block order in build_height\n\nThe original code ordered the blocks allocated in the build_height\nroutine backwards causing excessive disk seeks during a read of the\nmetadata. This patch reverses the order to try and reduce disk seeks.\n\nExample: A five level metadata tree, I \u003d Inode, P \u003d Pointers, D \u003d Data\n\nYou need to read the blocks in the order:\n\nI P5 P4 P3 P2 P1 D\n\nin order to read a single data block. The new code now orders the blocks\nin this way. The old code used to order them as:\n\nI P1 P2 P3 P4 P5 D\n\nrequiring two extra seeks on average. Note that for files which are\ngrown by gradual extension rather than by truncate or by llseek/write\nat a large offset, this doesn\u0027t apply. In the case of writing to a\nfile linearly, this routine will only be called upon to extend the\nheight of the tree by one block at a time, so the ordering is\ndetermined by when its called rather than by the internals of the\nroutine itself. Optimising that part of the ordering is a much\nharder problem.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "fd88de569b802c4a04aaa6ee74667775f4aed8c6",
      "tree": "1766c45303798bf289059afc8f117cf8bc784086",
      "parents": [
        "5bb76af1e089ac186c15c6aa792340d22b63d4b4"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri May 05 16:59:11 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri May 05 16:59:11 2006 -0400"
      },
      "message": "[GFS2] Readpages support\n\nThis adds readpages support (and also corrects a small bug in\nthe readpage error path at the same time). Hopefully this will\nimprove performance by allowing GFS to submit larger lumps of\nI/O at a time.\n\nIn order to simplify the setting of BH_Boundary, it currently gets\nset when we hit the end of a indirect pointer block. There is\nalways a boundary at this point with the current allocation code.\nIt doesn\u0027t get all the boundaries right though, so there is still\nroom for improvement in this.\n\nSee comments in fs/gfs2/ops_address.c for further information about\nreadpages with GFS2.\n\nSigned-off-by: Steven Whitehouse\n"
    },
    {
      "commit": "56409abbf8a9e3754d752d0189f9b9a609ec78de",
      "tree": "ad58978a564ce0679d4a560e187840308ed7cc25",
      "parents": [
        "bac1e07926ae514739e6a12218c8b6ce8ce04514"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Apr 28 11:48:45 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Apr 28 11:48:45 2006 -0400"
      },
      "message": "[GFS2] Remove some unused code\n\nRemove some of the unused code flagged up by Adrian Bunk.\n\nCc: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Steven Whitehouse\n"
    },
    {
      "commit": "08bc2dbc7327e89b9d5b9c8ef9401d1df2622fca",
      "tree": "2c16cbd9f5bd856b00ef0a0d9f88b3afa67712ee",
      "parents": [
        "c56b39cd2c55d521597f04bbd872a08d1c4373ca"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Apr 28 10:59:12 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Apr 28 10:59:12 2006 -0400"
      },
      "message": "[GFS2] [-mm patch] fs/gfs2/: possible cleanups\n\nThis patch contains the following possible cleanups:\n- make needlessly global code static\n- #if 0 unused functions\n- remove the following global function that was both unused and\n  unimplemented:\n  - super.c: gfs2_do_upgrade()\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "61e085a88cb59232eb8ff5b446d70491c7bf2c68",
      "tree": "a1e0bb72b6a79ee8700fefc8190e48a6c78d33cd",
      "parents": [
        "1e09ae544eb1a2d11b04c6924f738a310c7a7a2b"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Apr 24 10:07:13 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Apr 24 10:07:13 2006 -0400"
      },
      "message": "[GFS2] Tidy up dir code as per Christoph Hellwig\u0027s comments\n\n1. Comment whitespace fix\n2. Removed unused header files from dir.c\n3. Split the gfs2_dir_get_buffer() function into two functions\n\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\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": "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": "18ec7d5c3f434aed9661ed10a9e1f48cdeb4981d",
      "tree": "a7161a4c4b3592052e6772e1c23849de16cac649",
      "parents": [
        "257f9b4e97e9a6cceeb247cead92119a4396d37b"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Feb 08 11:50:51 2006 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Feb 08 11:50:51 2006 +0000"
      },
      "message": "[GFS2] Make journaled data files identical to normal files on disk\n\nThis is a very large patch, with a few still to be resolved issues\nso you might want to check out the previous head of the tree since\nthis is known to be unstable. Fixes for the various bugs will be\nforthcoming shortly.\n\nThis patch removes the special data format which has been used\nup till now for journaled data files. Directories still retain the\nold format so that they will remain on disk compatible with earlier\nreleases. As a result you can now do the following with journaled\ndata files:\n\n 1) mmap them\n 2) export them over NFS\n 3) convert to/from normal files whenever you want to (the zero length\n    restriction is gone)\n\nIn addition the level at which GFS\u0027 locking is done has changed for all\nfiles (since they all now use the page cache) such that the locking is\ndone at the page cache level rather than the level of the fs operations.\nThis should mean that things like loopback mounts and other things which\ntouch the page cache directly should now work.\n\nCurrent known issues:\n\n 1. There is a lock mode inversion problem related to the resource\n    group hold function which needs to be resolved.\n 2. Any significant amount of I/O causes an oops with an offset of hex 320\n    (NULL pointer dereference) which appears to be related to a journaled data\n    buffer appearing on a list where it shouldn\u0027t be.\n 3. Direct I/O writes are disabled for the time being (will reappear later)\n 4. There is probably a deadlock between the page lock and GFS\u0027 locks under\n    certain combinations of mmap and fs operation I/O.\n 5. Issue relating to ref counting on internally used inodes causes a hang\n    on umount (discovered before this patch, and not fixed by it)\n 6. One part of the directory metadata is different from GFS1 and will need\n    to be resolved before next release.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "257f9b4e97e9a6cceeb247cead92119a4396d37b",
      "tree": "5bd94507046b09a9d6cc067c1dcc1124fbaa4016",
      "parents": [
        "f42faf4fa4eaf7e108dd60f3f2ca5c6e9b45352c"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jan 31 10:00:25 2006 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jan 31 10:00:25 2006 +0000"
      },
      "message": "[GFS2] Update truncate function (shrinking partial blocks)\n\nUpdate the function in GFS2 which deals with truncation of\npartial blocks. Some of the code is \"borrowed\" from ext3\nsince it appears to give a good model of how to do this\noperation. The function is renamed gfs2_block_truncate_page\naccordingly.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "aa6a85a971065b013a71a399c3fc4312e2dd81eb",
      "tree": "ae2d11d0ec557f17cce29e79b18df29b78f9b0f7",
      "parents": [
        "8ca05c60de49c3bb523a435abc216b6b6eeb1067"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "steve@men-an-tol.chygwyn.com",
        "time": "Tue Jan 24 10:37:06 2006 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@men-an-tol.chygwyn.com",
        "time": "Tue Jan 24 10:37:06 2006 +0000"
      },
      "message": "[GFS2] Remove pointless argument relating to truncate\n\nFor some reason a function pointer was being passed through\nthe truncate code which only ever took one value. This removes\nthe function pointer and replaces it with a single call to\nthe function in question.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "d4e9c4c3bf861ef2ac96e0de659c75a00da92b28",
      "tree": "925ececc725ad5180b9253f732b50c51bfa0754d",
      "parents": [
        "b96ca4fa4e3b510d528a093a5bac0befbc2ba46d"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "steve@chygwyn.com",
        "time": "Wed Jan 18 11:19:28 2006 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@chygwyn.com",
        "time": "Wed Jan 18 11:19:28 2006 +0000"
      },
      "message": "[GFS2] Add an additional argument to gfs2_trans_add_bh()\n\nThis adds an extra argument to gfs2_trans_add_bh() to indicate whether the\nbh being added to the transaction is metadata or data. Its currently unused\nsince all existing callers set it to 1 (metadata) but following patches will\nmake use of it.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "666a2c534cc6238932296a95c9e9c06ca3b73d97",
      "tree": "c446ee47e6949f8315616b257bd82f918f3792db",
      "parents": [
        "c73530a1f9633b2e7e6e19d0274b575febf8e8dc"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "steve@chygwyn.com",
        "time": "Wed Jan 18 10:29:04 2006 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@chygwyn.com",
        "time": "Wed Jan 18 10:29:04 2006 +0000"
      },
      "message": "[GFS2] Remove unused code from various files\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "b3b94faa5fe5968827ba0640ee9fba4b3e7f736e",
      "tree": "70bd6068b050d2c46e338484f8b03fae4365c6c3",
      "parents": [
        "f7825dcf8c7301cfd3724eb40c5b443cc85ab7b8"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Jan 16 16:50:04 2006 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 16 16:50:04 2006 +0000"
      },
      "message": "[GFS2] The core of GFS2\n\nThis patch contains all the core files for GFS2.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    }
  ]
}
