)]}'
{
  "log": [
    {
      "commit": "f16a5e347835c6a0ba958535cf6e6c89d50463b8",
      "tree": "41d2e7784f57212a3f910690e00dcd1707a7e47f",
      "parents": [
        "110b93842e36b17598cf24874e90d0401431cda2",
        "7df0e0397b9a18358573274db9fdab991941062f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:17:51 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:17:51 2010 -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: Fix permissions checking for setflags ioctl()\n  GFS2: Don\u0027t \"get\" xattrs for ACLs when ACLs are turned off\n  GFS2: Rework reclaiming unlinked dinodes\n"
    },
    {
      "commit": "7df0e0397b9a18358573274db9fdab991941062f",
      "tree": "2cfad1129b631ade909dc75e32a0ea48f3899a28",
      "parents": [
        "f72f2d2e2f3238e4dedf4afb5f9945b3227dd87e"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon May 24 14:36:48 2010 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon May 24 14:36:48 2010 +0100"
      },
      "message": "GFS2: Fix permissions checking for setflags ioctl()\n\nWe should be checking for the ownership of the file for which\nflags are being set, rather than just for write access.\n\nReported-by: Dan Rosenberg \u003cdan.j.rosenberg@gmail.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e8bebe2f71d26871b0970ae1d9cf0ed3cdd9569d",
      "tree": "c0d82cbd11daaf579b74121c6641d58947091094",
      "parents": [
        "6109e2ce2600e2db26cd0424bb9c6ed019723288",
        "82f3952c02add60b15eea9151d4d99b6b82066c6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 19:37:45 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 19:37:45 2010 -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: (69 commits)\n  fix handling of offsets in cris eeprom.c, get rid of fake on-stack files\n  get rid of home-grown mutex in cris eeprom.c\n  switch ecryptfs_write() to struct inode *, kill on-stack fake files\n  switch ecryptfs_get_locked_page() to struct inode *\n  simplify access to ecryptfs inodes in -\u003ereadpage() and friends\n  AFS: Don\u0027t put struct file on the stack\n  Ban ecryptfs over ecryptfs\n  logfs: replace inode uid,gid,mode initialization with helper function\n  ufs: replace inode uid,gid,mode initialization with helper function\n  udf: replace inode uid,gid,mode init with helper\n  ubifs: replace inode uid,gid,mode initialization with helper function\n  sysv: replace inode uid,gid,mode initialization with helper function\n  reiserfs: replace inode uid,gid,mode initialization with helper function\n  ramfs: replace inode uid,gid,mode initialization with helper function\n  omfs: replace inode uid,gid,mode initialization with helper function\n  bfs: replace inode uid,gid,mode initialization with helper function\n  ocfs2: replace inode uid,gid,mode initialization with helper function\n  nilfs2: replace inode uid,gid,mode initialization with helper function\n  minix: replace inode uid,gid,mode init with helper\n  ext4: replace inode uid,gid,mode init with helper\n  ...\n\nTrivial conflict in fs/fs-writeback.c (mark bitfields unsigned)\n"
    },
    {
      "commit": "b7bb0a12913a582dbb0954bf463b1152b540c1a6",
      "tree": "fa0d945d9e7e66d403ab7d7d2997a4405cc32e92",
      "parents": [
        "537d81ca7c5338e4f13f3e7e7b50e87ba293ec68"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu May 13 17:53:23 2010 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri May 21 18:31:20 2010 -0400"
      },
      "message": "gfs: constify xattr_handler\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ee9a3607fb03e804ddf624544105f4e34260c380",
      "tree": "ce41b6e0fa10982a306f6c142a92dbf3c9961284",
      "parents": [
        "b492e95be0ae672922f4734acf3f5d35c30be948",
        "d515e86e639890b33a09390d062b0831664f04a2"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 21 21:27:26 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 21 21:27:26 2010 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into for-2.6.35\n\nConflicts:\n\tfs/ext3/fsync.c\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c472b43275976512e4c1c32da5ced03f339cb380",
      "tree": "9159fbfd1190456e8b3e699b856022c23f6ec10c",
      "parents": [
        "b9b2dd36c1bc64430f8e13990ab135cbecc10076"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu May 06 17:05:17 2010 -0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri May 21 19:30:44 2010 +0200"
      },
      "message": "quota: unify -\u003eset_dqblk\n\nPass the larger struct fs_disk_quota to the -\u003eset_dqblk operation so\nthat the Q_SETQUOTA and Q_XSETQUOTA operations can be implemented\nwith a single filesystem operation and we can retire the -\u003eset_xquota\noperation.  The additional information (RT-subvolume accounting and\nwarn counts) are left zero for the VFS quota implementation.\n\nAdd new fieldmask values for setting the numer of blocks and inodes\nvalues which is required for the VFS quota, but wasn\u0027t for XFS.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "b9b2dd36c1bc64430f8e13990ab135cbecc10076",
      "tree": "051bb6a238c9ff98fe135de3e8591c65cf242d46",
      "parents": [
        "0636c73ee7b129f77f577aaaefc8dde057be6d18"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu May 06 17:04:58 2010 -0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri May 21 19:30:43 2010 +0200"
      },
      "message": "quota: unify -\u003eget_dqblk\n\nPass the larger struct fs_disk_quota to the -\u003eget_dqblk operation so\nthat the Q_GETQUOTA and Q_XGETQUOTA operations can be implemented\nwith a single filesystem operation and we can retire the -\u003eget_xquota\noperation.  The additional information (RT-subvolume accounting and\nwarn counts) are left zero for the VFS quota implementation.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "f72f2d2e2f3238e4dedf4afb5f9945b3227dd87e",
      "tree": "e5258ca011187b090c8cccb1caa109fabeb9c06b",
      "parents": [
        "ed4878e8a4f550fd357ce5144cfd412015f6a111"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri May 21 16:12:27 2010 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri May 21 16:12:27 2010 +0100"
      },
      "message": "GFS2: Don\u0027t \"get\" xattrs for ACLs when ACLs are turned off\n\nThis is to match ext3 behaviour. We should not allow getting of\nxattrs relating to ACLs when ACLs are turned off.\n\nReported-by: Nate Straz \u003cnstraz@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "ed4878e8a4f550fd357ce5144cfd412015f6a111",
      "tree": "897124839ad6b529c42601037dee74d16abe941a",
      "parents": [
        "d7dbf4ffee1c7a17e2e5b5f01efe76fbd1671db6"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Thu May 20 23:30:11 2010 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri May 21 16:11:36 2010 +0100"
      },
      "message": "GFS2: Rework reclaiming unlinked dinodes\n\nThe previous patch I wrote for reclaiming unlinked dinodes\nhad some shortcomings and did not prevent all hangs.\nThis version is much cleaner and more logical, and has\npassed very difficult testing.  Sorry for the churn.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "677abe49ad017679627af9d3bbd9a7ecb3d94c42",
      "tree": "7cdb7fbc95b51b288e923a3978e17ed2207a4118",
      "parents": [
        "e90e4d9234c953b29267cc4fc9ad804128773313",
        "6a99be5d7b5973767b1ffa4fa68fed0738589c99"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 07:29:15 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 07:29:15 2010 -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 typo\n  GFS2: stuck in inode wait, no glocks stuck\n  GFS2: Eliminate useless err variable\n  GFS2: Fix writing to non-page aligned gfs2_quota structures\n  GFS2: Add some useful messages\n  GFS2: fix quota state reporting\n  GFS2: Various gfs2_logd improvements\n  GFS2: glock livelock\n  GFS2: Clean up stuffed file copying\n  GFS2: docs update\n  GFS2: Remove space from slab cache name\n"
    },
    {
      "commit": "6a99be5d7b5973767b1ffa4fa68fed0738589c99",
      "tree": "e6cd980dd2d334a3e9d5c26ea2ef646e022c1f04",
      "parents": [
        "cc0581bd6132984641e47809552fc9d5dfcadbcf"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri May 14 14:05:51 2010 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri May 14 14:05:51 2010 +0100"
      },
      "message": "GFS2: Fix typo\n\nA missing ! in a test.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "cc0581bd6132984641e47809552fc9d5dfcadbcf",
      "tree": "21a75ca6f00e99661d679a09c5c8e01e8e61c40e",
      "parents": [
        "eaefbf968a83a160324225fb2ac9c49e56c86515"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Tue May 11 17:58:11 2010 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed May 12 09:55:39 2010 +0100"
      },
      "message": "GFS2: stuck in inode wait, no glocks stuck\n\nThis patch changes the lock ordering when gfs2 reclaims\nunlinked dinodes, thereby avoiding a livelock.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n\n"
    },
    {
      "commit": "eaefbf968a83a160324225fb2ac9c49e56c86515",
      "tree": "94a03a08890c3c7e7c6f421aad8f9ddf0db72a1c",
      "parents": [
        "7e619bc3e6252dc746f64ac3b486e784822e9533"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Tue May 11 17:35:34 2010 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed May 12 09:52:50 2010 +0100"
      },
      "message": "GFS2: Eliminate useless err variable\n\nThis patch removes an unneeded \"err\" variable that is always\nreturned as zero.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e \nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "7e619bc3e6252dc746f64ac3b486e784822e9533",
      "tree": "0e9432a16983352117366fb4ecd8de41a6dfcfc3",
      "parents": [
        "913a71d250803130eac523e7a2b6439e31a0bc83"
      ],
      "author": {
        "name": "Abhijith Das",
        "email": "adas@redhat.com",
        "time": "Fri May 07 17:50:18 2010 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon May 10 13:07:11 2010 +0100"
      },
      "message": "GFS2: Fix writing to non-page aligned gfs2_quota structures\n\nThis is the upstream fix for this bug. This patch differs\nfrom the RHEL5 fix (Red Hat bz #555754) which simply writes to the 8-byte\nvalue field of the quota. In upstream quota code, we\u0027re\nrequired to write the entire quota (88 bytes) which can be split\nacross a page boundary. We check for such quotas, and read/write\nthe two parts from/to the corresponding pages holding these parts.\n\nWith this patch, I don\u0027t see the bug anymore using the reproducer\nin Red Hat bz 555754. I successfully ran a couple of simple tests/mounts/\numounts and it doesn\u0027t seem like this patch breaks anything else.\n\nSigned-off-by: Abhi Das \u003cadas@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n\n"
    },
    {
      "commit": "913a71d250803130eac523e7a2b6439e31a0bc83",
      "tree": "5a5c51a5651c49d21cb6f88c63dc063df12acff7",
      "parents": [
        "ad6bb90f3401556469489f237cb08626d88703d2"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu May 06 11:03:29 2010 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu May 06 11:03:29 2010 +0100"
      },
      "message": "GFS2: Add some useful messages\n\nThe following patch adds a message to indicate when barriers have been\ndisabled due to a block device which doesn\u0027t support them. You could\nalready tell this via the mount options in /proc/mounts, but all the\nother filesystems also log a message at the same time.\n\nAlso, the same mechanisms are used to indicate when the lock\ndemote interface has been used (only ever used for debugging)\nwhich is a request from our support team.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "ad6bb90f3401556469489f237cb08626d88703d2",
      "tree": "1736b515db4b5362d381e9829914c2a8bdad6533",
      "parents": [
        "5e687eac1bd31baed110d239ef827d3ba666f311"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed May 05 00:10:56 2010 +0200"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed May 05 09:39:55 2010 +0100"
      },
      "message": "GFS2: fix quota state reporting\n\nWe need to report both the accounting and enforcing flags if we are\nin enforcing mode.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n\n"
    },
    {
      "commit": "5e687eac1bd31baed110d239ef827d3ba666f311",
      "tree": "71f596b87f60a1d15372fdcfabf3305faa4a57d7",
      "parents": [
        "1a0eae8848cde6e0734360f6456496c995ee1e23"
      ],
      "author": {
        "name": "Benjamin Marzinski",
        "email": "bmarzins@redhat.com",
        "time": "Tue May 04 14:29:16 2010 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed May 05 09:39:18 2010 +0100"
      },
      "message": "GFS2: Various gfs2_logd improvements\n\nThis patch contains various tweaks to how log flushes and active item writeback\nwork. gfs2_logd is now managed by a waitqueue, and gfs2_log_reseve now waits\nfor gfs2_logd to do the log flushing.  Multiple functions were rewritten to\nremove the need to call gfs2_log_lock(). Instead of using one test to see if\ngfs2_logd had work to do, there are now seperate tests to check if there\nare two many buffers in the incore log or if there are two many items on the\nactive items list.\n\nThis patch is a port of a patch Steve Whitehouse wrote about a year ago, with\nsome minor changes.  Since gfs2_ail1_start always submits all the active items,\nit no longer needs to keep track of the first ai submitted, so this has been\nremoved. In gfs2_log_reserve(), the order of the calls to\nprepare_to_wait_exclusive() and wake_up() when firing off the logd thread has\nbeen switched.  If it called wake_up first there was a small window for a race,\nwhere logd could run and return before gfs2_log_reserve was ready to get woken\nup. If gfs2_logd ran, but did not free up enough blocks, gfs2_log_reserve()\nwould be left waiting for gfs2_logd to eventualy run because it timed out.\nFinally, gt_logd_secs, which controls how long to wait before gfs2_logd times\nout, and flushes the log, can now be set on mount with ar_commit.\n\nSigned-off-by: Benjamin Marzinski \u003cbmarzins@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n\n"
    },
    {
      "commit": "fbd9b09a177a481eda256447c881f014f29034fe",
      "tree": "ef7e213045382f82a1e3e3cf134d196a1045dd7a",
      "parents": [
        "6b4517a7913a09d3259bb1d21c9cb300f12294bd"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Wed Apr 28 17:55:06 2010 +0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 28 19:47:36 2010 +0200"
      },
      "message": "blkdev: generalize flags for blkdev_issue_fn functions\n\nThe patch just convert all blkdev_issue_xxx function to common\nset of flags. Wait/allocation semantics preserved.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1a0eae8848cde6e0734360f6456496c995ee1e23",
      "tree": "536f944468ef5bc6f47ec09325422adbc5a3907a",
      "parents": [
        "602c89d2e3e8652f94a697c9a919be739b9bcdd5"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Wed Apr 14 11:58:16 2010 -0400"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Apr 14 16:48:05 2010 +0100"
      },
      "message": "GFS2: glock livelock\n\nThis patch fixes a couple gfs2 problems with the reclaiming of\nunlinked dinodes.  First, there were a couple of livelocks where\neverything would come to a halt waiting for a glock that was\nseemingly held by a process that no longer existed.  In fact, the\nprocess did exist, it just had the wrong pid number in the holder\ninformation.  Second, there was a lock ordering problem between\ninode locking and glock locking.  Third, glock/inode contention\ncould sometimes cause inodes to be improperly marked invalid by\niget_failed.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "602c89d2e3e8652f94a697c9a919be739b9bcdd5",
      "tree": "791c0f4ea2b1f9028f7fdf60dbedd42fa0f8ce06",
      "parents": [
        "4cb947b59c5835783fb96aad2f7d92b1e4250aff"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Mar 25 14:32:43 2010 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 29 14:29:17 2010 +0100"
      },
      "message": "GFS2: Clean up stuffed file copying\n\nIf the inode size was corrupt for stuffed files, it was possible\nfor the copying of data to overrun the block and/or page. This patch\nchecks for that condition so that this is no longer possible.\n\nThis is also preparation for the new truncate sequence patch which\nrequires the ability to have stuffed files with larger sizes than\n(disk block size - sizeof(on disk inode)) with the restriction that\nonly the initial part of the file may be non-zero.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "7c9a84a57b57978f0ea0d2dc16394d75a781e6a5",
      "tree": "92068c1ac21cb811f2e021858cd410ed8356c2f1",
      "parents": [
        "b72c40949b0f04728f2993a1434598d3bad094ea"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Mar 12 17:05:31 2010 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 29 14:26:49 2010 +0100"
      },
      "message": "GFS2: Remove space from slab cache name\n\nApparently this might confuse parsers.\n\nReported-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "8cea4eb642890a1de58980e7e1617d1765ef8f7c",
      "tree": "ea43bc34715d854c599743bf226437339bed1beb",
      "parents": [
        "122ce878dc189860a380539bde19498bf93443a7",
        "720e7749279bde0d08684b1bb4e7a2eedeec6394"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:38:53 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:38:53 2010 -0800"
      },
      "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: Skip check for mandatory locks when unlocking\n  GFS2: Allow the number of committed revokes to temporarily be negative\n  GFS2: do not select QUOTA\n"
    },
    {
      "commit": "c32da02342b7521df25fefc2ef20aee0e61cf887",
      "tree": "7e38f664fa3e13602c357d37f77d8adcf82fccc2",
      "parents": [
        "dca1d9f6d7ae428c193f32bd3e9a4ca13176648b",
        "318ae2edc3b29216abd8a2510f3f80b764f06858"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 16:04:50 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 16:04:50 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (56 commits)\n  doc: fix typo in comment explaining rb_tree usage\n  Remove fs/ntfs/ChangeLog\n  doc: fix console doc typo\n  doc: cpuset: Update the cpuset flag file\n  Fix of spelling in arch/sparc/kernel/leon_kernel.c no longer needed\n  Remove drivers/parport/ChangeLog\n  Remove drivers/char/ChangeLog\n  doc: typo - Table 1-2 should refer to \"status\", not \"statm\"\n  tree-wide: fix typos \"ass?o[sc]iac?te\" -\u003e \"associate\" in comments\n  No need to patch AMD-provided drivers/gpu/drm/radeon/atombios.h\n  devres/irq: Fix devm_irq_match comment\n  Remove reference to kthread_create_on_cpu\n  tree-wide: Assorted spelling fixes\n  tree-wide: fix \u0027lenght\u0027 typo in comments and code\n  drm/kms: fix spelling in error message\n  doc: capitalization and other minor fixes in pnp doc\n  devres: typo fix s/dev/devm/\n  Remove redundant trailing semicolons from macros\n  fix typo \"definetly\" -\u003e \"definitely\" in comment\n  tree-wide: s/widht/width/g typo in comments\n  ...\n\nFix trivial conflict in Documentation/laptops/00-INDEX\n"
    },
    {
      "commit": "720e7749279bde0d08684b1bb4e7a2eedeec6394",
      "tree": "894b5b4695fa6e6a7f86101bad1862a0cd623fe8",
      "parents": [
        "2e95e3f668c85276ce699993596d3b52b0fcf4c5"
      ],
      "author": {
        "name": "Sachin Prabhu",
        "email": "sprabhu@redhat.com",
        "time": "Thu Mar 11 12:24:45 2010 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Mar 11 17:17:57 2010 +0000"
      },
      "message": "GFS2: Skip check for mandatory locks when unlocking\n\ngfs2_lock() will skip locks on file which have mode set to 02666. This is a problem in cases where the mode of the file is changed after a process has obtained a lock on the file. Such a lock will be skipped and will result in a BUG in locks_remove_flock().\n\ngfs2_lock() should skip the check for mandatory locks when unlocking a file.\n\nSigned-off-by: Sachin Prabhu \u003csprabhu@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "2e95e3f668c85276ce699993596d3b52b0fcf4c5",
      "tree": "07b4fee61babe92111e1cafb3a30e99b6bdd4934",
      "parents": [
        "e9edb1d8a345119c9baafa1b240eb1ec06a44662"
      ],
      "author": {
        "name": "Benjamin Marzinski",
        "email": "bmarzins@redhat.com",
        "time": "Wed Mar 10 18:10:19 2010 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Mar 11 09:50:46 2010 +0000"
      },
      "message": "GFS2: Allow the number of committed revokes to temporarily be negative\n\nGFS2 tracks the number of revokes and unrevokes that are part of committed\ntransactions via sd_log_commited_revoke. It is possible for one process to add\nrevokes during its transaction, while another process unrevokes them during its\ntransaction. If the second process finishes its transaction first,\nsd_log_commited_revoke will be decremented by the number of unrevokes that the\nsecond process did, without first being incremented by the number of revokes\nthe first process did. This is fine, since all started transactions must be\ncompleted before the journal can be flushed.  However, sd_log_commited_revoke\nis an unsigned integer, and log_refund() causes an assertion failure if it\nwould go negative at the end of a transaction.  This patch makes\nsd_log_commited_revoke a signed integer and allows it to go negative.\n__gfs2_log_flush() still checks that it mataches the actual number of revokes.\n\nSigned-off-by: Benjamin Marzinski \u003cbmarzins@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e9edb1d8a345119c9baafa1b240eb1ec06a44662",
      "tree": "6229089205329e812cfd12387aae748c309f264c",
      "parents": [
        "57d54889cd00db2752994b389ba714138652e60c"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 03 08:53:51 2010 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Mar 09 10:08:36 2010 +0000"
      },
      "message": "GFS2: do not select QUOTA\n\ngfs2 only needs the quotactl code, not the generic quota implementation.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "318ae2edc3b29216abd8a2510f3f80b764f06858",
      "tree": "ce595adde342f57f379d277b25e4dd206988a052",
      "parents": [
        "25cf84cf377c0aae5dbcf937ea89bc7893db5176",
        "3e58974027b04e84f68b964ef368a6cd758e2f84"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "message": "Merge branch \u0027for-next\u0027 into for-linus\n\nConflicts:\n\tDocumentation/filesystems/proc.txt\n\tarch/arm/mach-u300/include/mach/debug-macro.S\n\tdrivers/net/qlge/qlge_ethtool.c\n\tdrivers/net/qlge/qlge_main.c\n\tdrivers/net/typhoon.c\n"
    },
    {
      "commit": "52cf25d0ab7f78eeecc59ac652ed5090f69b619e",
      "tree": "031d1ffb3890bd69c0260c864c512e0be62ac05c",
      "parents": [
        "6c1733aca0b48db4d0e660d54976a1cca25b5eaf"
      ],
      "author": {
        "name": "Emese Revfy",
        "email": "re.emese@gmail.com",
        "time": "Tue Jan 19 02:58:23 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:49 2010 -0800"
      },
      "message": "Driver core: Constify struct sysfs_ops in struct kobj_type\n\nConstify struct sysfs_ops.\n\nThis is part of the ops structure constification\neffort started by Arjan van de Ven et al.\n\nBenefits of this constification:\n\n * prevents modification of data that is shared\n   (referenced) by many other structure instances\n   at runtime\n\n * detects/prevents accidental (but not intentional)\n   modification attempts on archs that enforce\n   read-only kernel data at runtime\n\n * potentially better optimized code as the compiler\n   can assume that the const data cannot be changed\n\n * the compiler/linker move const data into .rodata\n   and therefore exclude them from false sharing\n\nSigned-off-by: Emese Revfy \u003cre.emese@gmail.com\u003e\nAcked-by: David Teigland \u003cteigland@redhat.com\u003e\nAcked-by: Matt Domsch \u003cMatt_Domsch@dell.com\u003e\nAcked-by: Maciej Sosnowski \u003cmaciej.sosnowski@intel.com\u003e\nAcked-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9cd43611ccfb46632bfa7d19f688924ea93f1613",
      "tree": "e11ecee403235ba9d8855892fa7ad55d9b63e221",
      "parents": [
        "985fc176a6c03836454629be2f2a611ccc7c7002"
      ],
      "author": {
        "name": "Emese Revfy",
        "email": "re.emese@gmail.com",
        "time": "Thu Dec 31 14:52:51 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:49 2010 -0800"
      },
      "message": "kobject: Constify struct kset_uevent_ops\n\nConstify struct kset_uevent_ops.\n\nThis is part of the ops structure constification\neffort started by Arjan van de Ven et al.\n\nBenefits of this constification:\n\n * prevents modification of data that is shared\n   (referenced) by many other structure instances\n   at runtime\n\n * detects/prevents accidental (but not intentional)\n   modification attempts on archs that enforce\n   read-only kernel data at runtime\n\n * potentially better optimized code as the compiler\n   can assume that the const data cannot be changed\n\n * the compiler/linker move const data into .rodata\n   and therefore exclude them from false sharing\n\nSigned-off-by: Emese Revfy \u003cre.emese@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e213e26ab3988c516c06eba4dcd030ac052f6dc9",
      "tree": "6e26fbdbb842b387697d73daf6e70cf718269a77",
      "parents": [
        "c812a51d11bbe983f4c24e32b59b265705ddd3c2",
        "efd8f0e6f6c1faa041f228d7113bd3a9db802d49"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 05 13:20:53 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 05 13:20:53 2010 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6: (33 commits)\n  quota: stop using QUOTA_OK / NO_QUOTA\n  dquot: cleanup dquot initialize routine\n  dquot: move dquot initialization responsibility into the filesystem\n  dquot: cleanup dquot drop routine\n  dquot: move dquot drop responsibility into the filesystem\n  dquot: cleanup dquot transfer routine\n  dquot: move dquot transfer responsibility into the filesystem\n  dquot: cleanup inode allocation / freeing routines\n  dquot: cleanup space allocation / freeing routines\n  ext3: add writepage sanity checks\n  ext3: Truncate allocated blocks if direct IO write fails to update i_size\n  quota: Properly invalidate caches even for filesystems with blocksize \u003c pagesize\n  quota: generalize quota transfer interface\n  quota: sb_quota state flags cleanup\n  jbd: Delay discarding buffers in journal_unmap_buffer\n  ext3: quota_write cross block boundary behaviour\n  quota: drop permission checks from xfs_fs_set_xstate/xfs_fs_set_xquota\n  quota: split out compat_sys_quotactl support from quota.c\n  quota: split out netlink notification support from quota.c\n  quota: remove invalid optimization from quota_sync_all\n  ...\n\nFixed trivial conflicts in fs/namei.c and fs/ufs/inode.c\n"
    },
    {
      "commit": "a9185b41a4f84971b930c519f0c63bd450c4810d",
      "tree": "268cf4e206cca12fb9e1dd68984e7c190e465b46",
      "parents": [
        "26821ed40b4230259e770c9911180f38fcaa6f59"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Mar 05 09:21:37 2010 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 05 13:25:52 2010 -0500"
      },
      "message": "pass writeback_control to -\u003ewrite_inode\n\nThis gives the filesystem more information about the writeback that\nis happening.  Trond requested this for the NFS unstable write handling,\nand other filesystems might benefit from this too by beeing able to\ndistinguish between the different callers in more detail.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5fb324ad24febe57a8a2e62903dcb7bad546ea71",
      "tree": "f49d1b8b7fe9feffbdd1afba18047001f5d7228f",
      "parents": [
        "8c4e4acd660a09e571a71583b5bbe1eee700c9ad"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Feb 16 03:44:52 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:24 2010 +0100"
      },
      "message": "quota: move code from sync_quota_sb into vfs_quota_sync\n\nCurrenly sync_quota_sb does a lot of sync and truncate action that only\napplies to \"VFS\" style quotas and is actively harmful for the sync\nperformance in XFS.  Move it into vfs_quota_sync and add a wait parameter\nto -\u003equota_sync to tell if we need it or not.\n\nMy audit of the GFS2 code says it\u0027s also not needed given the way GFS2\nimplements quotas, but I\u0027d be happy if this can get a detailed review.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "0f2cc4ecd81dc1917a041dc93db0ada28f8356fa",
      "tree": "f128b50f48f50f0cda6d2b20b53e9ad6e2dfded3",
      "parents": [
        "1fae4cfb97302289bb5df6a8195eb28385d0b002",
        "9643f5d94aadd47a5fa9754fb60f2c957de05903"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 04 08:15:33 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 04 08:15:33 2010 -0800"
      },
      "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: (52 commits)\n  init: Open /dev/console from rootfs\n  mqueue: fix typo \"failues\" -\u003e \"failures\"\n  mqueue: only set error codes if they are really necessary\n  mqueue: simplify do_open() error handling\n  mqueue: apply mathematics distributivity on mq_bytes calculation\n  mqueue: remove unneeded info-\u003emessages initialization\n  mqueue: fix mq_open() file descriptor leak on user-space processes\n  fix race in d_splice_alias()\n  set S_DEAD on unlink() and non-directory rename() victims\n  vfs: add NOFOLLOW flag to umount(2)\n  get rid of -\u003emnt_parent in tomoyo/realpath\n  hppfs can use existing proc_mnt, no need for do_kern_mount() in there\n  Mirror MS_KERNMOUNT in -\u003emnt_flags\n  get rid of useless vfsmount_lock use in put_mnt_ns()\n  Take vfsmount_lock to fs/internal.h\n  get rid of insanity with namespace roots in tomoyo\n  take check for new events in namespace (guts of mounts_poll()) to namespace.c\n  Don\u0027t mess with generic_permission() under -\u003ed_lock in hpfs\n  sanitize const/signedness for udf\n  nilfs: sanitize const/signedness in dealing with -\u003ed_name.name\n  ...\n\nFix up fairly trivial (famous last words...) conflicts in\ndrivers/infiniband/core/uverbs_main.c and security/tomoyo/realpath.c\n"
    },
    {
      "commit": "c177c2ac8c5aa83ed181db44543c3b38fd1f17a6",
      "tree": "76d0c342d83a8a24586dda2e39884bdf18c855df",
      "parents": [
        "8737c9305bd5602b11f7eb4655d5695d4a42a0c6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jan 14 00:59:16 2010 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 03 13:00:22 2010 -0500"
      },
      "message": "Switch gfs2 to nd_set_link()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4818972efb105730f007e5efc05e203a065fc318",
      "tree": "65db0a0dab39e428d1ed95926ccfb6f2a4fa16bd",
      "parents": [
        "e5884636da3a128617032747654284ae7badc7ff"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Tue Feb 23 12:20:00 2010 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 01 14:09:04 2010 +0000"
      },
      "message": "GFS2: print glock numbers in hex\n\nThis patch changes glock numbers from printing in decimal to hex.\nSince DLM prints corresponding resource IDs in hex, it makes debugging\neasier.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e5884636da3a128617032747654284ae7badc7ff",
      "tree": "39c82c529a112d4b894e9eb9552817f03d3d67f5",
      "parents": [
        "1ccaba3056796ab1f933736d763ffcd1958866cd"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Fri Feb 05 16:45:25 2010 +1100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 01 14:08:26 2010 +0000"
      },
      "message": "GFS2: ordered writes are backwards\n\nWhen we queue data buffers for ordered write, the buffers are added\nto the head of the ordered write list. When the log needs to push\nthese buffers to disk, it also walks the list from the head. The\nresult is that the the ordered buffers are submitted to disk in\nreverse order.\n\nFor large writes, this means that whenever the log flushes large\nstreams of reverse sequential order buffers are pushed down into the\nblock layers. The elevators don\u0027t handle this particularly well, so\nIO rates tend to be significantly lower than if the IO was issued in\nascending block order.\n\nQueue new ordered buffers to the tail of the ordered buffer list to\nensure that IO is dispatched in the order it was submitted. This\nshould significantly improve large sequential write speeds. On a\ndisk capable of 85MB/s, speeds increase from 50MB/s to 65MB/s for\nnoop and from 38MB/s to 50MB/s for cfq.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "c1184f8ab7ea26681f3cab18284a870aad678b0f",
      "tree": "fec6b61ba9b1aa16aab0d1dfabf63a21bbe47ac7",
      "parents": [
        "009d851837ab26cab18adda6169a813f70b0b21b"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 08 16:14:29 2010 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 01 14:07:53 2010 +0000"
      },
      "message": "GFS2: Remove loopy umount code\n\nAs a consequence of the previous patch, we can now remove the\nloop which used to be required due to the circular dependency\nbetween the inodes and glocks. Instead we can just invalidate\nthe inodes, and then clear up any glocks which are left.\n\nAlso we no longer need the rwsem since there is no longer any\ndanger of the inode invalidation calling back into the glock\ncode (and from there back into the inode code).\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "009d851837ab26cab18adda6169a813f70b0b21b",
      "tree": "073bc05e3a8c527bf9ce3332e2c2f6694484984d",
      "parents": [
        "30ff056c42c665b9ea535d8515890857ae382540"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Dec 08 12:12:13 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 01 14:07:37 2010 +0000"
      },
      "message": "GFS2: Metadata address space clean up\n\nSince the start of GFS2, an \"extra\" inode has been used to store\nthe metadata belonging to each inode. The only reason for using\nthis inode was to have an extra address space, the other fields\nwere unused. This means that the memory usage was rather inefficient.\n\nThe reason for keeping each inode\u0027s metadata in a separate address\nspace is that when glocks are requested on remote nodes, we need to\nbe able to efficiently locate the data and metadata which relating\nto that glock (inode) in order to sync or sync and invalidate it\n(depending on the remotely requested lock mode).\n\nThis patch adds a new type of glock, which has in addition to\nits normal fields, has an address space. This applies to all\ninode and rgrp glocks (but to no other glock types which remain\nas before). As a result, we no longer need to have the second\ninode.\n\nThis results in three major improvements:\n 1. A saving of approx 25% of memory used in caching inodes\n 2. A removal of the circular dependency between inodes and glocks\n 3. No confusion between \"normal\" and \"metadata\" inodes in super.c\n\nAlthough the first of these is the more immediately apparent, the\nsecond is just as important as it now enables a number of clean\nups at umount time. Those will be the subject of future patches.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "07ccb7bf2c928fef4fea2cda69ba2e23479578db",
      "tree": "6aee126126d3a1245b5b9f79abe2101098392187",
      "parents": [
        "0e5a9fb0426108d750c97c25b1ab04d3768b5aff"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Feb 12 10:10:55 2010 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Feb 12 10:16:14 2010 +0000"
      },
      "message": "GFS2: Fix bmap allocation corner-case bug\n\nThis patch solves a corner case during allocation which occurs if both\nmetadata (indirect) and data blocks are required but there is an\nobstacle in the filesystem (e.g. a resource group header or another\nallocated block) such that when the allocation is requested only\nenough blocks for the metadata are returned.\n\nBy changing the exit condition of this loop, we ensure that a\nminimum of one data block will always be returned.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "0e5a9fb0426108d750c97c25b1ab04d3768b5aff",
      "tree": "99a3b2f6ff12b9e55b6590210d0a5ef8e852156b",
      "parents": [
        "676ad585531e965416fd958747894541dabcec96"
      ],
      "author": {
        "name": "Abhijith Das",
        "email": "adas@redhat.com",
        "time": "Fri Feb 05 18:25:41 2010 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Feb 12 10:15:51 2010 +0000"
      },
      "message": "GFS2: Fix error code\n\nWe need this one-liner to signal the mount helper of the \u0027insufficient journals\u0027 condition.\n\nSigned-off-by: Abhijith Das \u003cadas@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "3ad2f3fbb961429d2aa627465ae4829758bc7e07",
      "tree": "f365c513e8f5b477a61336a600ff54f32b7ad6e1",
      "parents": [
        "1537a3638cbf741d3826c1002026cce487a6bee0"
      ],
      "author": {
        "name": "Daniel Mack",
        "email": "daniel@caiaq.de",
        "time": "Wed Feb 03 08:01:28 2010 +0800"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Feb 09 11:13:56 2010 +0100"
      },
      "message": "tree-wide: Assorted spelling fixes\n\nIn particular, several occurances of funny versions of \u0027success\u0027,\n\u0027unknown\u0027, \u0027therefore\u0027, \u0027acknowledge\u0027, \u0027argument\u0027, \u0027achieve\u0027, \u0027address\u0027,\n\u0027beginning\u0027, \u0027desirable\u0027, \u0027separate\u0027 and \u0027necessary\u0027 are fixed.\n\nSigned-off-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Junio C Hamano \u003cgitster@pobox.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "8f05228ee7c8f409ae3c6f9c3e13d7ccb9c18360",
      "tree": "34e8cf87485edf4ecb6878ade96704975e5d5bf5",
      "parents": [
        "e402746a945ceb9d0486a8e3d5917c9228fa4404"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 29 15:21:27 2010 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Feb 03 09:56:21 2010 +0000"
      },
      "message": "GFS2: Extend umount wait coverage to full glock lifetime\n\nAlthough all glocks are, by the time of the umount glock wait,\nscheduled for demotion, some of them haven\u0027t made it far\nenough through the process for the original set of waiting\ncode to wait for them.\n\nThis extends the ref count to the whole glock lifetime in order\nto ensure that the waiting does catch all glocks. It does make\nit a bit more invasive, but it seems the only sensible solution\nat the moment.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e402746a945ceb9d0486a8e3d5917c9228fa4404",
      "tree": "c2e6c4d619c1cf35e97b16a9849517871c15d97b",
      "parents": [
        "1a45dcfe2525e9432cb4aba461d4994fc2befe42"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 25 11:20:19 2010 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Feb 03 09:47:04 2010 +0000"
      },
      "message": "GFS2: Wait for unlock completion on umount\n\nThis patch adds a wait on umount between the point at which we\ndispose of all glocks and the point at which we unmount the\nlock protocol. This ensures that we\u0027ve received all the replies\nto our unlock requests before we stop the locking.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nReported-by: Fabio M. Di Nitto \u003cfdinitto@redhat.com\u003e\n"
    },
    {
      "commit": "ea8d62dadd0217334fb2c5d60e7f89e14076ca10",
      "tree": "f8cb57f71f97152782b77fcc8a76cf6b00756dd6",
      "parents": [
        "7fe3ec6fe58d2bfe97fe7a5d731c29299a8ffd35"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 29 15:48:57 2010 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 01 10:01:34 2010 +0000"
      },
      "message": "GFS2: Use GFP_NOFS for alloc structure\n\nThis is called under a glock, so its a good plan to use GFP_NOFS\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "7fe3ec6fe58d2bfe97fe7a5d731c29299a8ffd35",
      "tree": "11f06ae31f0f1f843ca6db94318c168ac2e0b2b2",
      "parents": [
        "55f0b4c546d1c87cccba63dc0fc5eb70e2b41733"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 29 15:20:34 2010 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 01 10:00:23 2010 +0000"
      },
      "message": "GFS2: Fix previous patch\n\nThe do_div() call needs to remain.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "55f0b4c546d1c87cccba63dc0fc5eb70e2b41733",
      "tree": "c6343de5ed38538f7f9b572c4fc3155edad9db79",
      "parents": [
        "0f585f14d4e34ab701283e9237ac7695cd7c9e31"
      ],
      "author": {
        "name": "Benjamin Marzinski",
        "email": "bmarzins@redhat.com",
        "time": "Mon Jan 25 11:23:24 2010 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 01 09:59:54 2010 +0000"
      },
      "message": "GFS2: Don\u0027t withdraw on partial rindex entries\n\nince gfs2 writes the rindex file a block at a time, and releases the\nexclusive lock after each block, it is possible that another process\nwill grab the lock in the middle of the write.  Since rindex entries are\nnot an even divisor of blocks, that other process may see partial\nentries.  On grows, this is fine.  The process can simply ignore the the\npartial entires. Previously, the code withdrew when it saw partial\nentries. Now it simply ignores them.\n\nSigned-off-by: Benjamin Marzinski \u003cbmarzins@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "0f585f14d4e34ab701283e9237ac7695cd7c9e31",
      "tree": "7ded56c8f9ddc84d4930a5a9f0f52c9b1464f6e1",
      "parents": [
        "066000dd856709b6980123eb39b957fe26993f7b"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Tue Jan 12 03:36:57 2010 +0900"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jan 12 09:30:15 2010 +0000"
      },
      "message": "GFS2: Fix refcnt leak on gfs2_follow_link() error path\n\nIf -\u003efollow_link handler return the error, it should decrement\nnd-\u003epath refcnt.\n\nThis patch fix it.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "ba198098a21a5dc8885fddfb308135bc2f138003",
      "tree": "69202dabd5fd67b46da9ed8af230b8adb98c2b21",
      "parents": [
        "e412bdb1260d13ec5e7b90b537fec2179d6f8989"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 08 13:44:49 2010 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 11 08:57:55 2010 +0000"
      },
      "message": "GFS2: Use MAX_LFS_FILESIZE for meta inode size\n\nUsing ~0ULL was cauing sign issues in filemap_fdatawrite_range, so\nuse MAX_LFS_FILESIZE instead.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e412bdb1260d13ec5e7b90b537fec2179d6f8989",
      "tree": "cf0a89cfefd556c414c5b4a1f47b71ad7218865a",
      "parents": [
        "24b977b5fdea09bf356428870d32c09a275c8a3e"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Dec 21 13:55:28 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 08 13:42:59 2010 +0000"
      },
      "message": "GFS2: Fix gfs2_xattr_acl_chmod()\n\nThe ref counting for the bh returned by gfs2_ea_find() was\nwrong. This patch ensures that we always drop the ref count\nto that bh correctly.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "24b977b5fdea09bf356428870d32c09a275c8a3e",
      "tree": "60b93ab4d8ac034952d658a35057d5e729bd331a",
      "parents": [
        "56aa616a03feca630d5afce647367a5d8cfc67b8"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Dec 09 13:55:12 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 08 13:42:42 2010 +0000"
      },
      "message": "GFS2: Fix locking bug in rename\n\nThe rename code was taking a resource group lock in cases where\nit wasn\u0027t actually needed, this caused problems if the rename\nwas resulting in an inode being unlinked. The patch ensures that\nwe only take the rgrp lock early if it is really needed.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "56aa616a03feca630d5afce647367a5d8cfc67b8",
      "tree": "a4b4feb0d2ac0f329b98748445adb90a6458a2e9",
      "parents": [
        "74d2e4f8d79ae0c4b6ec027958d5b18058662eea"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Dec 08 10:25:33 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Jan 08 13:42:27 2010 +0000"
      },
      "message": "GFS2: Ensure uptodate inode size when using O_APPEND\n\nThe VFS reads the inode size during generic_file_aio_write() but\nwith no locking around it. In order to get the expected result\nfrom O_APPEND opens, this patch updated the inode size before\ncalling generic_file_aio_write()\n\nThere is of course still a race here, in that there is nothing to\nprevent another node coming in and extending the file in the\nmean time. On the other hand, when used with file locking this\nwill ensure that the expected results are obtained.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "b6e3224fb20954f155e41ec5709b2ab70b50ae2d",
      "tree": "96302d1b564c879779b9cc5d7aae7c3c4471ed14",
      "parents": [
        "a2770d86b33024f71df269fde2de096df89d6a48"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 13:23:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 13:23:24 2009 -0800"
      },
      "message": "Revert \"task_struct: make journal_info conditional\"\n\nThis reverts commit e4c570c4cb7a95dbfafa3d016d2739bf3fdfe319, as\nrequested by Alexey:\n\n \"I think I gave a good enough arguments to not merge it.\n  To iterate:\n   * patch makes impossible to start using ext3 on EXT3_FS\u003dn kernels\n     without reboot.\n   * this is done only for one pointer on task_struct\"\n\n  None of config options which define task_struct are tristate directly\n  or effectively.\"\n\nRequested-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eaff8079d4f1016a12e34ab323737314f24127dd",
      "tree": "a3d9e00320c6195e55811d5247a521f99341a411",
      "parents": [
        "7a0ad10c367ab57c899d340372f37880cbe6ab52"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Dec 17 14:25:01 2009 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 17 11:03:25 2009 -0500"
      },
      "message": "kill I_LOCK\n\nAfter I_SYNC was split from I_LOCK the leftover is always used together with\nI_NEW and thus superflous.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "431547b3c4533b8c7fd150ab36980b9a3147797b",
      "tree": "807ff2790f3c13c7c91ed2afd6d833032899482d",
      "parents": [
        "ef26ca97e83052790940cbc444b01b0d17a813c1"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Nov 13 09:52:56 2009 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 16 12:16:49 2009 -0500"
      },
      "message": "sanitize xattr handler prototypes\n\nAdd a flags argument to struct xattr_handler and pass it to all xattr\nhandler methods.  This allows using the same methods for multiple\nhandlers, e.g. for the ACL methods which perform exactly the same action\nfor the access and default ACLs, just using a different underlying\nattribute.  With a little more groundwork it\u0027ll also allow sharing the\nmethods for the regular user/trusted/secure handlers in extN, ocfs2 and\njffs2 like it\u0027s already done for xfs in this patch.\n\nAlso change the inode argument to the handlers to a dentry to allow\nusing the handlers mechnism for filesystems that require it later,\ne.g. cifs.\n\n[with GFS2 bits updated by Steven Whitehouse \u003cswhiteho@redhat.com\u003e]\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f0b34ae63488fecf0ec4ab42024d607917f90c45",
      "tree": "680173ff8790fa8082eaddfba0f55d7a43e3d50e",
      "parents": [
        "7b75c2f8cf6d938b571d3bc3f566f883ab7472c4"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Dec 14 18:01:13 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:33 2009 -0800"
      },
      "message": "fs/gfs2/sys.c: use %pUB to print UUIDs\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e4c570c4cb7a95dbfafa3d016d2739bf3fdfe319",
      "tree": "ce2be0a79fa2e8d8271426f0fc27b25e83c050b4",
      "parents": [
        "8420e7efa1cf155765c6d77c91d3e3547c7aa557"
      ],
      "author": {
        "name": "Hiroshi Shimamoto",
        "email": "h-shimamoto@ct.jp.nec.com",
        "time": "Mon Dec 14 18:00:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:27 2009 -0800"
      },
      "message": "task_struct: make journal_info conditional\n\njournal_info in task_struct is used in journaling file system only.  So\nintroduce CONFIG_FS_JOURNAL_INFO and make it conditional.\n\nSigned-off-by: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: KONISHI Ryusuke \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "26bb7505cf7db3560286be9f6384b6d3911f78b5",
      "tree": "0fcdf84b70a9effe7ab9c661dca74b6a4b4afb31",
      "parents": [
        "c29cd9004e72acb5a6cb8caf08508f1c5edee686"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Nov 27 10:31:11 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 12:00:12 2009 +0000"
      },
      "message": "GFS2: Fix glock refcount issues\n\nThis patch fixes some ref counting issues. Firstly by moving\nthe point at which we drop the ref count after a dlm lock\noperation has completed we ensure that we never call\ngfs2_glock_hold() on a lock with a zero ref count.\n\nSecondly, by using atomic_dec_and_lock() in gfs2_glock_put()\nwe ensure that at no time will a glock with zero ref count\nappear on the lru_list. That means that we can remove the\ncheck for this in our shrinker (which was racy).\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "c29cd9004e72acb5a6cb8caf08508f1c5edee686",
      "tree": "f2cf39f10f99b551b7feddf759ab7775d6db8b9a",
      "parents": [
        "9ae3c6de6981a1e8765b5d029f94555fc0f0fea0"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Wed Nov 18 18:09:41 2009 +0800"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:59:17 2009 +0000"
      },
      "message": "writeback: remove unused nonblocking and congestion checks (gfs2)\n\nNo one is calling wb_writeback and write_cache_pages with\nwbc.nonblocking\u003d1 any more. And lumpy pageout will want to do\nnonblocking writeback without the congestion wait.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "9ae3c6de6981a1e8765b5d029f94555fc0f0fea0",
      "tree": "de903f8b904281ff44cc5ca0ec62b4f8e0010af2",
      "parents": [
        "0ab7d13fcbd7ce1658c563e345990ba453719deb"
      ],
      "author": {
        "name": "Benjamin Marzinski",
        "email": "bmarzins@redhat.com",
        "time": "Tue Nov 10 12:54:56 2009 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:59:03 2009 +0000"
      },
      "message": "GFS2: drop rindex glock to refresh rindex list\n\nWhen a gfs2 filesystem is grown, it needs to rebuild the rindex list to be able\nto use the new space.  gfs2 does this when the rindex is marked not uptodate,\nwhich happens when the rindex glock is dropped.  However, on a single node\nsetup, there is never any reason to drop the rindex glock, so gfs2 never\ninvalidates the the rindex. This patch makes gfs2 automatically drop the\nrindex glock after filesystem grows, so it can refresh the rindex list.\n\nSigned-off-by: Benjamin Marzinski \u003cbmarzins@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "0ab7d13fcbd7ce1658c563e345990ba453719deb",
      "tree": "5db7f97c264883765da4a9c6324019f0cf746e44",
      "parents": [
        "2c77634965ee28c8b4790ffb5e83dd5ff7ac8988"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Nov 06 16:20:51 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:58:47 2009 +0000"
      },
      "message": "GFS2: Tag all metadata with jid\n\nThere are two spare field in the header common to all GFS2\nmetadata. One is just the right size to fit a journal id\nin it, and this patch updates the journal code so that each\ntime a metadata block is modified, we tag it with the journal\nid of the node which is performing the modification.\n\nThe reason for this is that it should make it much easier to\ndebug issues which arise if we can tell which node was the\nlast to modify a particular metadata block.\n\nSince the field is updated before the block is written into\nthe journal, each journal should only contain metadata which\nis tagged with its own journal id. The one exception to this\nis the journal header block, which might have a different node\u0027s\nid in it, if that journal was recovered by another node in the\ncluster.\n\nThus each journal will contain a record of which nodes recovered\nit, via the journal header.\n\nThe other field in the metadata header could potentially be\nused to hold information about what kind of operation was\nperformed, but for the time being we just zero it on each\ntransaction so that if we use it for that in future, we\u0027ll\nknow that the information (where it exists) is reliable.\n\nI did consider using the other field to hold the journal\nsequence number, however since in GFS2\u0027s journaling we write\nthe modified data into the journal and not the original\ndata, this gives no information as to what action caused the\nmodification, so I think we can probably come up with a better\nuse for those 64 bits in the future.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "2c77634965ee28c8b4790ffb5e83dd5ff7ac8988",
      "tree": "d8b32167ae8cdeca4be7977ee416359f9c9f5543",
      "parents": [
        "1579343a73e32b5886e186e8f3e4db85e420ed3f"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Nov 06 11:10:51 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:57:41 2009 +0000"
      },
      "message": "GFS2: Locking order fix in gfs2_check_blk_state\n\nIn some cases we already have the rindex lock when\nwe enter this function.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "1579343a73e32b5886e186e8f3e4db85e420ed3f",
      "tree": "6bfe6aa71c9326a4f636b1fdfbecc809fa1d96a2",
      "parents": [
        "cdcfde62dac64c86ff34e483c595d568a252c433"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Nov 06 11:06:37 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:57:23 2009 +0000"
      },
      "message": "GFS2: Remove dirent_first() function\n\nThis function only had one caller left, and that caller only\ncalled it for leaf blocks, hence one branch of the \"if\" was\nnever taken. In addition the call to get_left had already\nverified the metadata type, so the function can be reduced\nto a single line of code in its caller.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "cdcfde62dac64c86ff34e483c595d568a252c433",
      "tree": "fc8c3d5d4475df414772781513af673fc63e9928",
      "parents": [
        "f25934c5f88655a8d5c3c40a540daed1f0e6dedc"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Oct 30 10:48:53 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:57:05 2009 +0000"
      },
      "message": "GFS2: Display nobarrier option in /proc/mounts\n\nSince the default is barriers on, this only displays the\nnobarrier option when that is active.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "f25934c5f88655a8d5c3c40a540daed1f0e6dedc",
      "tree": "a21e1ab167314292ffe2e3b319c8d5abf5faccd7",
      "parents": [
        "c14f5735e724cb5338ca8298d42b1658008a10d7"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 30 08:03:27 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:55:54 2009 +0000"
      },
      "message": "GFS2: add barrier/nobarrier mount options\n\nCurrently gfs2 issues barrier unconditionally.  There are various reasons\nto disable them, be that just for testing or for stupid devices flushing\nlarge battert backed caches.  Add a nobarrier option that matches xfs and\nbtrfs for this.  Also add a symmetric barrier option to turn it back on\nat remount time.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "c14f5735e724cb5338ca8298d42b1658008a10d7",
      "tree": "74c198fe29824440a8fd52463fe9f326718da7cd",
      "parents": [
        "3d3c10f2ce80d2a19e5e02023c2b7ab7086c36d5"
      ],
      "author": {
        "name": "Benjamin Marzinski",
        "email": "bmarzins@redhat.com",
        "time": "Mon Oct 26 13:29:47 2009 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:55:32 2009 +0000"
      },
      "message": "GFS2: remove division from new statfs code\n\nIt\u0027s not necessary to do any 64bit division for the statfs sync code, so\nremove it.\n\nSigned-off-by: Benjamin Marzinski \u003cbmarzins@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "3d3c10f2ce80d2a19e5e02023c2b7ab7086c36d5",
      "tree": "56b62b064457596caf66700323ff5aac2320ae93",
      "parents": [
        "2ec4650526c5a94d96bb760001fe0685b15988de"
      ],
      "author": {
        "name": "Benjamin Marzinski",
        "email": "bmarzins@redhat.com",
        "time": "Tue Oct 20 02:39:44 2009 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:55:17 2009 +0000"
      },
      "message": "GFS2: Improve statfs and quota usability\n\nGFS2 now has three new mount options, statfs_quantum, quota_quantum and\nstatfs_percent.  statfs_quantum and quota_quantum simply allow you to\nset the tunables of the same name.  Setting setting statfs_quantum to 0\nwill also turn on the statfs_slow tunable.  statfs_percent accepts an\ninteger between 0 and 100.  Numbers between 1 and 100 will cause GFS2 to\ndo any early sync when the local number of blocks free changes by at\nleast statfs_percent from the totoal number of blocks free.  Setting\nstatfs_percent to 0 disables this.\n\nSigned-off-by: Benjamin Marzinski \u003cbmarzins@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "2ec4650526c5a94d96bb760001fe0685b15988de",
      "tree": "0903ed60100f27968364b6cd9bff94141648ed00",
      "parents": [
        "86e931a35e93d94e6e91b57cc76456e16d188ea9"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 28 12:49:15 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:53:28 2009 +0000"
      },
      "message": "GFS2: Use dquot_send_warning()\n\nThis adds support to GFS2 to send quota warnings via netlink.\nAlso it removes a stray \\r which was left over from when the\ncode used to print warnings on the console.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e285c100362762f7440643be637dd332460fdc75",
      "tree": "03d8ba11e5c9c0c43fafd88c38e996f32a6ac2d1",
      "parents": [
        "113d6b3c99bf30d8083068d00e3c7304d91d4845"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Sep 23 13:50:49 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:52:43 2009 +0000"
      },
      "message": "GFS2: Add set_xquota support\n\nThis patch adds the ability to set GFS2 quota limit and\nwarning levels via the XFS quota API.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "113d6b3c99bf30d8083068d00e3c7304d91d4845",
      "tree": "77c46b298307f8ce44998ee50d791ee736cf0faa",
      "parents": [
        "1e72c0f7c40e665d2ed40014750fdd2fa9968bcf"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 28 11:52:16 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:52:21 2009 +0000"
      },
      "message": "GFS2: Add get_xquota support\n\nThis adds support for viewing the current GFS2 quota settings\nvia the XFS quota API. The setting of quotas will be addressed\nin a later patch. Fields which are not supported here are left\nset to zero.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nReviewed-by: Bob Peterson \u003crpeterso@redhat.com\u003e\n"
    },
    {
      "commit": "1e72c0f7c40e665d2ed40014750fdd2fa9968bcf",
      "tree": "89d8ef6d7b822ac17699a3c51a1c59c654aaf676",
      "parents": [
        "6a6ada81e4ffc222bf7e54ea7503c7cc98b4f0d8"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 15 20:42:56 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:51:05 2009 +0000"
      },
      "message": "GFS2: Clean up gfs2_adjust_quota() and do_glock()\n\nBoth of these functions contained confusing and in one case\nduplicate code. This patch adds a new check in do_glock()\nso that we report -ENOENT if we are asked to sync a quota\nentry which doesn\u0027t exist. Due to the previous patch this is\nnow reported correctly to userspace.\n\nAlso there are a few new comments, and I hope that the code\nis easier to understand now.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "6a6ada81e4ffc222bf7e54ea7503c7cc98b4f0d8",
      "tree": "499596295831a822090b57a16a072fad25ced852",
      "parents": [
        "33a82529e7007ed7beceebc6b3f3cddadb5b67f0"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 15 16:30:38 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:50:51 2009 +0000"
      },
      "message": "GFS2: Remove constant argument from qd_get()\n\nThis function was only ever called with the \"create\"\nargument set to true, so we can remove it.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "33a82529e7007ed7beceebc6b3f3cddadb5b67f0",
      "tree": "41746a2eee267900fdb8b636f1b8b2208509a671",
      "parents": [
        "ea7623385930c63e2a35749cff9db72094cd06ad"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 15 16:25:40 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:50:20 2009 +0000"
      },
      "message": "GFS2: Remove constant argument from qdsb_get()\n\nThe \"create\" argument to qdsb_get() was only ever set to true,\nso this patch removes that argument.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "ea7623385930c63e2a35749cff9db72094cd06ad",
      "tree": "7ece734b87ee3e344283e35035f62deca0cadd1d",
      "parents": [
        "1d371b5e179d943491a5fddad211cb317f38a142"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 15 16:20:30 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:50:03 2009 +0000"
      },
      "message": "GFS2: Add proper error reporting to quota sync via sysfs\n\nFor some reason, the errors were not making it to userspace.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "1d371b5e179d943491a5fddad211cb317f38a142",
      "tree": "f443630d8cd86925c76f1da99471fae1047ab225",
      "parents": [
        "91094d0fb650decd8bf48b85d86c892d7ca913ee"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Sep 11 15:57:27 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:49:49 2009 +0000"
      },
      "message": "GFS2: Add get_xstate quota function\n\nThis allows querying of the quota state via the XFS quota\nAPI.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "91094d0fb650decd8bf48b85d86c892d7ca913ee",
      "tree": "ed3b0ba8e852e8491d203df07766e4c37ed12d87",
      "parents": [
        "cc632e7f93465597896862cf9e50baefb1999215"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Sep 11 15:21:56 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:49:30 2009 +0000"
      },
      "message": "GFS2: Remove obsolete code in quota.c\n\nThere is no point in testing for GLF_DEMOTE here, we might as\nwell always release the glock at that point.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "cc632e7f93465597896862cf9e50baefb1999215",
      "tree": "4a4a98f86e4fbfc5d127f2059c658ce2da1a87b0",
      "parents": [
        "8c42d637f6f2859e0fb28b78d5add7f0dc6d0973"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 15 09:59:02 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:49:09 2009 +0000"
      },
      "message": "GFS2: Hook gfs2_quota_sync into VFS via gfs2_quotactl_ops\n\nThe plan is to add further operations to the gfs2_quotactl_ops\nin future patches. The sync operation is easy, so we start with\nthat one.\n\nWe plan to use the XFS quota control functions because they more\nclosely match the GFS2 ones.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "8c42d637f6f2859e0fb28b78d5add7f0dc6d0973",
      "tree": "eacae41209e1f3947b255495a5ad13a9e6e1d1db",
      "parents": [
        "ab201832f75f58c8f5093436363f80ffa4a4c9a8"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Sep 11 14:36:44 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:48:54 2009 +0000"
      },
      "message": "GFS2: Alter arguments of gfs2_quota/statfs_sync\n\nThese two functions are altered so that gfs2_quota_sync may\nin future be called directly from the VFS. The GFS2 superblock\nchanges to a VFS super block and there is an addition of an int\nargument which is currently ignored.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "106381bfba997b83b64f68f2210e154162fc38e6",
      "tree": "1968f519563faaa1c27e3162e007646bbaaaedc8",
      "parents": [
        "479c427dd60fe1aadbbf2e6cbf2f84942baeb210"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 29 16:26:23 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:47:51 2009 +0000"
      },
      "message": "GFS2: Add cached ACLs support\n\nThe other patches in this series have been building towards\nbeing able to support cached ACLs like other filesystems. The\nonly real difference with GFS2 is that we have to invalidate\nthe cache when we drop a glock, but that is dealt with in earlier\npatches.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "479c427dd60fe1aadbbf2e6cbf2f84942baeb210",
      "tree": "0f51cf8e107d599c2e5c3b63bcdb2b17243dc7c4",
      "parents": [
        "69dca42464962d8d0989b7e09877ba644c9cba66"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Oct 02 12:00:00 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:47:35 2009 +0000"
      },
      "message": "GFS2: Clean up ACLs\n\nTo prepare for support for caching of ACLs, this cleans up the GFS2\nACL support by pushing the xattr code back into xattr.c and changing\nthe acl_get function into one which only returns ACLs so that we\ncan drop the caching function into it shortly.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "69dca42464962d8d0989b7e09877ba644c9cba66",
      "tree": "83ab9a2054781750239ec3b9f9db921166a39160",
      "parents": [
        "c65f7fb5342ecb8cb85e9b676327b3a43a5a4735"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 29 12:40:19 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:45:54 2009 +0000"
      },
      "message": "GFS2: Use gfs2_set_mode() instead of munge_mode()\n\nThese two functions do the same thing, so lets only use\none of them.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "c65f7fb5342ecb8cb85e9b676327b3a43a5a4735",
      "tree": "97ce229e5a0a7b8730e2fc68388107960f218e79",
      "parents": [
        "796bd9524731850967d437b7f47a86acc776ea89"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Oct 02 11:54:39 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:45:37 2009 +0000"
      },
      "message": "GFS2: Use forget_all_cached_acls()\n\nInvalidate all the cached ACLs when we drop the glock.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "2646a1f61a3b5525914757f10fa12b5b94713648",
      "tree": "9f6b7bdad5fb85963cbf05d2215f960b7ac3beaa",
      "parents": [
        "f55073ff1eaf99f6b3bc62134a456638bca043a3"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Oct 02 11:50:54 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:43:05 2009 +0000"
      },
      "message": "GFS2: Fix up system xattrs\n\nThis code has been shamelessly stolen from XFS at the suggestion\nof Christoph Hellwig. I\u0027ve not added support for cached ACLs so\nfar... watch for that in a later patch, although this is designed\nin such a way that they should be easy to add.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "f55073ff1eaf99f6b3bc62134a456638bca043a3",
      "tree": "9637792f97494de2336f17a90a756e91c7d25527",
      "parents": [
        "7e71c55ee73988d0cb61045660b899eaac23bf8f"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 28 10:30:49 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:42:47 2009 +0000"
      },
      "message": "GFS2: Fix -o meta mounts for subsequent mounts (i.e. all but the first one)\n\nWe have a long term plan to use the \"-o meta\" flag to GFS2 mounts to\naccess the alternate root which is used to store metadata for a GFS2\nfilesystem. This will allow us to eventually remove support for the\ngfs2meta filesystem type (which is in any case just a \"front end\" to\nthe gfs2 filesystem type with the meta/master root).\n\nCurrently the \"-o meta\" option is only taken into account on the\ninitial mount of the filesystem. Subsequent mounts of the same\nfilesystem (i.e. on the same device) result in basically the same\nas bind mounting the root of the original mount.\n\nThis patch changes that by using what is more or less a copy\nof get_sb_bdev() and extending it so that it will take into\naccount the alternate root in all cases. The main difference\nis that we have to parse the mount options a bit earlier. We can\nthen use them to select the appropriate root towards the end of\nthe function.\n\nIn addition this also fixes a bug where it was possible (but certainly\nnot desirable) to set different ro/rw options for the meta root\nwhen mounted via the gfs2meta fs compared with the original mount.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Alexander Viro \u003caviro@redhat.com\u003e\n"
    },
    {
      "commit": "7e71c55ee73988d0cb61045660b899eaac23bf8f",
      "tree": "ef96dc44cd067cc758a8df0408ba36818c9ebc35",
      "parents": [
        "22763c5cf3690a681551162c15d34d935308c8d7"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 22 10:56:16 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:42:25 2009 +0000"
      },
      "message": "GFS2: Fix potential race in glock code\n\nWe need to be careful of the ordering between clearing the\nGLF_LOCK bit and scheduling the workqueue.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "1c2ea8a2c0b71cc5e07f518370d458d692c9b21a",
      "tree": "3a4acbf6b21bfd560dece24916b951e4639d3632",
      "parents": [
        "0109d7e614e016a842569628116f54847a177f6e"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 20 21:50:40 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 20 21:50:40 2009 +0000"
      },
      "message": "SLOW_WORK: Fix GFS2 to #include \u003clinux/module.h\u003e before using THIS_MODULE\n\nGFS2 has been altered to pass THIS_MODULE to slow_work_register_user(), but\nhasn\u0027t been altered to #include \u003clinux/module.h\u003e to provide it, resulting in\nthe following error:\n\n\tfs/gfs2/recovery.c:596: error: \u0027THIS_MODULE\u0027 undeclared here (not in a function)\n\nAdd the missing #include.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "3d7a641e544e428191667e8b1f83f96fa46dbd65",
      "tree": "172aa672eca96b94f5531885b82abb82b43c7d8a",
      "parents": [
        "66b00a7c93ec782d118d2c03bd599cfd041e80a1"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:23 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:23 2009 +0000"
      },
      "message": "SLOW_WORK: Wait for outstanding work items belonging to a module to clear\n\nWait for outstanding slow work items belonging to a module to clear when\nunregistering that module as a user of the facility.  This prevents the put_ref\ncode of a work item from being taken away before it returns.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "f0f37e2f77731b3473fa6bd5ee53255d9a9cdb40",
      "tree": "3c26d3ed1a453156e9c208ccb5567a8954dba064",
      "parents": [
        "6f5071020d5ec89b5d095aa488db604adb921aec"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Sep 27 22:29:37 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 27 11:39:25 2009 -0700"
      },
      "message": "const: mark struct vm_struct_operations\n\n* mark struct vm_area_struct::vm_ops as const\n* mark vm_ops in AGP code\n\nBut leave TTM code alone, something is fishy there with global vm_ops\nbeing used.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "db16826367fefcb0ddb93d76b66adc52eb4e6339",
      "tree": "626224c1eb1eb79c522714591f208b4fdbdcd9d4",
      "parents": [
        "cd6045138ed1bb5d8773e940d51c34318eef3ef2",
        "465fdd97cbe16ef8727221857e96ef62dd352017"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:53:22 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:53:22 2009 -0700"
      },
      "message": "Merge branch \u0027hwpoison\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6\n\n* \u0027hwpoison\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6: (21 commits)\n  HWPOISON: Enable error_remove_page on btrfs\n  HWPOISON: Add simple debugfs interface to inject hwpoison on arbitary PFNs\n  HWPOISON: Add madvise() based injector for hardware poisoned pages v4\n  HWPOISON: Enable error_remove_page for NFS\n  HWPOISON: Enable .remove_error_page for migration aware file systems\n  HWPOISON: The high level memory error handler in the VM v7\n  HWPOISON: Add PR_MCE_KILL prctl to control early kill behaviour per process\n  HWPOISON: shmem: call set_page_dirty() with locked page\n  HWPOISON: Define a new error_remove_page address space op for async truncation\n  HWPOISON: Add invalidate_inode_page\n  HWPOISON: Refactor truncate to allow direct truncating of page v2\n  HWPOISON: check and isolate corrupted free pages v2\n  HWPOISON: Handle hardware poisoned pages in try_to_unmap\n  HWPOISON: Use bitmask/action code for try_to_unmap behaviour\n  HWPOISON: x86: Add VM_FAULT_HWPOISON handling to x86 page fault handler v2\n  HWPOISON: Add poison check to page fault handling\n  HWPOISON: Add basic support for poisoned pages in fault handler v3\n  HWPOISON: Add new SIGBUS error codes for hardware poison signals\n  HWPOISON: Add support for poison swap entries v2\n  HWPOISON: Export some rmap vma locking to outside world\n  ...\n"
    },
    {
      "commit": "2bcd57ab61e7cabed626226a3771617981c11ce1",
      "tree": "687c0c35fb2a632cb8c56b2729f9c3873c9461bd",
      "parents": [
        "95e0d86badc410d525ea7218fd32df7bfbf9c837"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Sep 24 04:22:25 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 18:13:10 2009 -0700"
      },
      "message": "headers: utsname.h redux\n\n* remove asm/atomic.h inclusion from linux/utsname.h --\n   not needed after kref conversion\n * remove linux/utsname.h inclusion from files which do not need it\n\nNOTE: it looks like fs/binfmt_elf.c do not need utsname.h, however\ndue to some personality stuff it _is_ needed -- cowardly leave ELF-related\nheaders and files alone.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fd589a8f0a13f53a2dd580b1fe170633cf6b095f",
      "tree": "942c50188ca58041b0453189e710eafcfebaea57",
      "parents": [
        "4f37940d64a155c025968118849b596f6aaa8128"
      ],
      "author": {
        "name": "Anand Gadiyar",
        "email": "gadiyar@ti.com",
        "time": "Thu Jul 16 17:13:03 2009 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Sep 21 15:14:55 2009 +0200"
      },
      "message": "trivial: fix typo \"to to\" in multiple files\n\nSigned-off-by: Anand Gadiyar \u003cgadiyar@ti.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "aa261f549d7652258331ebb12795f3bc4395d213",
      "tree": "0ca807db32a6e3f213fa52b5a053d2b27e5e6bac",
      "parents": [
        "6a46079cf57a7f7758e8b926980a4f852f89b34d"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Wed Sep 16 11:50:16 2009 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Wed Sep 16 11:50:16 2009 +0200"
      },
      "message": "HWPOISON: Enable .remove_error_page for migration aware file systems\n\nEnable removing of corrupted pages through truncation\nfor a bunch of file systems: ext*, xfs, gfs2, ocfs2, ntfs\nThese should cover most server needs.\n\nI chose the set of migration aware file systems for this\nfor now, assuming they have been especially audited.\nBut in general it should be safe for all file systems\non the data area that support read/write and truncate.\n\nCaveat: the hardware error handler does not take i_mutex\nfor now before calling the truncate function. Is that ok?\n\nCc: tytso@mit.edu\nCc: hch@infradead.org\nCc: mfasheh@suse.com\nCc: aia21@cantab.net\nCc: hugh.dickins@tiscali.co.uk\nCc: swhiteho@redhat.com\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\n"
    },
    {
      "commit": "355bbd8cb82e60a592f6cd86ce6dbe5677615cf4",
      "tree": "23678e50ad4687f1656edc972388ee8014e7b89d",
      "parents": [
        "39695224bd84dc4be29abad93a0ec232a16fc519",
        "746cd1e7e4a555ddaee53b19a46e05c9c61eaf09"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 17:55:15 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 17:55:15 2009 -0700"
      },
      "message": "Merge branch \u0027for-2.6.32\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.32\u0027 of git://git.kernel.dk/linux-2.6-block: (29 commits)\n  block: use blkdev_issue_discard in blk_ioctl_discard\n  Make DISCARD_BARRIER and DISCARD_NOBARRIER writes instead of reads\n  block: don\u0027t assume device has a request list backing in nr_requests store\n  block: Optimal I/O limit wrapper\n  cfq: choose a new next_req when a request is dispatched\n  Seperate read and write statistics of in_flight requests\n  aoe: end barrier bios with EOPNOTSUPP\n  block: trace bio queueing trial only when it occurs\n  block: enable rq CPU completion affinity by default\n  cfq: fix the log message after dispatched a request\n  block: use printk_once\n  cciss: memory leak in cciss_init_one()\n  splice: update mtime and atime on files\n  block: make blk_iopoll_prep_sched() follow normal 0/1 return convention\n  cfq-iosched: get rid of must_alloc flag\n  block: use interrupts disabled version of raise_softirq_irqoff()\n  block: fix comment in blk-iopoll.c\n  block: adjust default budget for blk-iopoll\n  block: fix long lines in block/blk-iopoll.c\n  block: add blk-iopoll, a NAPI like approach for block devices\n  ...\n"
    },
    {
      "commit": "86d006365610fe6cda243d89b67d5047dca44656",
      "tree": "7ddc920e35524759f004cb4c5766ccb506044321",
      "parents": [
        "2b88f7c535a8125213def012a67c1b0a667ceb2e"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 14 09:50:57 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 14 09:50:57 2009 +0100"
      },
      "message": "GFS2: Whitespace fixes\n\nReported-by: Daniel Walker \u003cdwalker@fifo99.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "746cd1e7e4a555ddaee53b19a46e05c9c61eaf09",
      "tree": "d129194669e0122113a5cc86003a4a7711450284",
      "parents": [
        "3d2257f157c2324acbc0fa0fa54e8626a987edd2"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Sep 12 07:35:43 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Sep 14 08:24:53 2009 +0200"
      },
      "message": "block: use blkdev_issue_discard in blk_ioctl_discard\n\nblk_ioctl_discard duplicates large amounts of code from blkdev_issue_discard,\nthe only difference between the two is that blkdev_issue_discard needs to\nsend a barrier discard request and blk_ioctl_discard a non-barrier one,\nand blk_ioctl_discard needs to wait on the request.  To facilitates this\nadd a flags argument to blkdev_issue_discard to control both aspects of the\nbehaviour.  This will be very useful later on for using the waiting\nfuncitonality for other callers.\n\nBased on an earlier patch from Matthew Wilcox \u003cmatthew@wil.cx\u003e.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2b88f7c535a8125213def012a67c1b0a667ceb2e",
      "tree": "9351a2c0a444c5054bf9b4744f37b3ac30a2ab32",
      "parents": [
        "acf7e2444acfaf4c8540603b76d71010eea3fc24"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Sep 09 15:59:35 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Sep 09 15:59:35 2009 +0100"
      },
      "message": "GFS2: Remove unused sysfs file\n\nThe /sys/fs/gfs2/\u003cfsname\u003e/lock_module/id file has been unused for\nsome time now, so we can remove it. We still accept the mount option\nthough, as userspace still sends that.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "acf7e2444acfaf4c8540603b76d71010eea3fc24",
      "tree": "7c31957ffbbb4008f368b8640c289f72657330a5",
      "parents": [
        "8d8291ae93ecb4a246e87e452d55cca412373300"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 08 18:00:30 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 08 18:00:30 2009 +0100"
      },
      "message": "GFS2: Be extra careful about deallocating inodes\n\nThere is a potential race in the inode deallocation code if two\nnodes try to deallocate the same inode at the same time. Most of\nthe issue is solved by the iopen locking. There is still a small\nwindow which is not covered by the iopen lock. This patches fixes\nthat and also makes the deallocation code more robust in the face of\nany errors in the rgrp bitmaps, or erroneous iopen callbacks from\nother nodes.\n\nThis does introduce one extra disk read, but that is generally not\nan issue since its the same block that must be written to later\nin the deallocation process. The total disk accesses therefore stay\nthe same,\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "8d8291ae93ecb4a246e87e452d55cca412373300",
      "tree": "ccf67c703fb9f9b2e4ee945f3221b8b20c1804db",
      "parents": [
        "307cf6e63cfa5025589ea1a06db44439a43819ff"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Aug 27 15:51:07 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Aug 27 15:51:07 2009 +0100"
      },
      "message": "GFS2: Remove no_formal_ino generating code\n\nThe inum structure used throughout GFS2 has two fields. One\nno_addr is the disk block number of the inode in question and\nis used everywhere as the inode number. The other, no_formal_ino,\nis used only as the generation number for NFS.\n\nHistorically the no_formal_ino field was set using a complicated\nsystem of one global and one per-node file containing inode numbers\nin order to ensure that each no_formal_ino was unique. Also this\ncode made no provision for what would happen when eventually the\n(64 bit) numbers ran out. Now I know that is pretty unlikely to\nhappen given the large space of numbers, but it is possible\nnevertheless.\n\nThe only guarantee required for no_formal_ino is that, for any\nsingle inode, the same number doesn\u0027t get reused too quickly.\n\nWe already have a generation number which is kept in the inode\nand initialised from a counter in the resource group (almost\nno overhead, since we have to touch the resource group anyway\nin order to allocate an inode in the first place). Aside from\nensuring that we never use the value 0 in the no_formal_ino\nfield, we can use that counter directly.\n\nAs a result of that change, we lose about 200 lines of code and\nalso gain about 10 creates/sec on the postmark benchmark (on\nmy test machine).\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "307cf6e63cfa5025589ea1a06db44439a43819ff",
      "tree": "a1c8be1c2af112dc055a16569487cdcd99ebfdb2",
      "parents": [
        "40b78a322365aa1d87770200f7fc7de3b361c11a"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Aug 26 18:51:04 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Aug 26 18:51:04 2009 +0100"
      },
      "message": "GFS2: Rename eattr.[ch] as xattr.[ch]\n\nUse the more conventional name for the extended attribute\nsupport code. Update all the places which care.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "40b78a322365aa1d87770200f7fc7de3b361c11a",
      "tree": "9e33daa30113741d9ef716f3723ac1d9690e33cf",
      "parents": [
        "b6ed2e03df1e2c6ee41cf0e2e2699f2410671916"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Aug 26 18:41:32 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Aug 26 18:41:32 2009 +0100"
      },
      "message": "GFS2: Clean up of extended attribute support\n\nThis has been on my list for some time. We need to change the way\nin which we handle extended attributes to allow faster file creation\ntimes (by reducing the number of transactions required) and the\nextended attribute code is the main obstacle to this.\n\nIn addition to that, the VFS provides a way to demultiplex the xattr\ncalls which we ought to be using, rather than rolling our own. This\npatch changes the GFS2 code to use that VFS feature and as a result\nthe code shrinks by a couple of hundred lines or so, and becomes\neasier to read.\n\nI\u0027m planning on doing further clean up work in this area, but this\npatch is a good start. The cleaned up code also uses the more usual\n\"xattr\" shorthand, I plan to eliminate the use of \"eattr\" eventually\nand in the mean time it serves as a flag as to which bits of the code\nhave been updated.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    }
  ],
  "next": "d34843d0c4a20872f3f3bfb510328bd043b939ff"
}
