)]}'
{
  "log": [
    {
      "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": "009d851837ab26cab18adda6169a813f70b0b21b",
      "tree": "073bc05e3a8c527bf9ce3332e2c2f6694484984d",
      "parents": [
        "30ff056c42c665b9ea535d8515890857ae382540"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Dec 08 12:12:13 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 01 14:07:37 2010 +0000"
      },
      "message": "GFS2: Metadata address space clean up\n\nSince the start of GFS2, an \"extra\" inode has been used to store\nthe metadata belonging to each inode. The only reason for using\nthis inode was to have an extra address space, the other fields\nwere unused. This means that the memory usage was rather inefficient.\n\nThe reason for keeping each inode\u0027s metadata in a separate address\nspace is that when glocks are requested on remote nodes, we need to\nbe able to efficiently locate the data and metadata which relating\nto that glock (inode) in order to sync or sync and invalidate it\n(depending on the remotely requested lock mode).\n\nThis patch adds a new type of glock, which has in addition to\nits normal fields, has an address space. This applies to all\ninode and rgrp glocks (but to no other glock types which remain\nas before). As a result, we no longer need to have the second\ninode.\n\nThis results in three major improvements:\n 1. A saving of approx 25% of memory used in caching inodes\n 2. A removal of the circular dependency between inodes and glocks\n 3. No confusion between \"normal\" and \"metadata\" inodes in super.c\n\nAlthough the first of these is the more immediately apparent, the\nsecond is just as important as it now enables a number of clean\nups at umount time. Those will be the subject of future patches.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "d34843d0c4a20872f3f3bfb510328bd043b939ff",
      "tree": "f10ab461e0a7e3923856b56eeba75383dffafac7",
      "parents": [
        "cd0120751d631bc4b99f180c1c22de2caca98207"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Mon Aug 24 10:44:18 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Aug 24 10:44:18 2009 +0100"
      },
      "message": "GFS2: Add \"-o errors\u003dpanic|withdraw\" mount options\n\nThis patch adds \"-o errors\u003dpanic\" and \"-o errors\u003dwithdraw\" to the\ngfs2 mount options.  The \"errors\u003dwithdraw\" option is today\u0027s\ncurrent behaviour, meaning to withdraw from the file system if a\nnon-serious gfs2 error occurs.  The new \"errors\u003dpanic\" option\ntells gfs2 to force a kernel panic if a non-serious gfs2 file\nsystem error occurs.  This may be useful, for example, where\nfabric-level fencing is used that has no way to reboot (such as\nfence_scsi).\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "f057f6cdf64175db1151b1f5d110e29904f119a1",
      "tree": "582dbf358e351f64977620c29ebf772d693b1948",
      "parents": [
        "22077f57dec8fcbeb1112b35313961c0902ff038"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 12 10:43:39 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:14 2009 +0000"
      },
      "message": "GFS2: Merge lock_dlm module into GFS2\n\nThis is the big patch that I\u0027ve been working on for some time\nnow. There are many reasons for wanting to make this change\nsuch as:\n o Reducing overhead by eliminating duplicated fields between structures\n o Simplifcation of the code (reduces the code size by a fair bit)\n o The locking interface is now the DLM interface itself as proposed\n   some time ago.\n o Fewer lookups of glocks when processing replies from the DLM\n o Fewer memory allocations/deallocations for each glock\n o Scope to do further optimisations in the future (but this patch is\n   more than big enough for now!)\n\nPlease note that (a) this patch relates to the lock_dlm module and\nnot the DLM itself, that is still a separate module; and (b) that\nwe retain the ability to build GFS2 as a standalone single node\nfilesystem with out requiring the DLM.\n\nThis patch needs a lot of testing, hence my keeping it I restarted\nmy -git tree after the last merge window. That way, this has the maximum\nexposure before its merged. This is (modulo a few minor bug fixes) the\nsame patch that I\u0027ve been posting on and off the the last three months\nand its passed a number of different tests so far.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "37b2c8377c98acb60cf4d0126e385ef2153bded9",
      "tree": "9db50dbebc75a5e0dfde927b52dd05470cf66132",
      "parents": [
        "fa75cedc3da5923b8ea3877be9d5bc09b02e3860"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Nov 17 14:25:37 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 05 07:39:05 2009 +0000"
      },
      "message": "GFS2: Clean up \u0026 move gfs2_quotad\n\nThis patch is a clean up of gfs2_quotad prior to giving it an\nextra job to do in addition to the current portfolio of updating\nthe quota and statfs information from time to time.\n\nAs a result it has been moved into quota.c allowing one of the\nfunctions it calls to be made static. Also the clean up allows\nthe two existing functions to have separate timeouts and also\nto coexist with its future role of dealing with the \"truncate in\nprogress\" inode flag.\n\nThe (pointless) setting of gfs2_quotad_secs is removed since we\narrange to only wake up quotad when one of the two timers expires.\n\nIn addition the struct gfs2_quota_data is moved into a slab cache,\nmainly for easier debugging. It should also be possible to use\na shrinker in the future, rather than the current scheme of scanning\nthe quota data entries from time to time.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "da755fdb414470d6dce3df12ad188de9131cf96c",
      "tree": "7081889e6fc13f4ffdf86f5e928a748af7a7adbc",
      "parents": [
        "ab0d756681c9502a2ab9e2e4ab3685bc0567f4ee"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jan 30 15:34:04 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 31 10:40:26 2008 +0100"
      },
      "message": "[GFS2] Remove lm.[ch] and distribute content\n\nThe functions in lm.c were just wrappers which were mostly\nonly used in one other file. By moving the functions to\nthe files where they are being used, they can be marked\nstatic and also this will usually result in them being inlined\nsince they are often only used from one point in the code.\n\nA couple of really trivial functions have been inlined by hand\ninto the function which called them as it makes the code clearer\nto do that.\n\nWe also gain from one fewer function call in the glock lock and\nunlock paths.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "6bdd9be628fa5f4dd14eb89ebddc12840d684277",
      "tree": "7a995fa251a55af6f7b185810a24a7ebb5d00a33",
      "parents": [
        "3ad62e87cd38817361e165cf4ad496ab76e19e81"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Mon Jan 28 17:20:26 2008 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 31 10:40:07 2008 +0100"
      },
      "message": "[GFS2] Allocate gfs2_rgrpd from slab memory\n\nThis patch moves the gfs2_rgrpd structure to its own slab\nmemory.  This makes it easier to control and monitor, and\nyields less memory fragmentation.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\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": "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": "e18b890bb0881bbab6f4f1a6cd20d9c60d66b003",
      "tree": "4828be07e1c24781c264b42c5a75bcd968223c3f",
      "parents": [
        "441e143e95f5aa1e04026cb0aa71c801ba53982f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:25 2006 -0800"
      },
      "message": "[PATCH] slab: remove kmem_cache_t\n\nReplace all uses of kmem_cache_t with struct kmem_cache.\n\nThe patch was generated using the following script:\n\n\t#!/bin/sh\n\t#\n\t# Replace one string by another in all the kernel sources.\n\t#\n\n\tset -e\n\n\tfor file in `find * -name \"*.c\" -o -name \"*.h\"|xargs grep -l $1`; do\n\t\tquilt add $file\n\t\tsed -e \"1,\\$s/$1/$2/g\" $file \u003e/tmp/$$\n\t\tmv /tmp/$$ $file\n\t\tquilt refresh\n\tdone\n\nThe script was run like this\n\n\tsh replace kmem_cache_t \"struct kmem_cache\"\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\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": "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": "feaa7bba026c181ce071d5a4884f7f9dd26207a1",
      "tree": "c858deb225917265cb07820730e9764674d133e8",
      "parents": [
        "22da645fd6675b7abc55cf937ddf6132f343e5b9"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jun 14 15:32:57 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jun 14 15:32:57 2006 -0400"
      },
      "message": "[GFS2] Fix unlinked file handling\n\nThis patch fixes the way we have been dealing with unlinked,\nbut still open files. It removes all limits (other than memory\nfor inodes, as per every other filesystem) on numbers of these\nwhich we can support on GFS2. It also means that (like other\nfs) its the responsibility of the last process to close the file\nto deallocate the storage, rather than the person who did the\nunlinking. Note that with GFS2, those two events might take place\non different nodes.\n\nAlso there are a number of other changes:\n\n o We use the Linux inode subsystem as it was intended to be\nused, wrt allocating GFS2 inodes\n o The Linux inode cache is now the point which we use for\nlocal enforcement of only holding one copy of the inode in\ncore at once (previous to this we used the glock layer).\n o We no longer use the unlinked \"special\" file. We just ignore it\ncompletely. This makes unlinking more efficient.\n o We now use the 4th block allocation state. The previously unused\nstate is used to track unlinked but still open inodes.\n o gfs2_inoded is no longer needed\n o Several fields are now no longer needed (and removed) from the in\ncore struct gfs2_inode\n o Several fields are no longer needed (and removed) from the in core\nsuperblock\n\nThere are a number of future possible optimisations and clean ups\nwhich have been made possible by this patch.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "382066da251132f768380f4852ed5afb72d88f80",
      "tree": "f8ae69e6b441452f9958f45cea15a0cf90baa39d",
      "parents": [
        "9229f013495dcdae76e9942ebc2cfc69851fe10a"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed May 24 10:22:09 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed May 24 10:22:09 2006 -0400"
      },
      "message": "[GFS2] Casts for printing 64bit numbers\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "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": "1e09ae544eb1a2d11b04c6924f738a310c7a7a2b",
      "tree": "d5be98602097f1e3b050f6f2b32ac0ecac53cea2",
      "parents": [
        "1dde2dbfc70001e2f86b6581baac2f48900b80ed"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Apr 21 15:52:46 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Apr 21 15:52:46 2006 -0400"
      },
      "message": "[GFS2] Move BUG() back into the header file\n\nIn order to make the file and line number reporting work\ncorrectly, this has been moved back into the header file.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "1dde2dbfc70001e2f86b6581baac2f48900b80ed",
      "tree": "361a5838d93a5674578f3626cf55a932b6da5372",
      "parents": [
        "a74604bee27da7c9506114e5710f91f388e98296"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Apr 21 15:39:02 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Apr 21 15:39:02 2006 -0400"
      },
      "message": "[GFS2] Add back missing BUG()\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "71b86f562b5eb6f94ea00bba060caa64d0137969",
      "tree": "63d982e09a9cb934fe656afe115031c0a9dc5e4a",
      "parents": [
        "94aabbd99370f738da4f6cb4ea0b94cd9024002f"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Mar 28 14:14:04 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Mar 28 14:14:04 2006 -0500"
      },
      "message": "[GFS2] Further updates to dir and logging code\n\nThis reduces the size of the directory code by about 3k and gets\nreaddir() to use the functions which were introduced in the previous\ndirectory code update.\n\nTwo memory allocations are merged into one. Eliminates zeroing of some\nbuffers which were never used before they were initialised by\nother data.\n\nThere is still scope for further improvement in the directory code.\n\nOn the logging side, a hand created mutex has been replaced by a\nstandard Linux mutex in the log allocation code.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "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": "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": "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"
    }
  ]
}
