)]}'
{
  "log": [
    {
      "commit": "086d8334cf73b3bb695b82dd864a7a8b00d96b7e",
      "tree": "acadf5458a2ccfde44049bcb7ba63e136844f875",
      "parents": [
        "0489b3f5eba735413ccedd425651cf41d6b1f7c5"
      ],
      "author": {
        "name": "Benjamin Marzinski",
        "email": "bmarzins@redhat.com",
        "time": "Tue Nov 23 23:52:55 2010 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Nov 30 15:41:54 2010 +0000"
      },
      "message": "GFS2: fix recursive locking during rindex truncates\n\nWhen you truncate the rindex file, you need to avoid calling gfs2_rindex_hold,\nsince you already hold it.  However, if you haven\u0027t already read in the\nresource groups, you need to do that.\n\nSigned-off-by: Benjamin Marzinski \u003cbmarzins@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n\n"
    },
    {
      "commit": "46290341cd649c2bfb69e5067c1804c0395c83a1",
      "tree": "1ef4a9c1d158ec182645d4be4cb3357a52a4404d",
      "parents": [
        "feb47ca9314666d920855b8a235032dea2b2caa4"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Thu Sep 30 10:34:00 2010 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Sep 30 17:23:03 2010 +0100"
      },
      "message": "GFS2 fatal: filesystem consistency error on rename\n\nThis patch fixes a GFS2 problem whereby the first rename after a\nmount can result in a file system consistency error being flagged\nimproperly and cause the file system to withdraw.  The problem is\nthat the rename code tries to run the rgrp list with function\ngfs2_blk2rgrpd before the rgrp list is guaranteed to be read in\nfrom disk.  The patch makes the rename function hold the rindex\nglock (as the gfs2_unlink code does today) which reads in the rgrp\nlist if need be.  There were a total of three places in the rename\ncode that improperly referenced the rgrp list without the rindex\nglock and this patch fixes all three.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "acf7e2444acfaf4c8540603b76d71010eea3fc24",
      "tree": "7c31957ffbbb4008f368b8640c289f72657330a5",
      "parents": [
        "8d8291ae93ecb4a246e87e452d55cca412373300"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 08 18:00:30 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 08 18:00:30 2009 +0100"
      },
      "message": "GFS2: Be extra careful about deallocating inodes\n\nThere is a potential race in the inode deallocation code if two\nnodes try to deallocate the same inode at the same time. Most of\nthe issue is solved by the iopen locking. There is still a small\nwindow which is not covered by the iopen lock. This patches fixes\nthat and also makes the deallocation code more robust in the face of\nany errors in the rgrp bitmaps, or erroneous iopen callbacks from\nother nodes.\n\nThis does introduce one extra disk read, but that is generally not\nan issue since its the same block that must be written to later\nin the deallocation process. The total disk accesses therefore stay\nthe same,\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "6050b9c74f24513191fc6b5e4b3583e38d146bf5",
      "tree": "ff77010d008e55f6091df69519182e9f88a78215",
      "parents": [
        "440d6da207e9eef2b576331cfedd5ecae9068663"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jul 31 16:19:40 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Aug 17 11:05:31 2009 +0100"
      },
      "message": "GFS2: Improve error handling in inode allocation\n\nA little while back, block allocation was given some improved\nerror handling which meant that -EIO was returned in the case\nof there being a problem in the resource group data. In addition\na message is printed explaning what went wrong and how to fix it.\nThis extends that error handling so that it also covers inode\nallocation too.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "09010978345e8883003bf411bb99753710eb5a3a",
      "tree": "c3a7eaf3a775649d11ad01c2be5d3549e90f6581",
      "parents": [
        "ef9e8b14a5c1d0afbaf12b4c3b271188ddfc52a4"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed May 20 10:48:47 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed May 20 10:48:47 2009 +0100"
      },
      "message": "GFS2: Improve resource group error handling\n\nThis patch improves the error handling in the case where we\ndiscover that the summary information in the resource group\ndoesn\u0027t match the bitmap information while in the process of\nallocating blocks. Originally this resulted in a kernel bug,\nbut this patch changes that so that we return -EIO and print\nsome messages explaining what went wrong, and how to fix it.\n\nWe also remember locally not to try and allocate from the\nsame rgrp again, so that a subsequent allocation in a\ndifferent rgrp should succeed.\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": "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": "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": "cd81a4bac67d44742ab0aa1848f4a78e9d7e1093",
      "tree": "0cc323d20ff2cc8faffc99ee5a998409cb4f165d",
      "parents": [
        "0507ecf50f22e433592f5ec3a36dc831aaec2e02"
      ],
      "author": {
        "name": "Robert Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Mon May 14 12:42:18 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jul 09 08:22:19 2007 +0100"
      },
      "message": "[GFS2] Addendum patch 2 for gfs2_grow\n\nThis addendum patch 2 corrects three things:\n\n1. It fixes a stupid mistake in the previous addendum that broke gfs2.\n   Ref: https://www.redhat.com/archives/cluster-devel/2007-May/msg00162.html\n2. It fixes a problem that Dave Teigland pointed out regarding the\n   external declarations in ops_address.h being in the wrong place.\n3. It recasts a couple more %llu printks to (unsigned long long)\n   as requested by Steve Whitehouse.\n\nI would have loved to put this all in one revised patch, but there was\na rush to get some patches for RHEL5.\tTherefore, the previous patches\nwere applied to the git tree \"as is\" and therefore, I\u0027m posting another\naddendum.  Sorry.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "f5c54804d9e3bb23d8924af09d9ca1c8de9560b6",
      "tree": "34b1b098b93d41a796e3e528445fa3d87030808e",
      "parents": [
        "52ae7b7935a079aaba25da98fe90772d04109f26"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Oct 10 13:45:15 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Oct 12 17:10:15 2006 -0400"
      },
      "message": "[GFS2] Fix uninitialised variable\n\nThis fixes a bug where, in certain cases an uninitialised variable\ncould cause a dereference of a NULL pointer in gfs2_commit_write().\nAlso a typo in a comment is fixed at the same time.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "2c1e52aa905f2223dc600cfeda6c0dc94fac8b81",
      "tree": "e6fde16db33a666fe87da34100c0ad5466654555",
      "parents": [
        "48fac1790935ef2f9548d92e7c8ba604d1b80c12"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 05 15:41:57 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 05 15:41:57 2006 -0400"
      },
      "message": "[GFS2] More style fixes\n\nAs per Jan Engelhardt\u0027s follow up emails, here are a few small\nfixes which were missed earlier.\n\nCc: Jan Engelhardt \u003cjengelh@linux01.gwdg.de\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "f2f7ba5237e2fe10ba3e328a4f728b9e1ff141da",
      "tree": "ab55597fa51321ba74e60d17b6fb449e23e8145c",
      "parents": [
        "2bdbc5d73961c040fdc9b30d985fab3047d697a0"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 05 10:39:21 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 05 10:39:21 2006 -0400"
      },
      "message": "[GFS2] Make headers compile on their own\n\nAs per Jan Engelhardt\u0027s comments, this should make all the headers\ncompile on their own by including and/or declaring structures\nearly.\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": "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": "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": "43f5d210a02dcf9d8bafb147044f27add10a459a",
      "tree": "289de9e5989e96f1c7188216322d40414555a9eb",
      "parents": [
        "faf450ef4a8567e4c75a905aadae01cf401d893a"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Thu Jun 22 11:16:40 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jun 22 11:16:40 2006 -0400"
      },
      "message": "[GFS2] [-mm patch] fs/gfs2/: make code static\n\nThis patch makes the following needlessly global code static:\n- eaops.c: struct gfs2_security_eaops\n- rgrp.c: gfs2_free_uninit_di()\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\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": "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"
    }
  ]
}
