)]}'
{
  "log": [
    {
      "commit": "d9ba7615bfd8bb06f79c853f9dfff9e93a837941",
      "tree": "647f6078a7804a53b4902b90942864942e9d425b",
      "parents": [
        "d8bd504ab800c8e9aadb983914a33e7166320bec"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Apr 23 08:59:41 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Apr 23 10:07:37 2009 +0100"
      },
      "message": "GFS2: Ensure that the inode goal block settings are updated\n\nGFS2 has a goal block associated with each inode indicating the\nsearch start position for future block allocations (in fact there\nare two, but thats for backward compatibility with GFS1 as they\nare set to identical locations in GFS2).\n\nIn some circumstances, depending on the ordering of updates to\nthe inode it was possible for the goal block settings to not\nbe updated on disk. This patch ensures that the goal block will\nalways get updated, thus reducing the potential for searching\nthe same (already allocated) blocks again when looking for free\nspace during block allocation.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "d8bd504ab800c8e9aadb983914a33e7166320bec",
      "tree": "72b45fe08363441d53c5e464daa6886a6e11a8b8",
      "parents": [
        "952043ac12a117d8e94bddd9088338d7ad20ca7d"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Apr 23 08:54:02 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Apr 23 10:07:16 2009 +0100"
      },
      "message": "GFS2: Fix bug in block allocation\n\nThe new bitfit algorithm was counting from the wrong end of\n64 bit words in the bitfield. This fixes it by using __ffs64\ninstead of fls64\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e56985da455b9dc0591b8cb2006cc94b6f4fb0f4",
      "tree": "0ae2bf7a5001fbf9fdc9dc027c03e63670303b85",
      "parents": [
        "52fcd11c0900b0cbc584eeda12a6e27dd6c9d046"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Apr 20 09:45:54 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Apr 20 16:02:02 2009 +0100"
      },
      "message": "GFS2: Fix page_mkwrite() return code\n\nThis allows for the possibility of returning VM_FAULT_OOM as\nwell as VM_FAULT_SIGBUS. This ensures that the correct action\nis taken.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "52fcd11c0900b0cbc584eeda12a6e27dd6c9d046",
      "tree": "29ab55d89da3c559d9ce3d0fbe53bbd41c9f1701",
      "parents": [
        "3ee8da87ba6151ec91b2b8bbd27633bb248ea0d5"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Apr 20 08:58:45 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Apr 20 09:05:21 2009 +0100"
      },
      "message": "GFS2: Clear dirty bit at end of inode glock sync\n\nThe dirty bit can get set during the inode glock sync. Its too\ncomplicated to change that at the moment, so this is the quick\nfix - to clear the bit again at the end of the function.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "a2c252ebdeaab28c9b400570594d576dae295958",
      "tree": "1b08e3f745809d9c559e208a3a106a40cf11fdff",
      "parents": [
        "23da64b4714812b66ecf010e7dfb3ed1bf2eda69",
        "1328df725239804ae30fc7257c1a3185e679b517"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 15 09:04:12 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 15 09:04:12 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes:\n  GFS2: Use DEFINE_SPINLOCK\n  GFS2: cleanup file_operations mess\n  GFS2: Move umount flush rwsem\n  GFS2: Fix symlink creation race\n  GFS2: Make quotad\u0027s waiting interruptible\n"
    },
    {
      "commit": "b1fffc9ca6ca4c3feef3a7e8405252d528d312dc",
      "tree": "5e1de773cf0b874c7452e388f1c9c0563c08e96f",
      "parents": [
        "226e7dabf5534722944adefbad01970bd38bb7ae"
      ],
      "author": {
        "name": "Nikanth Karthikesan",
        "email": "knikanth@suse.de",
        "time": "Wed Apr 15 10:36:35 2009 +0530"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 15 12:10:13 2009 +0200"
      },
      "message": "gfs2: Remove code handling bio_alloc failure with __GFP_WAIT\n\nRemove code handling bio_alloc failure with __GFP_WAIT.\nGFP_NOFS implies __GFP_WAIT.\n\nSigned-off-by: Nikanth Karthikesan \u003cknikanth@suse.de\u003e\nAcked-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1328df725239804ae30fc7257c1a3185e679b517",
      "tree": "0146b3e7d4f254bde14d82199965f3fcad6bfba3",
      "parents": [
        "10d2198805d7faa2b193485446ff6b1de42c9b78"
      ],
      "author": {
        "name": "Xu Gang",
        "email": "xug@cn.fujitsu.com",
        "time": "Tue Apr 14 14:54:14 2009 +0800"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Apr 15 10:18:07 2009 +0100"
      },
      "message": "GFS2: Use DEFINE_SPINLOCK\n\nSPIN_LOCK_UNLOCKED is deprecated, use DEFINE_SPINLOCK instead.\n(as suggested in Documentation/spinlocks.txt)\n\nSigned-off-by: Xu Gang \u003cxug@cn.fujitsu.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n\n"
    },
    {
      "commit": "10d2198805d7faa2b193485446ff6b1de42c9b78",
      "tree": "be7e570d0c640aa8e544ee9e264a5f908b06e51c",
      "parents": [
        "a228df6339e0d385b8149c860d81b6007f5e9c81"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Apr 07 19:42:17 2009 +0200"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Apr 15 10:17:18 2009 +0100"
      },
      "message": "GFS2: cleanup file_operations mess\n\nRemove the weird pointer to file_operations mess and replace it with\nstraight-forward defining of the lockinginstance names to the _nolock\nvariants.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "a228df6339e0d385b8149c860d81b6007f5e9c81",
      "tree": "bf744dbc6bf8849ea7b81581818722c4e90b553e",
      "parents": [
        "5cf32524de745c56e1411d63eccf23fef1709d73"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Apr 07 14:01:34 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Apr 15 10:16:13 2009 +0100"
      },
      "message": "GFS2: Move umount flush rwsem\n\nThe rwsem, used only on umount, is in the wrong place in glock.c.\nThis patch moves it up a bit so that it does not get called under\na spinlock.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "5cf32524de745c56e1411d63eccf23fef1709d73",
      "tree": "300c28954930875a4016d51fa7b7def93c7dc1bd",
      "parents": [
        "7fa5d20d1a5e60ef7e453993b67b26c87dc09f07"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Mar 31 16:06:27 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Apr 15 10:15:38 2009 +0100"
      },
      "message": "GFS2: Fix symlink creation race\n\nIn certain cases symlinks can appear to have zero size if a lookup\non the inode occurs within a certain (very short) time after the\nsymlink has been created. The symlink is correctly created on disk\nbut appears to have zero size when stat()ed. This patch closes the\nrace and prevents incorrect sizes appearing.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "7fa5d20d1a5e60ef7e453993b67b26c87dc09f07",
      "tree": "f80bb0a1632a59748fb2cc5ab962fca3b52b0852",
      "parents": [
        "0882e8dd3aad33eca41696d463bb896e6c8817eb"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Mar 31 15:49:08 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Apr 15 10:15:08 2009 +0100"
      },
      "message": "GFS2: Make quotad\u0027s waiting interruptible\n\nSo we don\u0027t count its D state in the loadavg.\n\nReported-by: Nathan Straz \u003cnstraz@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "8fe74cf053de7ad2124a894996f84fa890a81093",
      "tree": "77dcd8fbf33ce53a3821942233962fb28c6f2848",
      "parents": [
        "c2eb2fa6d2b6fe122d3479ec5b28d978418b2698",
        "ced117c73edc917e96dea7cca98c91383f0792f7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 21:09:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 21:09:10 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  Remove two unneeded exports and make two symbols static in fs/mpage.c\n  Cleanup after commit 585d3bc06f4ca57f975a5a1f698f65a45ea66225\n  Trim includes of fdtable.h\n  Don\u0027t crap into descriptor table in binfmt_som\n  Trim includes in binfmt_elf\n  Don\u0027t mess with descriptor table in load_elf_binary()\n  Get rid of indirect include of fs_struct.h\n  New helper - current_umask()\n  check_unsafe_exec() doesn\u0027t care about signal handlers sharing\n  New locking/refcounting for fs_struct\n  Take fs_struct handling to new file (fs/fs_struct.c)\n  Get rid of bumping fs_struct refcount in pivot_root(2)\n  Kill unsharing fs_struct in __set_personality()\n"
    },
    {
      "commit": "c2ec175c39f62949438354f603f4aa170846aabb",
      "tree": "f2c9bf1bec2deabe2d3a5092405b027637b6ead3",
      "parents": [
        "c2fdf3a9b2d52842808a8e551b53b55dd9b45030"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Mar 31 15:23:21 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:14 2009 -0700"
      },
      "message": "mm: page_mkwrite change prototype to match fault\n\nChange the page_mkwrite prototype to take a struct vm_fault, and return\nVM_FAULT_xxx flags.  There should be no functional change.\n\nThis makes it possible to return much more detailed error information to\nthe VM (and also can provide more information eg.  virtual_address to the\ndriver, which might be important in some special cases).\n\nThis is required for a subsequent fix.  And will also make it easier to\nmerge page_mkwrite() with fault() in future.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Mark Fasheh \u003cmfasheh@suse.com\u003e\nCc: Joel Becker \u003cjoel.becker@oracle.com\u003e\nCc: Artem Bityutskiy \u003cdedekind@infradead.org\u003e\nCc: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ce3b0f8d5c2203301fc87f3aaaed73e5819e2a48",
      "tree": "ab952affafe18e604f6aaf6b13315b9435588e60",
      "parents": [
        "f1191b50ec11c8e2ca766d6d99eb5bb9d2c084a3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Mar 29 19:08:22 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 31 23:00:26 2009 -0400"
      },
      "message": "New helper - current_umask()\n\ncurrent-\u003efs-\u003eumask is what most of fs_struct users are doing.\nPut that into a helper function.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3ae5080f4c2e293229508dabe7c8a90af4e4c460",
      "tree": "9cb11f26905a82b7fac9d3b8f9d61d58bc5c94b0",
      "parents": [
        "2c9e15a011c55ff96b2b8d2b126d1b9a96abba20",
        "aabb8fdb41128705fd1627f56fdd571e45fdbcdb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 27 16:23:12 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 27 16:23:12 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (37 commits)\n  fs: avoid I_NEW inodes\n  Merge code for single and multiple-instance mounts\n  Remove get_init_pts_sb()\n  Move common mknod_ptmx() calls into caller\n  Parse mount options just once and copy them to super block\n  Unroll essentials of do_remount_sb() into devpts\n  vfs: simple_set_mnt() should return void\n  fs: move bdev code out of buffer.c\n  constify dentry_operations: rest\n  constify dentry_operations: configfs\n  constify dentry_operations: sysfs\n  constify dentry_operations: JFS\n  constify dentry_operations: OCFS2\n  constify dentry_operations: GFS2\n  constify dentry_operations: FAT\n  constify dentry_operations: FUSE\n  constify dentry_operations: procfs\n  constify dentry_operations: ecryptfs\n  constify dentry_operations: CIFS\n  constify dentry_operations: AFS\n  ...\n"
    },
    {
      "commit": "92cecbbfa3785a944c733a284b77faee5b82b70c",
      "tree": "cafb14302ebe906270d005c00a17e19733dfa787",
      "parents": [
        "ce6cdc474aa5bf4c1a7dc698d83bb0622846a81d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 20 06:00:05 2009 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 27 14:44:02 2009 -0400"
      },
      "message": "constify dentry_operations: GFS2\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "df3647b24510e23523f81a77bb179cd9ae3d613b",
      "tree": "6b635871b4dc99a8bbbfa704dad981922805422f",
      "parents": [
        "9c538837d844574787c95bd5665f684559fb7065"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 23 11:38:55 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:31:30 2009 +0000"
      },
      "message": "GFS2: Fix freeze issue\n\nThis removes some old code that was causing issues during\nfilesystem freeze.\n\nReported-by: Andrew Price \u003candy@andrewprice.me.uk\u003e\nTested-by: Andrew Price \u003candy@andrewprice.me.uk\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "9c538837d844574787c95bd5665f684559fb7065",
      "tree": "6f2889435b03df7bd42f75d0f2577faf20d35775",
      "parents": [
        "6bac243f0793499782267342eba852a8a6cc7ac4"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Mar 19 13:15:44 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:27 2009 +0000"
      },
      "message": "Fix a minor bug in the previous patch\n\nThe logic requires that we mark the glock dirty in page_mkwrite\notherwise we might not flush correctly in the case that no\nallocation was required in the process of dirying the page.\nAlso we need to set the shared write flag early for the same\nreason.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "6bac243f0793499782267342eba852a8a6cc7ac4",
      "tree": "8cf9bb9fa54767c6207bc7f72d75364c290702d9",
      "parents": [
        "02ffad08e838997fad3de05c85560a57e5fd92de"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 09 09:03:51 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:27 2009 +0000"
      },
      "message": "GFS2: Clean up of glops.c\n\nThis cleans up a number of bits of code mostly based in glops.c.\nA couple of simple functions have been merged into the callers\nto make it more obvious what is going on, the mysterious raising\nof i_writecount around the truncate_inode_pages() call has been\nremoved. The meta_go_* operations have been renamed rgrp_go_*\nsince that is the only lock type that they are used with.\n\nThe unused argument of gfs2_read_sb has been removed. Also\na bug has been fixed where a check for the rindex inode was\nin the wrong callback. More comments are added, and the\ndebugging code is improved too.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "02ffad08e838997fad3de05c85560a57e5fd92de",
      "tree": "feee17b1848957b1b42047ae6c4156d716adf4e8",
      "parents": [
        "229615def3f573fc448d20f62c6ec1bc9340cefb"
      ],
      "author": {
        "name": "Benjamin Marzinski",
        "email": "bmarzins@redhat.com",
        "time": "Fri Mar 06 10:03:20 2009 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:26 2009 +0000"
      },
      "message": "GFS2: Fix locking bug in failed shared to exclusive conversion\n\nAfter calling out to the dlm, GFS2 sets the new state of a glock to\ngl_target in gdlm_ast().  However, gl_target is not always the lock\nstate that was requested. If a conversion from shared to exclusive\nfails, finish_xmote() will call do_xmote() with LM_ST_UNLOCKED, instead\nof gl-\u003egl_target, so that it can reacquire the lock in exlusive the next\ntime around.  In this case, setting the lock to gl_target in gdlm_ast()\nwill make GFS2 think that it has the glock in exclusive mode, when\nreally, it doesn\u0027t have the glock locked at all.  This patch adds a new\nfield to the gfs2_glock structure, gl_req, to track the mode that was\nrequested.\n\nSigned-off-by: Benjamin Marzinski \u003cbmarzins@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "229615def3f573fc448d20f62c6ec1bc9340cefb",
      "tree": "7ecbf85e483f18e5d2b25a9129bd887cf6e2a100",
      "parents": [
        "02ab1721591f7ac1f632fc74b301513bd6f5849f"
      ],
      "author": {
        "name": "Hisashi Hifumi",
        "email": "hifumi.hisashi@oss.ntt.co.jp",
        "time": "Tue Mar 03 11:45:20 2009 +0900"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:25 2009 +0000"
      },
      "message": "GFS2: Pagecache usage optimization on GFS2\n\nI introduced \"is_partially_uptodate\" aops for GFS2.\n\nA page can have multiple buffers and even if a page is not uptodate, some buffers\ncan be uptodate on pagesize !\u003d blocksize environment.\nThis aops checks that all buffers which correspond to a part of a file\nthat we want to read are uptodate. If so, we do not have to issue actual\nread IO to HDD even if a page is not uptodate because the portion we\nwant to read are uptodate.\n\"block_is_partially_uptodate\" function is already used by ext2/3/4.\nWith the following patch random read/write mixed workloads or random read after\nrandom write workloads can be optimized and we can get performance improvement.\n\nI did a performance test using the sysbench.\n\n#sysbench --num-threads\u003d16 --max-requests\u003d200000 --test\u003dfileio --file-num\u003d1\n--file-block-size\u003d8K --file-total-size\u003d2G --file-test-mode\u003drndrw --file-fsync-freq\u003d0\n--file-rw-ratio\u003d1 run\n\n-2.6.29-rc6\nTest execution summary:\n    total time:                          202.6389s\n    total number of events:              200000\n    total time taken by event execution: 2580.0480\n    per-request statistics:\n         min:                            0.0000s\n         avg:                            0.0129s\n         max:                            49.5852s\n         approx.  95 percentile:         0.0462s\n\n-2.6.29-rc6-patched\nTest execution summary:\n    total time:                          177.8639s\n    total number of events:              200000\n    total time taken by event execution: 2419.0199\n    per-request statistics:\n         min:                            0.0000s\n         avg:                            0.0121s\n         max:                            52.4306s\n         approx.  95 percentile:         0.0444s\n\narch: ia64\npagesize: 16k\nblocksize: 4k\n\nSigned-off-by: Hisashi Hifumi \u003chifumi.hisashi@oss.ntt.co.jp\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "02ab1721591f7ac1f632fc74b301513bd6f5849f",
      "tree": "84fa9db6e81af5da0a8d95268f5803dece2552c6",
      "parents": [
        "075ac44875323941210335b3b0abc1895356d919"
      ],
      "author": {
        "name": "Hannes Eder",
        "email": "hannes@hanneseder.net",
        "time": "Sat Feb 21 02:12:05 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:25 2009 +0000"
      },
      "message": "GFS2: fix sparse warning: Should it be static?\n\nImpact: Make symbol static.\n\nFix this sparse warning:\n  fs/gfs2/rgrp.c:188:5: warning: symbol \u0027gfs2_bitfit\u0027 was not declared. Should it be static?\n\nSigned-off-by: Hannes Eder \u003channes@hanneseder.net\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "075ac44875323941210335b3b0abc1895356d919",
      "tree": "aeec6511137f516962573f4e733fef9f9831ce9c",
      "parents": [
        "b9a9694570756e689068f0450cf3c570f74b2b01"
      ],
      "author": {
        "name": "Hannes Eder",
        "email": "hannes@hanneseder.net",
        "time": "Sat Feb 21 02:11:42 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:24 2009 +0000"
      },
      "message": "GFS2: fix sparse warnings: constant is so big it is ...\n\nFix this sparse warnings:\n  fs/gfs2/rgrp.c:156:23: warning: constant 0xffffffffffffffff is so big it is unsigned long long\n  fs/gfs2/rgrp.c:157:23: warning: constant 0xaaaaaaaaaaaaaaaa is so big it is unsigned long long\n  fs/gfs2/rgrp.c:158:23: warning: constant 0x5555555555555555 is so big it is long long\n  fs/gfs2/rgrp.c:194:20: warning: constant 0x5555555555555555 is so big it is long long\n  fs/gfs2/rgrp.c:204:44: warning: constant 0x5555555555555555 is so big it is long long\n\nSigned-off-by: Hannes Eder \u003channes@hanneseder.net\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "b9a9694570756e689068f0450cf3c570f74b2b01",
      "tree": "7f16f153d04cf1ce9f5fb2f07a9e7f5a0182addb",
      "parents": [
        "223b2b889f379dcea9cef722336a57e8b398bc95"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Feb 19 10:32:35 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:23 2009 +0000"
      },
      "message": "GFS2: Support quota/noquota mount arguments\n\nThis adds support for \"quota\" and \"noquota\" mount options in addition to the\nexisting \"quota\u003don/off/account\" so that we are compatible with the names by\nwhich these options are more generally known.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "223b2b889f379dcea9cef722336a57e8b398bc95",
      "tree": "a377d9be5eb756bac3d1866cbb6171cae6ef7dde",
      "parents": [
        "64d576ba23bfd9b770cbb0279200f479272eb859"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Feb 17 14:13:35 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:22 2009 +0000"
      },
      "message": "GFS2: Fix alignment issue and tidy gfs2_bitfit\n\nAn alignment issue with the existing bitfit algorithm was reported\non IA64. This patch attempts to fix that, and also to tidy up the\ncode a bit. There is now more documentation about how this works\nand it has survived a number of different tests.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "64d576ba23bfd9b770cbb0279200f479272eb859",
      "tree": "8c119b0e45d288035fc24fd43cf5286da1947fb1",
      "parents": [
        "02e3cc70ecbd4352ae4d26459929f43ab1547251"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Feb 12 13:31:58 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:22 2009 +0000"
      },
      "message": "GFS2: Add a \"demote a glock\" interface to sysfs\n\nThis adds a sysfs file called demote_rq to GFS2\u0027s\nper filesystem directory. Its possible to use this\nfile to demote arbitrary glocks in exactly the same\nway as if a request had come in from a remote node.\n\nThis is intended for testing issues relating to caching\nof data under glocks. Despite that, the interface is\ngeneric enough to send requests to any type of glock,\nbut be careful as its not always safe to send an\narbitrary message to an arbitrary glock. For that reason\nand to prevent DoS, this interface is restricted to root\nonly.\n\nThe messages look like this:\n\n\u003ctype\u003e:\u003cglocknumber\u003e \u003cmode\u003e\n\nExample:\n\necho -n \"2:13324 EX\" \u003e/sys/fs/gfs2/unity:myfs/demote_rq\n\nWhich means \"please demote inode glock (type 2) number 13324 so that\nI can get an EX (exclusive) lock\". The lock modes are those which\nwould normally be sent by a remote node in its callback so if you\nwant to unlock a glock, you use EX, to demote to shared, use SH or PR\n(depending on whether you like GFS2 or DLM lock modes better!).\n\nIf the glock doesn\u0027t exist, you\u0027ll get -ENOENT returned. If the\narguments don\u0027t make sense, you\u0027ll get -EINVAL returned.\n\nThe plan is that this interface will be used in combination with\nthe blktrace patch which I recently posted for comments although\nit is, of course, still useful in its own right.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "02e3cc70ecbd4352ae4d26459929f43ab1547251",
      "tree": "56d0dd9501481545e592430e408e5cf1495ed373",
      "parents": [
        "f15ab5619d8068a321094f4705147764d689e88e"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Feb 10 13:48:30 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:21 2009 +0000"
      },
      "message": "GFS2: Expose UUID via sysfs/uevent\n\nSince we have a UUID, we ought to expose it to the user via sysfs\nand uevents. We already have the fs name in both of these places\n(a combination of the lock proto and lock table name) so if we add\nthe UUID as well, we have a full set.\n\nFor older filesystems (i.e. those created before mkfs.gfs2 was writing\nUUIDs by default) the sysfs file will appear zero length, and no UUID\nenv var will be added to the uevents.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "f15ab5619d8068a321094f4705147764d689e88e",
      "tree": "c08044e928dff4628b0aa6ea17d6bc5fb922d5dc",
      "parents": [
        "d8348de06f704fc34d24ec068546ecb1045fc11a"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 09 09:25:01 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:20 2009 +0000"
      },
      "message": "GFS2: Support generation of discard requests\n\nThis patch allows GFS2 to generate discard requests for blocks which are\nno longer useful to the filesystem (i.e. those which have been freed as\nthe result of an unlink operation). The requests are generated at the\ntime which those blocks become available for reuse in the filesystem.\n\nIn order to use this new feature, you have to specify the \"discard\"\nmount option. The code coalesces adjacent blocks into a single extent\nwhen generating the discard requests, thus generating the minimum\nnumber.\n\nIf an error occurs when the request has been sent to the block device,\nthen it will print a message and turn off the requests for that\nfilesystem. If the problem is temporary, then you can use remount to\nturn the option back on again. There is also a nodiscard mount option\nso that you can use remount to turn discard requests off, if required.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "d8348de06f704fc34d24ec068546ecb1045fc11a",
      "tree": "e6b7eb01ec128e40b255b903e3c6629fbd8174e5",
      "parents": [
        "e7c8707ea2b9106f0f78c43348ff5d5e82ba7961"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Feb 05 10:12:38 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:18 2009 +0000"
      },
      "message": "GFS2: Fix deadlock on journal flush\n\nThis patch fixes a deadlock when the journal is flushed and there\nare dirty inodes other than the one which caused the journal flush.\nOriginally the journal flushing code was trying to obtain the\ntransaction glock while running the flush code for an inode glock.\nWe no longer require the transaction glock at this point in time\nsince we know that any attempt to get the transaction glock from\nanother node will result in a journal flush. So if we are flushing\nthe journal, we can be sure that the transaction lock is still\ncached from when the transaction was started.\n\nBy inlining a version of gfs2_trans_begin() (minus the bit which\ngets the transaction glock) we can avoid the deadlock problems\ncaused if there is a demote request queued up on the transaction\nglock.\n\nIn addition I\u0027ve also moved the umount rwsem so that it covers\nthe glock workqueue, since it all demotions are done by this\nworkqueue now. That fixes a bug on umount which I came across\nwhile fixing the original problem.\n\nReported-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e7c8707ea2b9106f0f78c43348ff5d5e82ba7961",
      "tree": "0e2de02adb03b9adccc1e8997782cc8c7561d8e8",
      "parents": [
        "ac2425e7d319dec0523e52ee120a158ce6668cbd"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jan 20 16:39:23 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:17 2009 +0000"
      },
      "message": "GFS2: Fix error path ref counting for root inode\n\nWe were keeping hold of an extra ref to the root inode in one\nof the error paths, that resulted in a hang.\n\nReported-by: Nate Straz \u003cnstraz@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nTested-by: Robert Peterson \u003crpeterso@redhat.com\u003e\n"
    },
    {
      "commit": "ac2425e7d319dec0523e52ee120a158ce6668cbd",
      "tree": "eda6ebb0e1db3caad8b23e6417fd1c311f43e6cd",
      "parents": [
        "f057f6cdf64175db1151b1f5d110e29904f119a1"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jan 13 09:53:43 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:17 2009 +0000"
      },
      "message": "GFS2: Remove unused field from glock\n\nThe time stamp field is unused in the glock now that we are\nusing a shrinker, so that we can remove it and save sizeof(unsigned long)\nbytes in each glock.\n\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": "22077f57dec8fcbeb1112b35313961c0902ff038",
      "tree": "d3d871fe31b8ac922a09e28202c348d186d2dca3",
      "parents": [
        "0a7ab79c5b5a16035e09b466c9013c8afc3b4bff"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jan 08 14:28:42 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:13 2009 +0000"
      },
      "message": "GFS2: Remove \"double\" locking in quota\n\nWe only really need a single spin lock for the quota data, so\nlets just use the lru lock for now.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Abhijith Das \u003cadas@redhat.com\u003e\n"
    },
    {
      "commit": "0a7ab79c5b5a16035e09b466c9013c8afc3b4bff",
      "tree": "bb82ea7f936b334b4de184288bc951f1642e9541",
      "parents": [
        "2db2aac255c38e75ad17c0b24feb589ccfccc0ae"
      ],
      "author": {
        "name": "Abhijith Das",
        "email": "adas@redhat.com",
        "time": "Wed Jan 07 16:03:37 2009 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:12 2009 +0000"
      },
      "message": "GFS2: change gfs2_quota_scan into a shrinker\n\nDeallocation of gfs2_quota_data objects now happens on-demand through a\nshrinker instead of routinely deallocating through the quotad daemon.\n\nSigned-off-by: Abhijith Das \u003cadas@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "2db2aac255c38e75ad17c0b24feb589ccfccc0ae",
      "tree": "415ebd9f9eb8343abc5fdf8d8605516dbebf15ea",
      "parents": [
        "6f04c1c7fe9566d777fb7961391690866839e722"
      ],
      "author": {
        "name": "Abhijith Das",
        "email": "adas@redhat.com",
        "time": "Wed Jan 07 10:21:34 2009 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:11 2009 +0000"
      },
      "message": "GFS2: Bring back lvb-related stuff to lock_nolock to support quotas\n\nThe quota code uses lvbs and this is currently not implemented in\nlock_nolock, thereby causing panics when quota is enabled with\nlock_nolock. This patch adds the relevant bits.\n\nSigned-off-by: Abhijith Das \u003cadas@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "6f04c1c7fe9566d777fb7961391690866839e722",
      "tree": "de864fb7c56ef59a799c7fddc713bdb16bb4435c",
      "parents": [
        "8e0ee43bc2c3e19db56a4adaa9a9b04ce885cd84"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jan 06 11:52:25 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:10 2009 +0000"
      },
      "message": "GFS2: Fix remount argument parsing\n\nThe following patch fixes an issue relating to remount and argument\nparsing. After this fix is applied, remount becomes atomic in that\nit either succeeds changing the mount to the new state, or it fails\nand leaves it in the old state. Previously it was possible for the\nparsing of options to fail part way though and for the fs to be left\nin a state where some of the new arguments had been applied, but some\nhad not.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "c4be0c1dc4cdc37b175579be1460f15ac6495e9a",
      "tree": "716ea88318211ed27cadcebda0fd85c1f8246edb",
      "parents": [
        "69347a236b22c3962ea812511495e502dedfd50c"
      ],
      "author": {
        "name": "Takashi Sato",
        "email": "t-sato@yk.jp.nec.com",
        "time": "Fri Jan 09 16:40:58 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 16:54:42 2009 -0800"
      },
      "message": "filesystem freeze: add error handling of write_super_lockfs/unlockfs\n\nCurrently, ext3 in mainline Linux doesn\u0027t have the freeze feature which\nsuspends write requests.  So, we cannot take a backup which keeps the\nfilesystem\u0027s consistency with the storage device\u0027s features (snapshot and\nreplication) while it is mounted.\n\nIn many case, a commercial filesystem (e.g.  VxFS) has the freeze feature\nand it would be used to get the consistent backup.\n\nIf Linux\u0027s standard filesystem ext3 has the freeze feature, we can do it\nwithout a commercial filesystem.\n\nSo I have implemented the ioctls of the freeze feature.\nI think we can take the consistent backup with the following steps.\n1. Freeze the filesystem with the freeze ioctl.\n2. Separate the replication volume or create the snapshot\n   with the storage device\u0027s feature.\n3. Unfreeze the filesystem with the unfreeze ioctl.\n4. Take the backup from the separated replication volume\n   or the snapshot.\n\nThis patch:\n\nVFS:\nChanged the type of write_super_lockfs and unlockfs from \"void\"\nto \"int\" so that they can return an error.\nRename write_super_lockfs and unlockfs of the super block operation\nfreeze_fs and unfreeze_fs to avoid a confusion.\n\next3, ext4, xfs, gfs2, jfs:\nChanged the type of write_super_lockfs and unlockfs from \"void\"\nto \"int\" so that write_super_lockfs returns an error if needed,\nand unlockfs always returns 0.\n\nreiserfs:\nChanged the type of write_super_lockfs and unlockfs from \"void\"\nto \"int\" so that they always return 0 (success) to keep a current behavior.\n\nSigned-off-by: Takashi Sato \u003ct-sato@yk.jp.nec.com\u003e\nSigned-off-by: Masayuki Hamaguchi \u003cm-hamaguchi@ys.jp.nec.com\u003e\nCc: \u003cxfs-masters@oss.sgi.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: Al Viro \u003cviro@zeniv.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": "c8f554b947e80a90e1b43bbd4fd26c27765b5f96",
      "tree": "748e71063be2f9fab57d765e78d1571c86fc1a91",
      "parents": [
        "0027ce681e3cd49fa34dab023574611f4384291d"
      ],
      "author": {
        "name": "Benjamin Marzinski",
        "email": "bmarzins@redhat.com",
        "time": "Tue Jan 06 10:47:50 2009 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jan 07 08:58:28 2009 +0000"
      },
      "message": "GFS2: Fix typo in gfs_page_mkwrite()\n\nThere is a typo in gfs2_page_mkwrite()\n\ngfs2_write_alloc_required() expects pos to be the offset in bytes. However,\ninstead of the page index being shifted by by PAGE_CACHE_SHIFT, it was shifted\nby (PAGE_CACHE_SIZE - inode-\u003ei_blkbits).  This patch simply shifts the page\nindex by the proper amount.\n\nSigned-off-by: Benjamin Marzinski \u003cbmarzins@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "0027ce681e3cd49fa34dab023574611f4384291d",
      "tree": "7184919fe6bf71a2b7340a88b8e7eeec45911d68",
      "parents": [
        "e4fefbac6c5bcb0388d95e83801210e7d81a071b"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jan 06 14:56:26 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jan 07 08:57:35 2009 +0000"
      },
      "message": "GFS2: LSF and LBD are now one and the same\n\nAs a result of this recent patch:\nhttp://git.kernel.org/?p\u003dlinux/kernel/git/torvalds/linux-2.6.git;a\u003dcommitdiff;h\u003db3a6ffe16b5cc48abe7db8d04882dc45280eb693\nWe only need to depend on LBD.\n\nReported-by: Fabio M. Di Nitto \u003cfdinitto@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e4fefbac6c5bcb0388d95e83801210e7d81a071b",
      "tree": "b9147be1dd2f388d21b6a8e898ee0b21a97ff39d",
      "parents": [
        "ede6f5aea054d3fb67c78857f7abdee602302043"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jan 06 10:08:33 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jan 07 08:57:04 2009 +0000"
      },
      "message": "GFS2: Set GFP_NOFS when allocating page on write\n\nWe need to ensure that we always set GFP_NOFS in this one\nparticular case when allocating pages for write.\n\nReported-by: Fabio M. Di Nitto \u003cfdinitto@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "eb8374e71f941a1b3c2ed6ea19dc809e7124dc5d",
      "tree": "0af77162169ad8a359974b8120be898487293bc4",
      "parents": [
        "88a19ad066c1aab2f9713beb670525fcc06e1c09"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Thu Dec 25 15:35:27 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 05 07:45:02 2009 +0000"
      },
      "message": "GFS2: Use DEFINE_SPINLOCK\n\nSPIN_LOCK_UNLOCKED is deprecated.  The following makes the change suggested\nin Documentation/spinlocks.txt\n\nThe semantic patch that makes this change is as follows:\n(http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@@\ndeclarer name DEFINE_SPINLOCK;\nidentifier xxx_lock;\n@@\n\n- spinlock_t xxx_lock \u003d SPIN_LOCK_UNLOCKED;\n+ DEFINE_SPINLOCK(xxx_lock);\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n\n"
    },
    {
      "commit": "88a19ad066c1aab2f9713beb670525fcc06e1c09",
      "tree": "2d967c8f553a9dd862dc92fb085e5af1be859956",
      "parents": [
        "fefc03bfedeff2002f14e848ecb7c0cd77ee0b15"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Dec 19 15:43:05 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 05 07:39:19 2009 +0000"
      },
      "message": "GFS2: Fix use-after-free bug on umount (try #2)\n\nThis should solve the issue with the previous attempt at fixing this.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "fefc03bfedeff2002f14e848ecb7c0cd77ee0b15",
      "tree": "830ec1d36b8688a70580e8c5c18ac5f40015448f",
      "parents": [
        "7ed122e42c72b3e4531f8b4a9f72159e8303ac15"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Dec 19 15:32:06 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 05 07:39:18 2009 +0000"
      },
      "message": "Revert \"GFS2: Fix use-after-free bug on umount\"\n\nThis reverts commit 78802499912f1ba31ce83a94c55b5a980f250a43.\n\nThe original patch is causing problems in relation to order of\noperations at umount in relation to jdata files. I need to fix\nthis a different way.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "7ed122e42c72b3e4531f8b4a9f72159e8303ac15",
      "tree": "aa9976f47cf34b0b6d267654e74b9ea4f7a29d75",
      "parents": [
        "9a776db7371b9c77a8f4f0d2ac6374d78ac7db7d"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Dec 10 10:28:10 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 05 07:39:17 2009 +0000"
      },
      "message": "GFS2: Streamline alloc calculations for writes\n\nThis patch removes some unused code, and make the calculation\nof the number of blocks required conditional in order to reduce\nthe number of times this (potentially expensive) calculation\nis done.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "9a776db7371b9c77a8f4f0d2ac6374d78ac7db7d",
      "tree": "5863e73d8b84c35fe4223831c2c3f30ec23f6d9f",
      "parents": [
        "3af165ac4d099385b12e3e75a9ee3ffd02da33e0"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 27 09:42:51 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 05 07:39:15 2009 +0000"
      },
      "message": "GFS2: Send useful information with uevent messages\n\nIn order to distinguish between two differing uevent messages\nand to avoid using the (racy) method of reading status from\nsysfs in future, this adds some status information to our\nuevent messages.\n\nBtw, before anybody says \"sysfs isn\u0027t racy\", I\u0027m aware of that,\nbut the way that GFS2 was using it (send an ambiugous uevent and\nthen expect the receiver to read sysfs to find out the status\nof the reported operation) was.\n\nThe additional benefit of using the new interface is that it\nshould be possible for a node to recover multiple journals\nat the same time, since there is no longer any confusion as\nto which journal the status belongs to.\n\nAt some future stage, when all the userland programs have been\nconverted, I intend to remove the old interface.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "3af165ac4d099385b12e3e75a9ee3ffd02da33e0",
      "tree": "b90552f6ac8db316c05d5f3246366cfa09cc7473",
      "parents": [
        "2e204703a1161e9bae38ba0d3d0df04a679e6f4f"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 27 08:27:28 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 05 07:39:14 2009 +0000"
      },
      "message": "GFS2: Fix use-after-free bug on umount\n\nThere was a use-after-free with the GFS2 super block during\numount. This patch moves almost all of the umount code from\n-\u003eput_super into -\u003ekill_sb, the only bit that cannot be moved\nbeing the glock hash clearing which has to remain as -\u003eput_super\ndue to umount ordering requirements. As a result its now obvious\nthat the kfree is the final operation, whereas before it was\nhidden in -\u003eput_super.\n\nAlso gfs2_jindex_free is then only referenced from a single file\nso thats moved and marked static too.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "2e204703a1161e9bae38ba0d3d0df04a679e6f4f",
      "tree": "502c1851fafb35d32ed99d7dff37cf390410f496",
      "parents": [
        "2bfb6449b7a1f29a2a63e1d869103b5811c3b69f"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Nov 26 14:01:26 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 05 07:39:13 2009 +0000"
      },
      "message": "GFS2: Remove ancient, unused code\n\nRemove code that used to have something to do with initrd\nbut has been unused for a long time.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "2bfb6449b7a1f29a2a63e1d869103b5811c3b69f",
      "tree": "e4f8f51cf7346ec239ebd0b9ac9ddc2580c706e2",
      "parents": [
        "b52896813c2f16bcc5c5b67bb3c3f75bc084439b"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Nov 26 13:30:49 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 05 07:39:12 2009 +0000"
      },
      "message": "GFS2: Move four functions from super.c\n\nThe functions which are being moved can all be marked\nstatic in their new locations, since they only have\na single caller each. Their new locations are more\nlogical than before and some of the functions are\nsmall enough that the compiler might well inline them.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "b52896813c2f16bcc5c5b67bb3c3f75bc084439b",
      "tree": "2da41c8c4e5ef5ab74e8d1e5bc65183e5b9d4a14",
      "parents": [
        "fdd1062ebaa422c5684f97fa91da06f91167d76b"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Nov 26 12:49:26 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 05 07:39:11 2009 +0000"
      },
      "message": "GFS2: Fix bug in gfs2_lock_fs_check_clean()\n\ngfs2_lock_fs_check_clean() should not be calling gfs2_jindex_hold()\nsince it doesn\u0027t work like rindex hold, despite the comment. That\nallows gfs2_jindex_hold() to be moved into ops_fstype.c where it\ncan be made static.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "fdd1062ebaa422c5684f97fa91da06f91167d76b",
      "tree": "30ca8542e238bb04f4d80c8e009fa446ff66341b",
      "parents": [
        "97cc1025b1a91c52e84f12478dcf0f853abc6564"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Nov 26 10:26:38 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 05 07:39:10 2009 +0000"
      },
      "message": "GFS2: Send some sensible sysfs stuff\n\nWe ought to inform the user of the locktable and lockproto for each\nuevent we generate.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "97cc1025b1a91c52e84f12478dcf0f853abc6564",
      "tree": "cd71419049aeb13eea7012889d0ee0c715394e4d",
      "parents": [
        "9ac1b4d9b6f885ccd7d8f56bceb609003a920ff7"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Nov 20 13:39:47 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 05 07:39:09 2009 +0000"
      },
      "message": "GFS2: Kill two daemons with one patch\n\nThis patch removes the two daemons, gfs2_scand and gfs2_glockd\nand replaces them with a shrinker which is called from the VM.\n\nThe net result is that GFS2 responds better when there is memory\npressure, since it shrinks the glock cache at the same rate\nas the VFS shrinks the dcache and icache. There are no longer\nany time based criteria for shrinking glocks, they are kept\nuntil such time as the VM asks for more memory and then we\ndemote just as many glocks as required.\n\nThere are potential future changes to this code, including the\npossibility of sorting the glocks which are to be written back\ninto inode number order, to get a better I/O ordering. It would\nbe very useful to have an elevator based workqueue implementation\nfor this, as that would automatically deal with the read I/O cases\nat the same time.\n\nThis patch is my answer to Andrew Morton\u0027s remark, made during\nthe initial review of GFS2, asking why GFS2 needs so many kernel\nthreads, the answer being that it doesn\u0027t :-) This patch is a\nnet loss of about 200 lines of code.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "9ac1b4d9b6f885ccd7d8f56bceb609003a920ff7",
      "tree": "3208c627ca63e4167b2ce1d4bf4849b478d7a0e4",
      "parents": [
        "813e0c46c9e2a0c6f0b6e774faac82afd7a2e812"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Nov 19 10:08:22 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 05 07:39:07 2009 +0000"
      },
      "message": "GFS2: Move gfs2_recoverd into recovery.c\n\nBy moving gfs2_recoverd, we can make an additional function static\nand it also leaves only (the already scheduled for removal) gfs2_glockd\nin daemon.c.\n\nAt the same time the declaration of gfs2_quotad is moved to quota.h\nto reflect the new location of gfs2_quotad in a previous patch. Also\nthe recovery.h and quota.h headers are cleaned up.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "813e0c46c9e2a0c6f0b6e774faac82afd7a2e812",
      "tree": "cb09aa118f9e053f02e17f7c5ff11139e8e22244",
      "parents": [
        "37b2c8377c98acb60cf4d0126e385ef2153bded9"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Nov 18 13:38:48 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 05 07:39:06 2009 +0000"
      },
      "message": "GFS2: Fix \"truncate in progress\" hang\n\nFollowing on from the recent clean up of gfs2_quotad, this patch moves\nthe processing of \"truncate in progress\" inodes from the glock workqueue\ninto gfs2_quotad. This fixes a hang due to the \"truncate in progress\"\nprocessing requiring glocks in order to complete.\n\nIt might seem odd to use gfs2_quotad for this particular item, but\nwe have to use a pre-existing thread since creating a thread implies\na GFP_KERNEL memory allocation which is not allowed from the glock\nworkqueue context. Of the existing threads, gfs2_logd and gfs2_recoverd\nmay deadlock if used for this operation. gfs2_scand and gfs2_glockd are\nboth scheduled for removal at some (hopefully not too distant) future\npoint. That leaves only gfs2_quotad whose workload is generally fairly\nlight and is easily adapted for this extra task.\n\nAlso, as a result of this change, it opens the way for a future patch to\nmake the reading of the inode\u0027s information asynchronous with respect to\nthe glock workqueue, which is another improvement that has been on the list\nfor some time now.\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": "fa75cedc3da5923b8ea3877be9d5bc09b02e3860",
      "tree": "91d169ff147e6d3dc96b2caf859b3d1b35f28905",
      "parents": [
        "73f749483ed18f3b5759909cc4187b1741f54b10"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Nov 10 10:10:12 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 05 07:39:04 2009 +0000"
      },
      "message": "GFS2: Add more detail to debugfs glock dumps\n\nAlthough the glock dumps print quite a lot of information about\nthe glocks themselves, there are more things which can be\nusefully added to the dump realting to the objects themselves.\n\nThis patch adds a few more fields to the inode and resource\ngroup lines, which should be useful for debugging.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "73f749483ed18f3b5759909cc4187b1741f54b10",
      "tree": "67acf16f388e35861f6e1c998fa5e049af98f4d0",
      "parents": [
        "cfc8b54922db7b647b6d88914dc7ef8c63b6671d"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Nov 04 10:32:57 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 05 07:39:03 2009 +0000"
      },
      "message": "GFS2: Banish struct gfs2_rgrpd_host\n\nThis patch moves the final field so that we can get rid\nof struct gfs2_rgrpd_host, as promised some time ago. Also\nby rearranging the fields slightly, we are able to reduce\nthe size of the gfs2_rgrpd structure at the same time.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "cfc8b54922db7b647b6d88914dc7ef8c63b6671d",
      "tree": "27ceb908468bee50f94de44ce380fadf9e0b547a",
      "parents": [
        "d8b71f7381769177998acb2f59ddc73465a60fe0"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Nov 04 10:25:13 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 05 07:39:02 2009 +0000"
      },
      "message": "GFS2: Move rg_free from gfs2_rgrpd_host to gfs2_rgrpd\n\nThe second of three fields which need to move, in order\nto remove the struct gfs2_rgrpd_host.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "d8b71f7381769177998acb2f59ddc73465a60fe0",
      "tree": "3370fab3116cc9bad2c774210a7e497b5fa6f481",
      "parents": [
        "383f01fbf4a701b73f5e35ea805ed1700b4b4db9"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Nov 04 10:19:03 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 05 07:39:01 2009 +0000"
      },
      "message": "GFS2: Move rg_igeneration into struct gfs2_rgrpd\n\nThis moves one of the fields of struct gfs2_rgrpd_host into\nthe struct gfs2_rgrpd with the eventual aim of removing\nthe struct rgrpd_host completely.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "383f01fbf4a701b73f5e35ea805ed1700b4b4db9",
      "tree": "b2b7a1a188088f319a29e8cc4cc924490837352b",
      "parents": [
        "c9e98886776386f1f7828d9685e78cd341849867"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Nov 04 10:05:22 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 05 07:38:59 2009 +0000"
      },
      "message": "GFS2: Banish struct gfs2_dinode_host\n\nThe final field in gfs2_dinode_host was the i_flags field. Thats\nrenamed to i_diskflags in order to avoid confusion with the existing\ninode flags, and moved into the inode proper at a suitable location\nto avoid creating a \"hole\".\n\nAt that point struct gfs2_dinode_host is no longer needed and as\npromised (quite some time ago!) it can now be removed completely.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "c9e98886776386f1f7828d9685e78cd341849867",
      "tree": "5bf4ac819d1e9394f960f21a48881a9d2f9f69fe",
      "parents": [
        "3767ac21f471fe669a7d9f6abef682ddac8fc3d8"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Nov 04 09:47:33 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 05 07:38:58 2009 +0000"
      },
      "message": "GFS2: Move i_size from gfs2_dinode_host and rename it to i_disksize\n\nThis patch moved the i_size field from the gfs2_dinode_host and\nfollowing the ext3 convention renames it i_disksize.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "3767ac21f471fe669a7d9f6abef682ddac8fc3d8",
      "tree": "c028ea68502e9005e3fa353c7ca54797d12a136a",
      "parents": [
        "ad6203f2b46c2217f74b2e88299640eef5889e72"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Nov 03 14:28:42 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 05 07:38:57 2009 +0000"
      },
      "message": "GFS2: Move di_eattr into \"proper\" inode\n\nThis moves the di_eattr field out of gfs2_inode_host and\ninto the inode proper.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "ad6203f2b46c2217f74b2e88299640eef5889e72",
      "tree": "24197a5bc7ffac80071d2375ff46947cabe9b365",
      "parents": [
        "bcf0b5b348a1f49c2c878ffdb78e68c930baabb8"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Nov 03 13:59:19 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 05 07:38:56 2009 +0000"
      },
      "message": "GFS2: Move \"entries\" into \"proper\" inode\n\nThis moves the directory entry count into the proper inode.\nPotentially we could get this to share the space used by\nsomething else in the future, but this is one more step\non the way to removing the gfs2_dinode_host structure.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "bcf0b5b348a1f49c2c878ffdb78e68c930baabb8",
      "tree": "f5ee33d171f397bbcf55b3138b41b7684d6e4654",
      "parents": [
        "55ba474daed9763b2f6fe26ad762ee373554d65e"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Nov 03 13:39:46 2008 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 05 07:38:55 2009 +0000"
      },
      "message": "GFS2: Move generation number into \"proper\" part of inode\n\nThis moves the generation number from the gfs2_dinode_host\ninto the gfs2_inode structure. Eventually the plan is to get\nrid of the gfs2_dinode_host structure completely.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "55ba474daed9763b2f6fe26ad762ee373554d65e",
      "tree": "cebf67226c2d5e84505fa1aa5e6d8e7afed005c0",
      "parents": [
        "1bb7322fd0d5abdce396de51cbc5dbc489523018"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Oct 24 11:31:12 2008 -0700"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 05 07:38:50 2009 +0000"
      },
      "message": "GFS2: sparse annotation of gl-\u003egl_spin\n\nfs/gfs2/glock.c:308:5: warning: context problem in \u0027do_promote\u0027: \u0027_spin_unlock\u0027 expected different context\nfs/gfs2/glock.c:308:5:    context \u0027*gl+28\u0027: wanted \u003e\u003d 1, got 0\nfs/gfs2/glock.c:529:2: warning: context problem in \u0027do_xmote\u0027: \u0027_spin_unlock\u0027 expected different context\nfs/gfs2/glock.c:529:2:    context \u0027*gl+28\u0027: wanted \u003e\u003d 1, got 0\nfs/gfs2/glock.c:925:3: warning: context problem in \u0027add_to_queue\u0027: \u0027_spin_unlock\u0027 expected different context\nfs/gfs2/glock.c:925:3:    context \u0027*gl+28\u0027: wanted \u003e\u003d 1, got 0\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "1bb7322fd0d5abdce396de51cbc5dbc489523018",
      "tree": "fb602151904bbfaa10dc671a059acce90011eca9",
      "parents": [
        "b276058371f5c2ad92f9f27373a72b219ed580ed"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Oct 15 09:46:39 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 05 07:38:49 2009 +0000"
      },
      "message": "GFS2: Fix up jdata writepage/delete_inode\n\nThere is a bug in writepage and delete_inode which allows jdata files to\ninvalidate pages from the address space without being in a transaction at\nthe time. This causes problems in case the pages are in the journal. This\npatch fixes that case and prevents the resulting oops.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "b276058371f5c2ad92f9f27373a72b219ed580ed",
      "tree": "a8a39f45c3bee6e523d043eecd636249bc180b1b",
      "parents": [
        "e9079cce201784632aed4b1a3121ee38c1ced0b6"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Oct 14 16:05:55 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 05 07:38:48 2009 +0000"
      },
      "message": "GFS2: Rationalise header files\n\nMove the contents of some headers which contained very\nlittle into more sensible places, and remove the original\nheader files. This should make it easier to find things.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e9079cce201784632aed4b1a3121ee38c1ced0b6",
      "tree": "6d99fc45afb3889e5835d713948226d7548d6750",
      "parents": [
        "fe0bdec68b77020281dc814805edfe594ae89e0f"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Oct 14 14:43:29 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 05 07:38:46 2009 +0000"
      },
      "message": "GFS2: Support for FIEMAP ioctl\n\nThis patch implements the FIEMAP ioctl for GFS2. We can use the generic\ncode (aside from a lock order issue, solved as per Ted Tso\u0027s suggestion)\nfor which I\u0027ve introduced a new variant of the generic function. We also\nhave one exception to deal with, namely stuffed files, so we do that\n\"by hand\", setting all the required flags.\n\nThis has been tested with a modified (I could only find an old version) of\nEric\u0027s test program, and appears to work correctly.\n\nThis patch does not currently support FIEMAP of xattrs, but the plan is to add\nthat feature at some future point.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Theodore Tso \u003ctytso@mit.edu\u003e\nCc: Eric Sandeen \u003csandeen@redhat.com\u003e\n"
    },
    {
      "commit": "54566b2c1594c2326a645a3551f9d989f7ba3c5e",
      "tree": "b373f3283fe5e197d0df29cd6b645c35adf1076c",
      "parents": [
        "e687d691cb3790d25e31c74f5941fd7c565e9df5"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sun Jan 04 12:00:53 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 04 13:33:20 2009 -0800"
      },
      "message": "fs: symlink write_begin allocation context fix\n\nWith the write_begin/write_end aops, page_symlink was broken because it\ncould no longer pass a GFP_NOFS type mask into the point where the\nallocations happened.  They are done in write_begin, which would always\nassume that the filesystem can be entered from reclaim.  This bug could\ncause filesystem deadlocks.\n\nThe funny thing with having a gfp_t mask there is that it doesn\u0027t really\nallow the caller to arbitrarily tinker with the context in which it can be\ncalled.  It couldn\u0027t ever be GFP_ATOMIC, for example, because it needs to\ntake the page lock.  The only thing any callers care about is __GFP_FS\nanyway, so turn that into a single flag.\n\nAdd a new flag for write_begin, AOP_FLAG_NOFS.  Filesystems can now act on\nthis flag in their write_begin function.  Change __grab_cache_page to\naccept a nofs argument as well, to honour that flag (while we\u0027re there,\nchange the name to grab_cache_page_write_begin which is more instructive\nand does away with random leading underscores).\n\nThis is really a more flexible way to go in the end anyway -- if a\nfilesystem happens to want any extra allocations aside from the pagecache\nones in ints write_begin function, it may now use GFP_KERNEL (rather than\nGFP_NOFS) for common case allocations (eg.  ocfs2_alloc_write_ctxt, for a\nrandom example).\n\n[kosaki.motohiro@jp.fujitsu.com: fix ubifs]\n[kosaki.motohiro@jp.fujitsu.com: fix fuse]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.28.x]\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n[ Cleaned up the calling convention: just pass in the AOP flags\n  untouched to the grab_cache_page_write_begin() function.  That\n  just simplifies everybody, and may even allow future expansion of the\n  logic.   - Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3de7be335593859bc84a122b1338ec358bf70e9b",
      "tree": "0ae33e6f15271e153ae5f1ce37826a9ace52ec3c",
      "parents": [
        "2186a71cbcddda946dd3cfccd5285e210ec3af10"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:38:53 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:38:53 2008 +1100"
      },
      "message": "CRED: Wrap task credential accesses in the GFS2 filesystem\n\nWrap access to task credentials so that they can be separated more easily from\nthe task_struct during the introduction of COW creds.\n\nChange most current-\u003e(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id().\n\nChange some task-\u003ee?[ug]id to task_e?[ug]id().  In some places it makes more\nsense to use RCU directly rather than a convenient wrapper; these will be\naddressed by later patches.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: cluster-devel@redhat.com\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "440037287c5ebb07033ab927ca16bb68c291d309",
      "tree": "c4be3843ea87a777c2647f471895917005d8068f",
      "parents": [
        "4ea3ada2955e4519befa98ff55dd62d6dfbd1705"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Aug 11 15:49:04 2008 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Oct 23 05:13:01 2008 -0400"
      },
      "message": "[PATCH] switch all filesystems over to d_obtain_alias\n\nSwitch all users of d_alloc_anon to d_obtain_alias.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3516586a424ea5727be089da6541cbd5644f0497",
      "tree": "cb55c6262e066c393917735021aa2bd801f6dd16",
      "parents": [
        "2c552d81363e0dac66d478046cc8a3948a67eae9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Aug 05 03:00:49 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Oct 23 05:12:56 2008 -0400"
      },
      "message": "[PATCH] make O_EXCL in nd-\u003eintent.flags visible in nd-\u003eflags\n\nNew flag: LOOKUP_EXCL.  Set before doing the final step of pathname\nresolution on the paths that have LOOKUP_CREATE and O_EXCL.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a447c0932445f92ce6f4c1bd020f62c5097a7842",
      "tree": "bacf05bc7f9764515cdd6f7dc5e2254776b4f160",
      "parents": [
        "54cebc68c81eacac41a21bdfe99dc889d3882c60"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Oct 13 10:46:57 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 10:10:37 2008 -0700"
      },
      "message": "vfs: Use const for kernel parser table\n\nThis is a much better version of a previous patch to make the parser\ntables constant. Rather than changing the typedef, we put the \"const\" in\nall the various places where its required, allowing the __initconst\nexception for nfsroot which was the cause of the previous trouble.\n\nThis was posted for review some time ago and I believe its been in -mm\nsince then.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Alexander Viro \u003caviro@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "13dd7f876dffb44088c5435c3df1986e33cff960",
      "tree": "c9043429452663661dc888e1cbafa87bd2a62f44",
      "parents": [
        "b0af205afb111e17ac8db64c3b9c4f2c332de92a",
        "27eccf46491e1f77f9af9bbe0778122ce6882890"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 10 11:13:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 10 11:13:55 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm:\n  dlm: choose better identifiers\n  dlm: remove bkl\n  dlm: fix address compare\n  dlm: fix locking of lockspace list in dlm_scand\n  dlm: detect available userspace daemon\n  dlm: allow multiple lockspace creates\n"
    },
    {
      "commit": "254db57f9b12daba841a4d91ddb9a8161e9c74ba",
      "tree": "e5d4f107d8bdf6278738c85a67b54d96d1a900e8",
      "parents": [
        "6d80c39f9155e289fe8037a8b6352931ff916ceb"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Sep 26 10:23:22 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Sep 26 10:23:22 2008 +0100"
      },
      "message": "GFS2: Support for I/O barriers\n\nThis patch adds barrier support to GFS2. There is not a lot of change\nreally... we just add the barrier flag when we write journal header\nblocks. If the underlying device refuses to support them, we fall back\nto the previous way of doing things (wait for the I/O and hope) since\nthere is nothing else we can do. There is no user configuration,\nbarriers will always be on unless the device refuses to support them.\nThis seems a reasonable solution to me since this is a correctness\nissue.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "719ee344675c2efed9115934f19aa66a526b6e5b",
      "tree": "7f9502d696a09eaf5eba0a0d3fa35557ffd3c503",
      "parents": [
        "37ec89e83c4ca98323fe74f139301ff3949cfdb6"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Sep 18 13:53:59 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Sep 18 13:53:59 2008 +0100"
      },
      "message": "GFS2: high time to take some time over atime\n\nUntil now, we\u0027ve used the same scheme as GFS1 for atime. This has failed\nsince atime is a per vfsmnt flag, not a per fs flag and as such the\n\"noatime\" flag was not getting passed down to the filesystems. This\npatch removes all the \"special casing\" around atime updates and we\nsimply use the VFS\u0027s atime code.\n\nThe net result is that GFS2 will now support all the same atime related\nmount options of any other filesystem on a per-vfsmnt basis. We do lose\nthe \"lazy atime\" updates, but we gain \"relatime\". We could add lazy\natime to the VFS at a later date, if there is a requirement for that\nvariant still - I suspect relatime will be enough.\n\nAlso we lose about 100 lines of code after this patch has been applied,\nand I have a suspicion that it will speed things up a bit, even when\natime is \"on\". So it seems like a nice clean up as well.\n\nFrom a user perspective, everything stays the same except the loss of\nthe per-fs atime quantum tweekable (ought to be per-vfsmnt at the very\nleast, and to be honest I don\u0027t think anybody ever used it) and that a\nnumber of options which were ignored before now work correctly.\n\nPlease let me know if you\u0027ve got any comments. I\u0027m pushing this out\nearly so that you can all see what my plans are.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "37ec89e83c4ca98323fe74f139301ff3949cfdb6",
      "tree": "5bb249dcfdc38f06ef1d363f099f9f88e23043e7",
      "parents": [
        "acd2c8aa02f302ed838348052e16ee575c645147"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Sep 18 13:49:32 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Sep 18 13:49:32 2008 +0100"
      },
      "message": "GFS2: The war on bloat\n\nThe following patch shrinks the gfs2_args structure which is embedded in\nevery GFS2 superblock. It cuts down the size of the options to a single\nunsigned int (the 13 bits of bitfields will be rounded up to that size\nby the compiler) from the current 11 unsigned ints. So on x86 thats 44\nbytes shrinking to 4 bytes, in each and every GFS2 superblock.\n\nSigned-off-by: Steven Whitehouse \u003cswhitho@redhat.com\u003e\n"
    },
    {
      "commit": "acd2c8aa02f302ed838348052e16ee575c645147",
      "tree": "2348e1103be0a2ada199b1b8bbac58bb646b5f57",
      "parents": [
        "acb57a3652c614efed26080dad5972c0076166b1"
      ],
      "author": {
        "name": "Abhijith Das",
        "email": "adas@redhat.com",
        "time": "Mon Sep 15 08:54:06 2008 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 15 16:08:32 2008 +0100"
      },
      "message": "GFS2: GFS2 will panic if you misspell any mount options\n\nThe gfs2 superblock pointer is NULL after a failed mount. When control\neventually goes to gfs2_kill_sb, we dereference this NULL pointer. This\npatch ensures that the gfs2 superblock pointer is not NULL before being\ndereferenced in gfs2_kill_sb.\n\nSigned-off-by:   Abhijith Das \u003cadas@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n\n"
    },
    {
      "commit": "acb57a3652c614efed26080dad5972c0076166b1",
      "tree": "e459ed13f5a05eb6a2427015c60356e3afe85c55",
      "parents": [
        "bd1eb8818cc2c8ddab86be027ab43fb852942704"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Thu Sep 11 15:35:37 2008 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 15 10:31:54 2008 +0100"
      },
      "message": "GFS2: Direct IO write at end of file error\n\nThis patch fixes a problem whereby a direct_io write doesn\u0027t fall\nback to buffered write properly at end of file.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "bd1eb8818cc2c8ddab86be027ab43fb852942704",
      "tree": "b072daf0c29f929217acc7a589b48c615da6b238",
      "parents": [
        "dff5257473ca1e05002809809f51f858e9a966fc"
      ],
      "author": {
        "name": "Julien Brunel",
        "email": "brunel@diku.dk",
        "time": "Mon Sep 01 10:51:22 2008 +0200"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Sep 05 14:19:44 2008 +0100"
      },
      "message": "GFS2: Use an IS_ERR test rather than a NULL test\n\nIn case of error, the function gfs2_inode_lookup returns an\nERR pointer, but never returns a NULL pointer. So a NULL test that\nnecessarily comes after an IS_ERR test should be deleted, and a NULL\ntest that may come after a call to this function should be\nstrengthened by an IS_ERR test.\n\nThe semantic match that finds this problem is as follows:\n(http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@match_bad_null_test@\nexpression x, E;\nstatement S1,S2;\n@@\nx \u003d gfs2_inode_lookup(...)\n... when !\u003d x \u003d E\n* if (x !\u003d NULL)\nS1 else S2\n// \u003c/smpl\u003e\n\nSigned-off-by:  Julien Brunel \u003cbrunel@diku.dk\u003e\nSigned-off-by:  Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "dff5257473ca1e05002809809f51f858e9a966fc",
      "tree": "4d9bd636ce8828dcc0e8e2676cf4e9e86ed272c8",
      "parents": [
        "0188d6c5807b65e2e20dcb75a668efbe5418b27e"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 02 13:33:17 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Sep 05 14:18:02 2008 +0100"
      },
      "message": "GFS2: Fix race relating to glock min-hold time\n\nIn the case that a request for a glock arrives right after the\ngrant reply has arrived, it sometimes means that the gl_tstamp\nfield hasn\u0027t been updated recently enough. The net result is that\nthe min-hold time for the glock is ignored. If this happens\noften enough, it leads to poor performance.\n\nThis patch adds an additional test, so that if the reply pending\nbit is set on a glock, then it will select the maximum length of\ntime for the min-hold time, rather than looking at gl_tstamp.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "0f8e0d9a317406612700426fad3efab0b7bbc467",
      "tree": "b4ed35afeab36615e50d5c7928a6199780fd2fca",
      "parents": [
        "4c246edd2550304df5b766cc841584b2bb058843"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Aug 06 13:30:24 2008 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Aug 28 11:49:15 2008 -0500"
      },
      "message": "dlm: allow multiple lockspace creates\n\nAdd a count for lockspace create and release so that create can\nbe called multiple times to use the lockspace from different places.\nAlso add the new flag DLM_LSFL_NEWEXCL to create a lockspace with\nthe previous behavior of returning -EEXIST if the lockspace already\nexists.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "0188d6c5807b65e2e20dcb75a668efbe5418b27e",
      "tree": "419ee0e74cded399d2e4b9adf4dacf9f9dd31a3e",
      "parents": [
        "72dbf4790fc6736f9cb54424245114acf0b0038c"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Aug 26 09:38:26 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Aug 27 13:33:10 2008 +0100"
      },
      "message": "GFS2: Fix \u0026 clean up GFS2 rename\n\nThis patch fixes a locking issue in the rename code by ensuring that we hold\nthe per sb rename lock over both directory and \"other\" renames which involve\ndifferent parent directories.\n\nAt the same time, this moved the (only called from one place) function\ngfs2_ok_to_move into the file that its called from, so we can mark it\nstatic. This should make a code a bit easier to follow.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Peter Staubach \u003cstaubach@redhat.com\u003e\n"
    },
    {
      "commit": "72dbf4790fc6736f9cb54424245114acf0b0038c",
      "tree": "9ed5bd66844fa0950d947bc5673292114e58e9ac",
      "parents": [
        "9b8df98fc8973ad1c5f0d7c4cf71c7fb84fe22c5"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Tue Aug 12 13:39:29 2008 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Aug 13 10:00:12 2008 +0100"
      },
      "message": "GFS2: rm on multiple nodes causes panic\n\nThis patch fixes a problem whereby simultaneous unlink, rmdir,\nrename and link operations (e.g. rm -fR *) from multiple nodes\non the same GFS2 file system can cause kernel panics, hangs,\nand/or memory corruption.  It also gets rid of all the non-rgrp\ncalls to gfs2_glock_nq_m.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "9b8df98fc8973ad1c5f0d7c4cf71c7fb84fe22c5",
      "tree": "6a0445afd83d0f7a63a301c2e146647abf59ad82",
      "parents": [
        "c1e817d03a7de57a963654c35e6e80af9a5dbff5"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Aug 08 13:45:13 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Aug 13 09:59:40 2008 +0100"
      },
      "message": "GFS2: Fix metafs mounts\n\nThis patch is intended to fix the issues reported in bz #457798. Instead\nof having the metafs as a separate filesystem, it becomes a second root\nof gfs2. As a result it will appear as type gfs2 in /proc/mounts, but it\nis still possible (for backwards compatibility purposes) to mount it as\ntype gfs2meta. A new mount flag \"meta\" is introduced so that its possible\nto tell the two cases apart in /proc/mounts.\n\nAs a result it becomes possible to mount type gfs2 with -o meta and\nget the same result as mounting type gfs2meta. So it is possible to\nmount just the metafs on its own. Currently if you do this, its then\nimpossible to mount the \"normal\" root of the gfs2 filesystem without\nfirst unmounting the metafs root. I\u0027m not sure if thats a feature or\na bug :-)\n\nEither way, this is a great improvement on the previous scheme and I\u0027ve\nverified that it works ok with bind mounts on both the \"normal\" root\nand the metafs root in various combinations.\n\nThere were also a bunch of functions in super.c which didn\u0027t belong there,\nso this moves them into ops_fstype.c where they can be static. Hopefully\nthe mount/umount sequence is now more obvious as a result.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Alexander Viro \u003caviro@redhat.com\u003e\n"
    },
    {
      "commit": "c1e817d03a7de57a963654c35e6e80af9a5dbff5",
      "tree": "e90926cce9311091b31ea60fbf35dc11c9d18a3f",
      "parents": [
        "30a2f3c60a84092c8084dfe788b710f8d0768cd4"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jul 22 22:58:03 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Aug 13 09:59:10 2008 +0100"
      },
      "message": "GFS2: Fix debugfs glock file iterator\n\nDue to an incorrect iterator, some glocks were being missed from the\nglock dumps obtained via debugfs. This patch fixes the problem and\nensures that we don\u0027t miss any glocks in future.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "a569c711f63995ad80c23918525111e0cdb0bc73",
      "tree": "38186f0201614b6b1e71bea0708ef35814825ea6",
      "parents": [
        "2ad94ae654f5eb72fd3260b706aea645cf4a7791"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 23 14:42:05 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 20:53:36 2008 -0400"
      },
      "message": "[PATCH] don\u0027t pass nameidata to gfs2_lookupi()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e6305c43eda10ebfd2ad9e35d6e172ccc7bb3695",
      "tree": "8a95bd0e27fb3ce895cca9ef91af2e1605e4cdab",
      "parents": [
        "1bd5191d9f5d1928c4efdf604c4164b04bb88dbe"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 15 21:03:57 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 20:53:14 2008 -0400"
      },
      "message": "[PATCH] sanitize -\u003epermission() prototype\n\n* kill nameidata * argument; map the 3 bits in -\u003eflags anybody cares\n  about to new MAY_... ones and pass with the mask.\n* kill redundant gfs2_iop_permission()\n* sanitize ecryptfs_permission()\n* fix remaining places where -\u003epermission() instances might barf on new\n  MAY_... found in mask.\n\nThe obvious next target in that direction is permission(9)\n\nfolded fix for nfs_permission() breakage from Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "51cc50685a4275c6a02653670af9f108a64e01cf",
      "tree": "819d47bd2b0c8a9d1835d863853804b0a0242b97",
      "parents": [
        "d91958815d214ea365b98cbff6215383897edcb6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Jul 25 19:45:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:07 2008 -0700"
      },
      "message": "SL*B: drop kmem cache argument from constructor\n\nKmem cache passed to constructor is only needed for constructors that are\nthemselves multiplexeres.  Nobody uses this \"feature\", nor does anybody uses\npassed kmem cache in non-trivial way, so pass only pointer to object.\n\nNon-trivial places are:\n\tarch/powerpc/mm/init_64.c\n\tarch/powerpc/mm/hugetlbpage.c\n\nThis is flag day, yes.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Jon Tollefson \u003ckniht@linux.vnet.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\n[akpm@linux-foundation.org: fix arch/powerpc/mm/hugetlbpage.c]\n[akpm@linux-foundation.org: fix mm/slab.c]\n[akpm@linux-foundation.org: fix ubifs]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "38c46578ffd8ffbfec514c2a9876d527303322d6",
      "tree": "d55ad8a52048f70bc6ef51d388c0f21ff467155e",
      "parents": [
        "e7849f16c13476288fe4fbd420975e8456c75aa0",
        "4abaca17e758e3326c96ced88b2cd9b7b84922f6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 15 10:38:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 15 10:38:46 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw:\n  [GFS2] Fix GFS2\u0027s use of do_div() in its quota calculations\n  [GFS2] Remove unused declaration\n  [GFS2] Remove support for unused and pointless flag\n  [GFS2] Replace rgrp \"recent list\" with mru list\n  [GFS2] Allow local DF locks when holding a cached EX glock\n  [GFS2] Fix delayed demote race\n  [GFS2] don\u0027t call permission()\n  [GFS2] Fix module building\n  [GFS2] Glock documentation\n  [GFS2] Remove all_list from lock_dlm\n  [GFS2] Remove obsolete conversion deadlock avoidance code\n  [GFS2] Remove remote lock dropping code\n  [GFS2] kernel panic mounting volume\n  [GFS2] Revise readpage locking\n  [GFS2] Fix ordering of args for list_add\n  [GFS2] trivial sparse lock annotations\n  [GFS2] No lock_nolock\n  [GFS2] Fix ordering bug in lock_dlm\n  [GFS2] Clean up the glock core\n"
    },
    {
      "commit": "2fceef397f9880b212a74c418290ce69e7ac00eb",
      "tree": "d9cc09ab992825ef7fede4a688103503e3caf655",
      "parents": [
        "feae1ef116ed381625d3731c5ae4f4ebcb3fa302",
        "bce7f793daec3e65ec5c5705d2457b81fe7b5725"
      ],
      "author": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Mon Jul 14 15:29:34 2008 -0600"
      },
      "committer": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Mon Jul 14 15:29:34 2008 -0600"
      },
      "message": "Merge commit \u0027v2.6.26\u0027 into bkl-removal\n"
    },
    {
      "commit": "4abaca17e758e3326c96ced88b2cd9b7b84922f6",
      "tree": "920bcf9d988d3141d5a906ad683b8903ef074068",
      "parents": [
        "a93a6ce24215c69126c88f9c488afa50a168e0ca"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jul 11 14:39:56 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jul 11 14:35:01 2008 +0100"
      },
      "message": "[GFS2] Fix GFS2\u0027s use of do_div() in its quota calculations\n\nFix GFS2\u0027s need_sync()\u0027s use of do_div() on an s64 by using div_s64() instead.\n\nThis does assume that gt_quota_scale_den can be cast to an s32.\n\nThis was introduced by patch b3b94faa5fe5968827ba0640ee9fba4b3e7f736e.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n\n"
    },
    {
      "commit": "a93a6ce24215c69126c88f9c488afa50a168e0ca",
      "tree": "3e3503ab90ae9a18c04e27fb17f188f052e24f1d",
      "parents": [
        "c9f6a6bbc284ba87337876086f7e2e6e0b0d50dd"
      ],
      "author": {
        "name": "Li Xiaodong",
        "email": "lixd@cn.fujitsu.com",
        "time": "Mon Jul 07 18:04:09 2008 +0800"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jul 10 16:22:23 2008 +0100"
      },
      "message": "[GFS2] Remove unused declaration\n\nThe implementation of gfs2_inode_attr_in is removed.\nSo remove its declaration.\n\nSigned-off-by: Li Xiaodong \u003clixd@cn.fujitsu.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "c9f6a6bbc284ba87337876086f7e2e6e0b0d50dd",
      "tree": "68930f47e91f82ca41b3a9f35fd118d2ff11d891",
      "parents": [
        "9cabcdbd4638cf884839ee4cd15780800c223b90"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jul 10 16:09:29 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jul 10 16:09:29 2008 +0100"
      },
      "message": "[GFS2] Remove support for unused and pointless flag\n\nThe ability to mark files for direct i/o access when opened\nnormally is both unused and pointless, so this patch removes\nsupport for that feature.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "9cabcdbd4638cf884839ee4cd15780800c223b90",
      "tree": "7f5c4aa81a919fde33e33e5d8df04e053f99b93b",
      "parents": [
        "209806aba9d540dde3db0a5ce72307f85f33468f"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jul 10 15:54:12 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jul 10 15:54:12 2008 +0100"
      },
      "message": "[GFS2] Replace rgrp \"recent list\" with mru list\n\nThis patch removes the \"recent list\" which is used during allocation\nand replaces it with the (already existing) mru list used during\ndeletion. The \"recent list\" was not a true mru list leading to a number\nof inefficiencies including a \"next\" function which made scanning the\nlist an order N^2 operation wrt to the number of list elements.\n\nThis should increase allocation performance with large numbers of rgrps.\nIts also a useful preparation and cleanup before some further changes\nwhich are planned in this area.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "209806aba9d540dde3db0a5ce72307f85f33468f",
      "tree": "22543b35c6b06d9a736c1c9af881ea7cf305d2bd",
      "parents": [
        "265d529cef6fd57698d79b3c0edd3a8178059ea6"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jul 07 10:07:28 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jul 07 10:07:28 2008 +0100"
      },
      "message": "[GFS2] Allow local DF locks when holding a cached EX glock\n\nWe already allow local SH locks while we hold a cached EX glock, so here\nwe allow DF locks as well. This works only because we rely on the VFS\u0027s\ninvalidation for locally cached data, and because if we hold an EX lock,\nthen we know that no other node can be caching data relating to this\nfile.\n\nIt dramatically speeds up initial writes to O_DIRECT files since we fall\nback to buffered I/O for this and would otherwise bounce between DF and\nEX modes on each and every write call. The lessons to be learned from\nthat are to ensure that (for the time being anyway) O_DIRECT files are\npreallocated and that they are written to using reasonably large I/O\nsizes. Even so this change fixes that corner case nicely\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "265d529cef6fd57698d79b3c0edd3a8178059ea6",
      "tree": "d92cc42c3f9db89bdce635a78f9d8d1904dde43a",
      "parents": [
        "f58ba889106af60f52af792efbe1973e458a2138"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jul 07 10:02:36 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jul 07 10:02:36 2008 +0100"
      },
      "message": "[GFS2] Fix delayed demote race\n\nThere is a race in the delayed demote code where it does the wrong thing\nif a demotion to UN has occurred for other reasons before the delay has\nexpired. This patch adds an assert to catch that condition as well as\nfixing the root cause by adding an additional check for the UN state.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Bob Peterson \u003crpeterso@redhat.com\u003e\n"
    },
    {
      "commit": "f58ba889106af60f52af792efbe1973e458a2138",
      "tree": "f81426c7f611b74dec685cd416d3da8e7fe647d2",
      "parents": [
        "f17172e00167238cc5e4f61ac4e78c68e5c558ec"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Wed Jul 02 21:12:01 2008 +0200"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jul 03 10:22:01 2008 +0100"
      },
      "message": "[GFS2] don\u0027t call permission()\n\nGFS2 calls permission() to verify permissions after locks on the files\nhave been taken.\n\nFor this it\u0027s sufficient to call gfs2_permission() instead.  This\nresults in the following changes:\n\n  - IS_RDONLY() check is not performed\n  - IS_IMMUTABLE() check is not performed\n  - devcgroup_inode_permission() is not called\n  - security_inode_permission() is not called\n\nIS_RDONLY() should be unnecessary anyway, as the per-mount read-only\nflag should provide protection against read-only remounts during\noperations.  do_gfs2_set_flags() has been fixed to perform\nmnt_want_write()/mnt_drop_write() to protect against remounting\nread-only.\n\nIS_IMMUTABLE has been added to gfs2_permission()\n\nRepeating the security checks seems to be pointless, as they don\u0027t\nnormally change, and if they do, it\u0027s independent of the filesystem\nstate.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n\n"
    },
    {
      "commit": "9465efc9e96135a2cec8154c0c766fa59984a298",
      "tree": "079b94123ab65ff80c4869bcf25192c8596b049c",
      "parents": [
        "9c20616c385ebeaa30257ef5d35e8f346db4ee32"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Fri Jun 27 11:05:24 2008 +0200"
      },
      "committer": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Wed Jul 02 15:06:27 2008 -0600"
      },
      "message": "Remove BKL from remote_llseek v2\n\n- Replace remote_llseek with generic_file_llseek_unlocked (to force compilation\nfailures in all users)\n- Change all users to either use generic_file_llseek_unlocked directly or\ntake the BKL around. I changed the file systems who don\u0027t use the BKL\nfor anything (CIFS, GFS) to call it directly. NCPFS and SMBFS and NFS\ntake the BKL, but explicitely in their own source now.\n\nI moved them all over in a single patch to avoid unbisectable sections.\n\nOpen problem: 32bit kernels can corrupt fpos because its modification\nis not atomic, but they can do that anyways because there\u0027s other paths who\nmodify it without BKL.\n\nDo we need a special lock for the pos/f_version \u003d 0 checks?\n\nTrond says the NFS BKL is likely not needed, but keep it for now\nuntil his full audit.\n\nv2: Use generic_file_llseek_unlocked instead of remote_llseek_unlocked\n    and factor duplicated code (suggested by hch)\n\nCc: Trond.Myklebust@netapp.com\nCc: swhiteho@redhat.com\nCc: sfrench@samba.org\nCc: vandrove@vc.cvut.cz\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\n"
    },
    {
      "commit": "f17172e00167238cc5e4f61ac4e78c68e5c558ec",
      "tree": "267f97db00a5393e566b9463946bd356729b35c9",
      "parents": [
        "9f1585cb03866452e0df61a83c88302181e50054"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jun 27 09:40:57 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jun 27 09:40:57 2008 +0100"
      },
      "message": "[GFS2] Fix module building\n\nTwo lines missed from the previous patch.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "31fcba00fe7145527b159f8893ec6c9cc61309fd",
      "tree": "6fef1dc1b20166b881356159d9ac8208a9335978",
      "parents": [
        "b2cad26cfc2091050574a460b304ed103a35dbda"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jun 04 15:06:21 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jun 27 09:39:50 2008 +0100"
      },
      "message": "[GFS2] Remove all_list from lock_dlm\n\nI discovered that we had a list onto which every lock_dlm\nlock was being put. Its only function was to discover whether\nwe\u0027d got any locks left after umount. Since there was already\na counter for that purpose as well, I removed the list. The\nsaving is sizeof(struct list_head) per glock - well worth\nhaving.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    }
  ],
  "next": "b2cad26cfc2091050574a460b304ed103a35dbda"
}
