)]}'
{
  "log": [
    {
      "commit": "16c5f06f15ad4e5a5d6e90b78ffb1ac14319e445",
      "tree": "84204e44e0246e9a3f4db23223a5209105fde368",
      "parents": [
        "773adff8e983cba1f5844c3be3be224ca6645f26"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "jbacik@redhat.com",
        "time": "Wed Apr 09 09:33:41 2008 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Apr 10 09:55:26 2008 +0100"
      },
      "message": "[GFS2] fix GFP_KERNEL misuses\n\nThere are several places where GFP_KERNEL allocations happen under a glock,\nwhich will result in hangs if we\u0027re under memory pressure and go to re-enter the\nfs in order to flush stuff out.  This patch changes the culprits to GFS_NOFS to\nkeep this problem from happening.  Thank you,\n\nSigned-off-by: Josef Bacik \u003cjbacik@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n\n"
    },
    {
      "commit": "f5a8cd020173c455705fc0095b7d299da6f8f87b",
      "tree": "1468178666f6adc40d5c13f3658e0e565a5dd17c",
      "parents": [
        "1f466a47e8a3a3e3b527b3285c7b9c8a837fb7ec"
      ],
      "author": {
        "name": "akpm@linux-foundation.org",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Mar 12 14:01:29 2008 -0700"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 31 10:41:41 2008 +0100"
      },
      "message": "[GFS2] fs/gfs2/recovery.c: suppress warnings\n\nfs/gfs2/recovery.c: In function \u0027get_log_header\u0027:\nfs/gfs2/recovery.c:152: warning: \u0027lh.lh_sequence\u0027 may be used uninitialized in this function\nfs/gfs2/recovery.c:152: warning: \u0027lh.lh_flags\u0027 may be used uninitialized in this function\nfs/gfs2/recovery.c:152: warning: \u0027lh.lh_tail\u0027 may be used uninitialized in this function\nfs/gfs2/recovery.c:152: warning: \u0027lh.lh_blkno\u0027 may be used uninitialized in this function\nfs/gfs2/recovery.c:152: warning: \u0027lh.lh_hash\u0027 may be used uninitialized in this function\n\nCc: David Teigland \u003cteigland@redhat.com\u003e\nCc: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\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": "c78bad11fbf1272ea021f56458025dc98486d6f4",
      "tree": "7ac1cc64d3429c3b3c52e707212d5a0711a9a9d1",
      "parents": [
        "ee0fc097ef47a4a6ff6b4800f2391030131b7828"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Feb 03 17:33:42 2008 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sun Feb 03 17:33:42 2008 +0200"
      },
      "message": "fs/: Spelling fixes\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "7bc5c414fe6627ec518c82d154c796f0981f5b02",
      "tree": "affd4857934df6c86b6fde572de0370700e6fe9a",
      "parents": [
        "1b8177ec1e779bcc3ed89419ff7c80dbc3dcc489"
      ],
      "author": {
        "name": "Abhijith Das",
        "email": "adas@redhat.com",
        "time": "Fri Jan 18 14:06:37 2008 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 25 08:21:22 2008 +0000"
      },
      "message": "[GFS2] Allow journal recovery on read-only mount\n\nThis patch allows gfs2 to perform journal recovery even if it is mounted\nread-only. Strictly speaking, a read-only mount should not be writing to\nthe filesystem, but we do this only to perform journal recovery. A\nread-only mount will fail if we don\u0027t recover the dirty journal. Also,\nwhen gfs2 is used as a root filesystem, it will be mounted read-only\nbefore being mounted read-write during the boot sequence. A failed\nread-only mount will panic the machine during bootup.\n\nSigned-off-by: Abhijith Das \u003cadas@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": "75be73a8246ef96f7fa3f05a6a1450159fbb7a64",
      "tree": "d525c4c3c4e5f777ff9b96f50cc606433fcad8b6",
      "parents": [
        "5f3eae7546093d845ca8ada1b95714202a136a1a"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Wed Aug 08 17:08:14 2007 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Oct 10 08:55:12 2007 +0100"
      },
      "message": "[GFS2] Ensure journal file cache is flushed after recovery\n\nThis is for bugzilla bug #248176: GFS2: invalid metadata block\n\nPatches 1 thru 3 were accepted upstream, but there were problems\nwith 4 and 5.  Those issues have been resolved and now the recovery\ntests are passing without errors.  This code has gone through\n41 * 3 successful gfs2 recovery tests before it hit an\nunrelated (openais) problem.  I\u0027m continuing to test it.\n\nThis is a complete rewrite of patch 5 for bug #248176, written by\nSteve Whitehouse.  This is referred to in the bugzilla record as\n\"new 6\" and \"a different solution\".\n\nThe problem was that the journal inodes, although protected by\na glock, were not synched with the other nodes because they don\u0027t\nuse the inode glock synch operations (i.e. no \"glops\" were defined).\nTherefore, journal recovery on a journal-recovering node were causing\nthe blocks to get out of sync with the node that was actually trying\nto use that journal as it comes back up from a reboot.\n\nThere are two possible solutions: (1) To make the journals use the\nnormal inode glock sync operations, or (2) To make the journal\noperations take effect immediately (i.e. no caching).  Although\noption 1 works, it turns out to be a lot more code.  Steve opted\nfor option 2, which is much simpler and therefore less prone to\nregression errors.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n\n--\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": "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": "887bc5d00c02b32763845247024e8db5243ef857",
      "tree": "e52d8210087866b411ccafce1ec4e7a3510778b6",
      "parents": [
        "33c3de32872ef3c075e4dac04c0de8f86ac39f6f"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Dec 05 13:34:17 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Dec 05 13:34:17 2006 -0500"
      },
      "message": "[GFS2] Fix indent in recovery.c\n\nAs per comments from Andrew Morton and Jan Engelhardt, this fixes the\nindent and removes the \"static\" from a variable declaration since its\nnot needed in this case (now allocated on the stack of the function\nin question).\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Jan Engelhardt \u003cjengelh@linux01.gwdg.de\u003e\nCc: Andrew Morton \u003cakpm@osdl.org\u003e\n"
    },
    {
      "commit": "2a2c98247b822db8df037a56c27201f9d716ac66",
      "tree": "cadb8e1f27da7f931a6fec84abd4200719331692",
      "parents": [
        "551676226163379c217e8ec54bd287eab9b8521e"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Oct 31 14:44:50 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 30 10:33:17 2006 -0500"
      },
      "message": "[GFS2] Fix crc32 calculation in recovery.c\n\nCommit \"[GFS2] split and annotate gfs2_log_head\" resulted in an incorrect\nchecksum calculation for log headers. This patch corrects the\nproblem without resorting to copying the whole log header as\nthe previous code used to.\n\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "551676226163379c217e8ec54bd287eab9b8521e",
      "tree": "84abfa1a29c23890124f6dc66790af49917940b4",
      "parents": [
        "e697264709c86040271cdd7abee781d7adbb7f91"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 13 21:47:13 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 30 10:33:14 2006 -0500"
      },
      "message": "[GFS2] split and annotate gfs2_log_head\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "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": "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": "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": "a67cdbd4579c387c021a17c7447da8b88f2a94f4",
      "tree": "9c2a7825b7b43cd00fff8388f69c96fd6683a405",
      "parents": [
        "cca195c5c09b81065018dee39f4013b95bf47502"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 05 14:41:30 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 05 14:41:30 2006 -0400"
      },
      "message": "[GFS2] Style changes in logging code\n\nAs per Jan Engelhardt\u0027s comments, removed some unused code and\nremoved some brackets which were not required.\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": "8872187780f6104216c67e7b60c11f708b513c38",
      "tree": "690823763a87d7cd4c90e94760319414e2fc4ad6",
      "parents": [
        "4a99c3d9d6663085e28bc7ac8dae1e985c5a6174"
      ],
      "author": {
        "name": "Russell Cattelan",
        "email": "cattelan@redhat.com",
        "time": "Thu Aug 10 11:08:40 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Aug 10 17:18:59 2006 -0400"
      },
      "message": "[GFS2] Fix a couple of refcount leaks.\n\nrecovery.c add a brelse to deal with gfs2_replay_read_block being called\ntwice on the same block.\n\nadd a dput to drop the ref count on the root inode.\nThis was causing lingering glocks and thus causing\na mount failure to hang.\n\nFix a endian conversion macro that was was swizzling\n16bits when it should have been swizzling 32.\n\nSigned-off-by: Russell Cattelan \u003ccattelan@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n\n"
    },
    {
      "commit": "59a1cc6bdabf5ed148b48808ad1a418d87f5e6bf",
      "tree": "6463071a09201040267702e895d63359e62c393d",
      "parents": [
        "899bb264507cfed83922bf14cd66a073494601ba"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Aug 04 15:41:22 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Aug 04 15:41:22 2006 -0400"
      },
      "message": "[GFS2] Fix lock ordering bug in page fault path\n\nMmapped files were able to trigger a lock ordering bug. Private\nmaps do not need to take the glock so early on. Shared maps do\nunfortunately, however we can get around that by adding a flag\ninto the flags for the struct gfs2_file. This only works because\nwe are taking an exclusive lock at this point, so we know that\nnobody else can be racing with us.\n\nFixes Red Hat bugzilla: #201196\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": "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": "579b78a43b366d51f9c888afaf1eab1f4ea599fa",
      "tree": "023e4893b71b35d312a1df18129b296934710d5c",
      "parents": [
        "5965b1f4792a1a9364b4e1ed6be8778a50eb981b"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Apr 26 14:58:26 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Apr 26 14:58:26 2006 -0400"
      },
      "message": "[GFS2] Remove GL_NEVER_RECURSE flag\n\nThere is no point in keeping this flag since recursion is not\nnow allowed for any glock.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "5965b1f4792a1a9364b4e1ed6be8778a50eb981b",
      "tree": "77773aca2301eb2e11dc455e7152823bf3bde361",
      "parents": [
        "3a2a9c96ac129d17aad1a5c46988ad28f72564b0"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Apr 26 13:21:55 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Apr 26 13:21:55 2006 -0400"
      },
      "message": "[GFS2] Don\u0027t do recursive locking in glock layer\n\nThis patch changes the last user of recursive locking so that\nit no longer needs this feature and removes it from the glock\nlayer. This makes the glock code a lot simpler and easier to\nunderstand. Its also a prerequsite to adding support for the\nAOP_TRUNCATED_PAGE return code (or at least it is if you don\u0027t\nwant your brain to melt in the process)\n\nI\u0027ve left in a couple of checks just in case there is some place\nelse in the code which is still using this feature that I didn\u0027t\nspot yet, but they can probably be removed long term.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "c63e31c2cc1ec67372920b5e1aff8204d04dd172",
      "tree": "950b2537b5a7e83e35a14a973da7bac84e844a52",
      "parents": [
        "190562bd84a484bf6590425aa2bb4d6d611c112b"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Apr 20 17:03:48 2006 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Apr 20 17:03:48 2006 -0400"
      },
      "message": "[GFS2] journal recovery patch\n\nThis is one of the changes related to journal recovery I mentioned a\ncouple weeks ago.  We can get into a situation where there are only\nreadonly nodes currently mounting the fs, but there are journals that need\nto be recovered.  Since the readonly nodes can\u0027t recover journals, the\nnext rw mounter needs to go through and check all journals and recover any\nthat are dirty (i.e. what the first node to mount the fs does).  This rw\nmounter needs to skip the journals held by the existing readonly nodes.\nSkipping those journals amounts to using the TRY flag on the journal locks\nso acquiring the lock of a journal held by a readonly node will fail\ninstead of blocking indefinately.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e3167ded1f1b16424bc14d5673cdc5414f179970",
      "tree": "1b995e6387b230b1f447aabe30b689d091ee0b52",
      "parents": [
        "cd45697f0ddbb58f3f83c29fe164713ee7765e21"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Mar 30 15:46:23 2006 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Mar 30 15:46:23 2006 -0500"
      },
      "message": "[GFS] Fix bug in endian conversion for metadata header\n\nIn some cases 16 bit functions were being used rather than 32 bit\nfunctions.\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": "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": "7359a19cc758946aba0e45233b8641256b194884",
      "tree": "d96aaeb2fb239efe6fdb0b4698eb94108719f423",
      "parents": [
        "18ec7d5c3f434aed9661ed10a9e1f48cdeb4981d"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 13 12:27:43 2006 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 13 12:27:43 2006 +0000"
      },
      "message": "[GFS2] Fix for root inode ref count bug\n\nUmount is now working correctly again. The bug was due to\nnot getting an extra ref count when mounting the fs. We\nshould have bumped it by two (once for the internal pointer\nto the root inode from the super block and once for the\ninode hanging off the dcache entry for root).\n\nAlso this patch tidys up the code dealing with looking up\nand creating inodes. We now pass Linux inodes (with gfs2_inodes\nattached) rather than the other way around and this reduces code\nduplication in various places.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "b3b94faa5fe5968827ba0640ee9fba4b3e7f736e",
      "tree": "70bd6068b050d2c46e338484f8b03fae4365c6c3",
      "parents": [
        "f7825dcf8c7301cfd3724eb40c5b443cc85ab7b8"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Jan 16 16:50:04 2006 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 16 16:50:04 2006 +0000"
      },
      "message": "[GFS2] The core of GFS2\n\nThis patch contains all the core files for GFS2.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    }
  ]
}
