)]}'
{
  "log": [
    {
      "commit": "64275ea4f33636de198da5c78d0dbe31522555b0",
      "tree": "5d8aeac9e74cb62afcccb804b089437f434f4b84",
      "parents": [
        "957d33fc1a3793e9ca8c24c6400271b924e46e19"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Wed Apr 30 17:11:16 2008 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 07:53:50 2008 -0700"
      },
      "message": "[XFS] Include linux/random.h in all builds, not just debug.\n\nNoted-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Dave Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "adaa693b845373296631766176ebf0f73a342e10",
      "tree": "afddfe9a7594a9b47ffb2362ff16f0af1a6f2197",
      "parents": [
        "c5acbaf43da139fe014d78d1f0ca7754fa856ddb"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Tue Apr 22 15:26:13 2008 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Tue Apr 29 16:08:44 2008 +1000"
      },
      "message": "[XFS] Fix build failure after enabling CONFIG_XFS_DEBUG\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "c5acbaf43da139fe014d78d1f0ca7754fa856ddb",
      "tree": "679d896fa52c3fe5711f917e3c3abd5dc1a318b0",
      "parents": [
        "3a738a5c73e0617d11b27ac46dd6a1a8f752017b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Apr 21 18:11:13 2008 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Tue Apr 29 16:08:27 2008 +1000"
      },
      "message": "[XFS] remove dmapi cruft in xfs_file.c\n\nThe dmapi cruft in xfs_file.c is totally out of date in mainline vs\nCVS, and at this point just removing this code which can\u0027t be used on\nmainline at all seems to be the best option to keep it maintainable.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "3a738a5c73e0617d11b27ac46dd6a1a8f752017b",
      "tree": "3fc1681b62e07bbbf98b1e656c567bc4e2580311",
      "parents": [
        "7788fae6cce616fe2c624273fcfe54cf50f5c38b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Apr 21 17:25:35 2008 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Tue Apr 29 16:08:14 2008 +1000"
      },
      "message": "[XFS] remove sendfile leftovers\n\nRemove the last sendfile leftovers in mainline.  This code is already\ngone in CVS.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "18d18208daced52123de9ba0808447058d3442d8",
      "tree": "bae04f5babd78c2c7db82b4958b03b43b83289df",
      "parents": [
        "ce46193bcaaf3c769718bcec6eae94719b8f53ed"
      ],
      "author": {
        "name": "Donald Douwsma",
        "email": "donaldd@sgi.com",
        "time": "Tue Apr 22 17:34:56 2008 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Tue Apr 29 15:57:49 2008 +1000"
      },
      "message": "[XFS] Fix broken HAVE_SPLICE removal commit.\n\nCommit e687330b5ed1ea899fdaf0dea50aba196b6e019a was meant to remove the\nunused HAVE_SPLICE macro, instead an unrelated change was checked enabling\nQUOTADEBUG when building DEBUG XFS. Restore the intended changes.\n\nSGI-PV: 971046\nSGI-Modid: xfs-linux-melb:xfs-kern:30924a\n\nSigned-off-by: Donald Douwsma \u003cdonaldd@sgi.com\u003e\nSigned-off-by: Barry Naujok \u003cbnaujok@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "d4d90b577ee5af5c1b29bd693aca026a77a1a2f1",
      "tree": "24f050ac11d3bad60f7910c63138c37c3214ca1f",
      "parents": [
        "e8b0ebaa115ac46b21622b103c29927f5805aeaa"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Apr 22 17:34:37 2008 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Tue Apr 29 15:57:11 2008 +1000"
      },
      "message": "[XFS] Add xfs_icsb_sync_counters_locked for when m_sb_lock already held\n\nAdd a new xfs_icsb_sync_counters_locked for the case where m_sb_lock\nis already taken and add a flags argument to xfs_icsb_sync_counters so\nthat xfs_icsb_sync_counters_flags is not needed.\n\nSGI-PV: 976035\nSGI-Modid: xfs-linux-melb:xfs-kern:30917a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "e8b0ebaa115ac46b21622b103c29927f5805aeaa",
      "tree": "8c19012d6efadfa17192d2b39bb73140ad3e7d45",
      "parents": [
        "5df78e73d328e870a1cd8a9e0f39bf094e42ce9d"
      ],
      "author": {
        "name": "Barry Naujok",
        "email": "bnaujok@sgi.com",
        "time": "Tue Apr 22 17:34:31 2008 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Tue Apr 29 15:54:55 2008 +1000"
      },
      "message": "[XFS] Cleanup xfs_attr a bit with xfs_name and remove cred\n\nSGI-PV: 976035\nSGI-Modid: xfs-linux-melb:xfs-kern:30913a\n\nSigned-off-by: Barry Naujok \u003cbnaujok@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "cfa853e47df4fbee441ac0ac3fb592f076233145",
      "tree": "7e4baafba5ee0f05561580c301c5d360236063f3",
      "parents": [
        "579aa9caf552c639fc78168db4cfe7ffcf00c3b3"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Apr 22 17:34:06 2008 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Tue Apr 29 15:54:12 2008 +1000"
      },
      "message": "[XFS] remove manual lookup from xfs_rename and simplify locking\n\n-\u003erename already gets the target inode passed if it exits. Pass it down to\nxfs_rename so that we can avoid looking it up again. Also simplify locking\nas the first lock section in xfs_rename can go away now: the isdir is an\ninvariant over the lifetime of the inode, and new_parent and the nlink\ncheck are namespace topology protected by i_mutex in the VFS. The projid\ncheck needs to move into the second lock section anyway to not be racy.\n\nAlso kill the now unused xfs_dir_lookup_int and remove the now-unused\nfirst_locked argumet to xfs_lock_inodes.\n\nSGI-PV: 976035\nSGI-Modid: xfs-linux-melb:xfs-kern:30903a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "579aa9caf552c639fc78168db4cfe7ffcf00c3b3",
      "tree": "2fb1e057487afe46d03bc536fcba380dc0117cfb",
      "parents": [
        "eca450b7c23f804597b87085b2a05bfc5b3ccb8b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Apr 22 17:34:00 2008 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Tue Apr 29 15:54:02 2008 +1000"
      },
      "message": "[XFS] shrink mrlock_t\n\nThe writer field is not needed for non_DEBU builds so remove it. While\nwe\u0027re at i also clean up the interface for is locked asserts to go through\nand xfs_iget.c helper with an interface like the xfs_ilock routines to\nisolated the XFS codebase from mrlock internals. That way we can kill\nmrlock_t entirely once rw_semaphores grow an islocked facility. Also\nremove unused flags to the ilock family of functions.\n\nSGI-PV: 976035\nSGI-Modid: xfs-linux-melb:xfs-kern:30902a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "6a7f422d47d4af461704ebb9d7a389d9e59766b2",
      "tree": "c51e1c699c364bbd09d36e2de3609619bac50c0d",
      "parents": [
        "4e5dbb3498e74514b9936d691413afc55fb84ea9"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Apr 22 17:33:40 2008 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Tue Apr 29 15:53:31 2008 +1000"
      },
      "message": "[XFS] kill di_mode checks after xfs_iget\n\nUnless XFS_IGET_CREATE is passed xfs_iget will return ENOENT if it\nencounters an inode with di_mode \u003d\u003d 0. Remove the duplicated checks in the\ncallers.\n\n(the log recovery case is not touched for now)\n\nSGI-PV: 976035\nSGI-Modid: xfs-linux-melb:xfs-kern:30898a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "42173f6860af7e016a950a9a19a66679cfc46d98",
      "tree": "b0e6c8efae40909b235412ff1e23d0063ec9a6f6",
      "parents": [
        "a01e035ebb552223c03f2d9138ffc73f2d4d3965"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Apr 22 17:33:25 2008 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Tue Apr 29 15:53:05 2008 +1000"
      },
      "message": "[XFS] Remove VN_IS* macros and related cruft.\n\nWe can just check i_mode / di_mode directly.\n\nSGI-PV: 976035\nSGI-Modid: xfs-linux-melb:xfs-kern:30896a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "429f731dea577bdd43693940cdca524135287e6a",
      "tree": "932337b7d23dd736612c6b6e6601c50bc24cfc5f",
      "parents": [
        "85b375a613085b78531ec86369a51c2f3b922f95",
        "d2f5e80862d33a7746a40569840248a592dbc395"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:41:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:41:27 2008 -0700"
      },
      "message": "Merge branch \u0027semaphore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc\n\n* \u0027semaphore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc:\n  Deprecate the asm/semaphore.h files in feature-removal-schedule.\n  Convert asm/semaphore.h users to linux/semaphore.h\n  security: Remove unnecessary inclusions of asm/semaphore.h\n  lib: Remove unnecessary inclusions of asm/semaphore.h\n  kernel: Remove unnecessary inclusions of asm/semaphore.h\n  include: Remove unnecessary inclusions of asm/semaphore.h\n  fs: Remove unnecessary inclusions of asm/semaphore.h\n  drivers: Remove unnecessary inclusions of asm/semaphore.h\n  net: Remove unnecessary inclusions of asm/semaphore.h\n  arch: Remove unnecessary inclusions of asm/semaphore.h\n"
    },
    {
      "commit": "ec82687f29127a954dd0da95dc1e0a4ce92b560c",
      "tree": "952b4f3f7128e2f5798607d595fb43d89c458e17",
      "parents": [
        "2f676cbc0d60ae806216c7a61c6971bd72dedde8"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:37:53 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:29:26 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: elevate count for xfs timestamp updates\n\nElevate the write count during the xfs m/ctime updates.\n\nXFS has to do it\u0027s own timestamp updates due to an unfortunate VFS\ndesign limitation, so it will have to track writers by itself aswell.\n\n[hch: split out from the touch_atime patch as it\u0027s not related to it at all]\n\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "42a74f206b914db13ee1f5ae932dcd91a77c8579",
      "tree": "24e3dbe55edaacc750067ab9e01778255a6bff08",
      "parents": [
        "20ddee2c75339cc095f6191c3115f81da8955e96"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:37:46 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:29:24 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: elevate write count for ioctls()\n\nSome ioctl()s can cause writes to the filesystem.  Take these, and make them\nuse mnt_want/drop_write() instead.\n\n[AV: updated]\n\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6188e10d38b8d7244ee7776d5f1f88c837b4b93f",
      "tree": "6675e02c47fb684a613e10513816b5dcc5de28a9",
      "parents": [
        "d7b1acd3b524b39f418e463e836b48ac041954d6"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Apr 18 22:21:05 2008 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Fri Apr 18 22:22:54 2008 -0400"
      },
      "message": "Convert asm/semaphore.h users to linux/semaphore.h\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "65e67f5165c8a156b34ee7adf65d5ed3b16a910d",
      "tree": "6b2e82205ae59b2304d38880c15e62a229d70691",
      "parents": [
        "3b2816be271b8b364294a5b48721a3e68af46cfa"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Apr 18 12:59:45 2008 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Apr 18 12:59:45 2008 +1000"
      },
      "message": "[XFS] Fix merge failure\n"
    },
    {
      "commit": "3b2816be271b8b364294a5b48721a3e68af46cfa",
      "tree": "1e40214091bb6736249d3ce442a13ef7e9dfdc82",
      "parents": [
        "f6e9f28865552bd9d79a9df93cf120436b073223"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Apr 18 12:43:35 2008 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Apr 18 12:43:35 2008 +1000"
      },
      "message": "[XFS] The forward declarations for the xfs_ioctl() helpers and the\nassociated comment about gcc behavior really aren\u0027t needed; all of these\nfunctions are marked STATIC which includes noinline, and the stack usage\nwon\u0027t be a problem.\n\nThis effectively just removes the forward declarations and moves\nxfs_ioctl() back to the end of the file.\n\nSGI-PV: 971186\nSGI-Modid: xfs-linux-melb:xfs-kern:30534a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "f7d3c34788696f5ba9ac9fa414ad80e2a91d4b2e",
      "tree": "0e8d743bdb6344a20b61a8daeb23bf3b508ff573",
      "parents": [
        "6d1337b29bf09a97682d39db36ac2d0dfc6659c0"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Apr 17 16:50:22 2008 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Apr 18 12:04:19 2008 +1000"
      },
      "message": "[XFS] Remove CONFIG_XFS_SECURITY.\n\nThere is no point to the CONFIG_XFS_SECURITY option; it disables the\nability to set security attributes at runtime, but it does not actually\nslim down or remove any code for runtime. Just remove it and always allow\nsecurity attributes to be set.\n\nSGI-PV: 980310\nSGI-Modid: xfs-linux-melb:xfs-kern:30877a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "7e20694d91f817f8e9f62404aca793ae0df4d98a",
      "tree": "36831242dad3429ea4bb56f681ebd8c82d3d2200",
      "parents": [
        "e6430037e9fd0b3d02ceaf5ab99bfe3ccb763be7"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Thu Apr 17 16:49:55 2008 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Apr 18 12:03:12 2008 +1000"
      },
      "message": "[XFS] Remove periodic logging of in-core superblock counters.\n\nxfssyncd triggers the logging of superblock counters every 30s if the\nfilesystem is made with lazy-count\u003d1. This will prevent disks from idling\nand spinning down as there will be a log write every 30s. With the way\ncounter recovery works for lazy-count\u003d1, this code is unnecessary and\nprovides no real benefit, so just remove it.\n\nSGI-PV: 980145\nSGI-Modid: xfs-linux-melb:xfs-kern:30840a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Barry Naujok \u003cbnaujok@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "d4055947bd0913864f4d8ac96bf1197338071622",
      "tree": "260f91444acd5cc81999b08ba32dd40be4a078c0",
      "parents": [
        "1bb7d6b5a82f1d9487fd44415484a368f7c87bed"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Thu Apr 17 16:49:35 2008 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Apr 18 12:02:41 2008 +1000"
      },
      "message": "[XFS] Don\u0027t error out on good I/Os.\n\nxfsbdstrat() made all I/Os error out, good or bad. Fix it.\n\nSGI-PV: 980084\nSGI-Modid: xfs-linux-melb:xfs-kern:30836a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Donald Douwsma \u003cdonaldd@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "cc88466f3f67bb16fc91b0b974e51c2a43a9e597",
      "tree": "a3cb1c8ff110046aaca771330810697702ebb30d",
      "parents": [
        "958d4ec606d4af590f86a601a238613f21e878ee"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Thu Apr 10 12:23:52 2008 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Apr 18 12:00:58 2008 +1000"
      },
      "message": "[XFS] Catch unwritten extent conversion errors.\n\nOn unwritten I/O completion, we fail to propagate an error when converting\nthe extent to a written extent. This means that the I/O silently fails.\npropagate the error onto the ioend so that the inode is marked with an\nerror appropriately.\n\nSGI-PV: 980084\nSGI-Modid: xfs-linux-melb:xfs-kern:30826a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "958d4ec606d4af590f86a601a238613f21e878ee",
      "tree": "06ac01c7a29cab542fa253fbd71915773f35fb1d",
      "parents": [
        "db7a19f2c89d99b66874a7e0c0dc681ff1f37b4e"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Thu Apr 10 12:23:46 2008 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Apr 18 12:00:46 2008 +1000"
      },
      "message": "[XFS] xfs_bdwrite() does not return errors.\n\nxfs_bdwrite() cannot return an error; it only queues buffers to the\ndelayed write list and as such never encounters anything that can fail.\nMark it void.\n\nSGI-PV: 980084\nSGI-Modid: xfs-linux-melb:xfs-kern:30825a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "d64e31a2f53cdcb2f95b782196faacb0995ca0c0",
      "tree": "d13230aeeb739f263305c686168823e161bdf619",
      "parents": [
        "556b8b166c9514b5f940047a41dad8fe8cd9a778"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Thu Apr 10 12:22:17 2008 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Apr 18 12:00:24 2008 +1000"
      },
      "message": "[XFS] Ensure errors from xfs_bdstrat() are correctly checked.\n\nxfsbdstrat() is declared to return an error. That is never checked because\nthe error is propagated by the xfs_buf_t that is passed through the\nfunction.\n\nMark xfsbdstrat() as returning void and comment the prototype on the\nmethods needed for error checking.\n\nSGI-PV: 980084\nSGI-Modid: xfs-linux-melb:xfs-kern:30823a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "556b8b166c9514b5f940047a41dad8fe8cd9a778",
      "tree": "22fdec0d211d9c93a6d8d60b591591f7c9a8de1b",
      "parents": [
        "7c9ef85c5672ae316aafd7bbe0bbadebe90301e6"
      ],
      "author": {
        "name": "Barry Naujok",
        "email": "bnaujok@sgi.com",
        "time": "Thu Apr 10 12:22:07 2008 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Apr 18 12:00:12 2008 +1000"
      },
      "message": "[XFS] remove bhv_vname_t and xfs_rename code\n\nSGI-PV: 976035\nSGI-Modid: xfs-linux-melb:xfs-kern:30804a\n\nSigned-off-by: Barry Naujok \u003cbnaujok@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "d87dd6360dce86cad9099aed74f14b4dd0143301",
      "tree": "743ea201fa895e75be79f357b0246c35a0726dcc",
      "parents": [
        "c2b1cba6833da77b1b478ac144f9cf5144d276ec"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Thu Apr 10 12:21:46 2008 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Apr 18 11:59:12 2008 +1000"
      },
      "message": "[XFS] Warn if errors come from block_truncate_page().\n\nblock_truncate_page() can return errors that we currently ignore and\nsilently discard. We should not ever get errors reported here - an error\nindicates a bug somewhere else. Hence catch the error and issue a stack\ndump to the syslog because we cannot propagate the error any further up\nthe call chain.\n\nSGI-PV: 980084\nSGI-Modid: xfs-linux-melb:xfs-kern:30800a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "34a622b2e1c8e11c8990184634f101c1aad42fec",
      "tree": "4a82ae6c61bf5d4cf90b931a84362b154e04184d",
      "parents": [
        "0225da1f35df46c67785eb08526995d7cdb4e3b0"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Thu Apr 10 12:19:21 2008 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Apr 18 11:51:26 2008 +1000"
      },
      "message": "[XFS] replace remaining __FUNCTION__ occurrences\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSGI-PV: 976035\nSGI-Modid: xfs-linux-melb:xfs-kern:30775a\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "0225da1f35df46c67785eb08526995d7cdb4e3b0",
      "tree": "6af0fb2b99f249b90748d8f5edd36e918a35acb4",
      "parents": [
        "6b1d1a732f886936fe515d911b1a01d9cc50e179"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Thu Apr 10 12:19:10 2008 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Apr 18 11:51:15 2008 +1000"
      },
      "message": "[XFS] Replace __inline with inline\n\nRemove the remaining uses of __inline in the XFS code base.\n\nSGI-PV: 976035\nSGI-Modid: xfs-linux-melb:xfs-kern:30774a\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "df26cfe849d8fd767b26fcd4bfebfff67bda9f3a",
      "tree": "1a4aa2887786f11d787c119cd16cd301974640bc",
      "parents": [
        "f3dcc13f6fa20af1171eac7a537a4b89b1a84849"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Apr 18 11:44:03 2008 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Apr 18 11:44:03 2008 +1000"
      },
      "message": "[XFS] split xfs_ioc_xattr\n\nThe three subcases of xfs_ioc_xattr don\u0027t share any semantics and almost\nno code, so split it into three separate helpers.\n\nSGI-PV: 976035\nSGI-Modid: xfs-linux-melb:xfs-kern:30709a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "f3dcc13f6fa20af1171eac7a537a4b89b1a84849",
      "tree": "4f1fb766af5a1a5110a5054894af1902ef02cb63",
      "parents": [
        "59a33f9f776b051018ec98af95bd9fe8ba9d0f3e"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Mar 27 18:00:54 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Apr 18 11:42:36 2008 +1000"
      },
      "message": "[XFS] cleanup root inode handling in xfs_fs_fill_super\n\n- rename rootvp to root for clarify\n- remove useless vn_to_inode call\n- check is_bad_inode before calling d_alloc_root\n- use iput instead of VN_RELE in the error case\n\nSGI-PV: 976035\nSGI-Modid: xfs-linux-melb:xfs-kern:30708a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "af048193fcfe2650e7ed3b1ab3d48b1ed0efb467",
      "tree": "0e02606bb4db074fdf18c3e4af2d9b28544a900f",
      "parents": [
        "dcf49cc5cfbbc0070ad4307428f8282dc7e04e58"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Mar 06 13:46:43 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Apr 18 11:41:14 2008 +1000"
      },
      "message": "[XFS] cleanup vnode use in xfs_iops.c\n\nSGI-PV: 976035\nSGI-Modid: xfs-linux-melb:xfs-kern:30552a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "dcf49cc5cfbbc0070ad4307428f8282dc7e04e58",
      "tree": "ca789975aade7e70fed8642eecd6d11e81eff748",
      "parents": [
        "ef1f5e7ad38e5414d016983a8cc5a8db7654a61d"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Mar 06 13:46:37 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Apr 18 11:41:04 2008 +1000"
      },
      "message": "[XFS] cleanup vnode use in xfs_lrw.c\n\nSGI-PV: 976035\nSGI-Modid: xfs-linux-melb:xfs-kern:30551a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "ef1f5e7ad38e5414d016983a8cc5a8db7654a61d",
      "tree": "6257477d68089b51a5dc352ef573344c42af0115",
      "parents": [
        "3937be5ba836a204d3d1df96b518eecd6cdacbb9"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Mar 06 13:46:25 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Apr 18 11:40:55 2008 +1000"
      },
      "message": "[XFS] cleanup vnode use in xfs_lookup\n\nSGI-PV: 976035\nSGI-Modid: xfs-linux-melb:xfs-kern:30550a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "3937be5ba836a204d3d1df96b518eecd6cdacbb9",
      "tree": "89c21be058d0b1b43718f49025600346524cd68e",
      "parents": [
        "a3da789640871c897901c5f766e33be78d56f35a"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Mar 06 13:46:19 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Apr 18 11:40:45 2008 +1000"
      },
      "message": "[XFS] cleanup vnode use in xfs_symlink and xfs_rename\n\nSGI-PV: 976035\nSGI-Modid: xfs-linux-melb:xfs-kern:30548a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "a3da789640871c897901c5f766e33be78d56f35a",
      "tree": "cbc8cda24404077100e2d029b21531b219affbfb",
      "parents": [
        "979ebab11623894528d4d37b947533ea4e8649d1"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Mar 06 13:46:12 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Apr 18 11:40:35 2008 +1000"
      },
      "message": "[XFS] cleanup vnode use in xfs_link\n\nSGI-PV: 976035\nSGI-Modid: xfs-linux-melb:xfs-kern:30547a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "979ebab11623894528d4d37b947533ea4e8649d1",
      "tree": "b7d2554818c1c0e8b2d5a7c581567be3c740247c",
      "parents": [
        "bc4ac74a4e5bd7db02976eb1b681e1d11f81c9ce"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Mar 06 13:46:05 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Apr 18 11:40:25 2008 +1000"
      },
      "message": "[XFS] cleanup vnode use in xfs_create/mknod/mkdir\n\nSGI-PV: 976035\nSGI-Modid: xfs-linux-melb:xfs-kern:30546a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "bc4ac74a4e5bd7db02976eb1b681e1d11f81c9ce",
      "tree": "580c59e724938a57874c05298c8da4e685971401",
      "parents": [
        "d234154125197053d5215711b5df867979e55ebd"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Mar 06 13:45:58 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Apr 18 11:40:15 2008 +1000"
      },
      "message": "[XFS] cleanup vnode use in dmapi calls\n\nSGI-PV: 976035\nSGI-Modid: xfs-linux-melb:xfs-kern:30545a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "24bd861d1c3fff5248de7ba3bdddb3369087ad46",
      "tree": "11092d964b9323c9eaef3df36bd77ef7ff03281b",
      "parents": [
        "126468b1156211e26d97f74b2f1767acd141005a"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Mar 06 13:45:16 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Apr 18 11:39:35 2008 +1000"
      },
      "message": "[XFS] don\u0027t encode parent in nfs filehandles unless nessecary\n\nAs Dave pointed out after the export ops changes we now always encode the\nparent into the filehandle for regular files, but it\u0027s not actually needed\nwhen the filesystem is export with no_subtree_check. This one-liner fixes\nxfs_fs_encode_fh to skip encoding the parent unless nessecary.\n\nSGI-PV: 976035\nSGI-Modid: xfs-linux-melb:xfs-kern:30535a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "126468b1156211e26d97f74b2f1767acd141005a",
      "tree": "0bf60d932dad0b4e7bc7c092782b531e550a11b2",
      "parents": [
        "43973964a386348af0a392266f008ba24170aa30"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Mar 06 13:44:57 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Apr 18 11:39:25 2008 +1000"
      },
      "message": "[XFS] kill xfs_rwlock/xfs_rwunlock\n\nWe can just use xfs_ilock/xfs_iunlock instead and get rid of the ugly\nbhv_vrwlock_t.\n\nSGI-PV: 976035\nSGI-Modid: xfs-linux-melb:xfs-kern:30533a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "43973964a386348af0a392266f008ba24170aa30",
      "tree": "17d21f1c23b4bdcd04b1057eaa8509ccad095d1d",
      "parents": [
        "a8b3acd57e3aaaf73a863a28e0e9f6cca37cd8e3"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Mar 06 13:44:50 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Apr 18 11:39:14 2008 +1000"
      },
      "message": "[XFS] kill xfs_get_dir_entry\n\nInstead of of xfs_get_dir_entry use a macro to get the xfs_inode from the\ndentry in the callers and grab the reference manually.\n\nOnly grab the reference once as it\u0027s fine to keep it over the dmapi calls.\n(And even that reference is actually superflous in Linux but I\u0027ll leave\nthat for another patch)\n\nSGI-PV: 976035\nSGI-Modid: xfs-linux-melb:xfs-kern:30531a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "a8b3acd57e3aaaf73a863a28e0e9f6cca37cd8e3",
      "tree": "d759912cd15f3e7a439f9b9b63bea2335d8faa62",
      "parents": [
        "db0bb7baa1533db156d8af3ebeda1f0473a0197a"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Mar 06 13:44:41 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Apr 18 11:39:03 2008 +1000"
      },
      "message": "[XFS] vnode cleanup in xfs_fs_subr.c\n\nCleanup the unneeded intermediate vnode step in the flushing helpers and\ngo directly from the xfs_inode to the struct address_space.\n\nSGI-PV: 976035\nSGI-Modid: xfs-linux-melb:xfs-kern:30530a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "db0bb7baa1533db156d8af3ebeda1f0473a0197a",
      "tree": "39247febd2c597ad58f754b0fd3ce35cd2c4e796",
      "parents": [
        "155cc6b784a959ed456fe46dca522e1d28b3b718"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Mar 06 13:44:35 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Apr 18 11:38:53 2008 +1000"
      },
      "message": "[XFS] cleanup xfs_vn_mknod\n\n- use proper goto based unwinding instead of the current mess of\n  multiple conditionals\n- rename ip to inode because that\u0027s the normal convention for Linux\n  inodes while ip is the convention for xfs_inodes\n- remove unlikely checks for the default_acl - branches marked unlikely\n  might lead to extreme branch bredictor slowdons if taken and for some\n  workloads a default acl is quite common\n- properly indent the switch statements\n- remove xfs_has_fs_struct as nfsd has a fs_struct in any semi-recent\n  kernel\n\nSGI-PV: 976035\nSGI-Modid: xfs-linux-melb:xfs-kern:30529a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "a3f74ffb6d1448d9a8f482e593b80ec15f1695d4",
      "tree": "e7a9ea7ba4032340e771605000002da4349719cb",
      "parents": [
        "4ae29b4321b99b711bcfde5527c4fbf249eac60f"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Thu Mar 06 13:43:42 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Apr 18 11:37:32 2008 +1000"
      },
      "message": "[XFS] Don\u0027t block pdflush when writing back inodes\n\nWhen pdflush is writing back inodes, it can get stuck on inode cluster\nbuffers that are currently under I/O. This occurs when we write data to\nmultiple inodes in the same inode cluster at the same time.\n\nEffectively, delayed allocation marks the inode dirty during the data\nwriteback. Hence if the inode cluster was flushed during the writeback of\nthe first inode, the writeback of the second inode will block waiting for\nthe inode cluster write to complete before writing it again for the newly\ndirtied inode.\n\nBasically, we want to avoid this from happening so we don\u0027t block pdflush\nand slow down all of writeback. Hence we introduce a non-blocking async\ninode flush flag that pdflush uses. If this flag is set, we use\nnon-blocking operations (e.g. try locks) whereever we can to avoid\nblocking or extra I/O being issued.\n\nSGI-PV: 970925\nSGI-Modid: xfs-linux-melb:xfs-kern:30501a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "163d3686bb09d88e2120bffe780a3f2d7cc4c948",
      "tree": "8503962ad2c4641f0796b5bb864996994c1ca137",
      "parents": [
        "461aa8a22595e3bd3e6f4dc2894d7c4315ea2bb9"
      ],
      "author": {
        "name": "Donald Douwsma",
        "email": "donaldd@sgi.com",
        "time": "Thu Mar 06 13:43:20 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Apr 18 11:36:55 2008 +1000"
      },
      "message": "[XFS] Remove the xfs_refcache\n\nRemove the xfs_refcache, it was only needed while we were still\nbuilding for 2.4 kernels.\n\nSGI-PV: 971186\nSGI-Modid: xfs-linux-melb:xfs-kern:30472a\n\nSigned-off-by: Donald Douwsma \u003cdonaldd@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "6211870992502efdccf9cd6bae155c83277835fa",
      "tree": "1e8a5606550a4cccc7d8e82dd23e681077f223a6",
      "parents": [
        "7180c4c9e09888db0a188f729c96c6d7bd61fa83"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Mar 06 13:44:28 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Apr 10 16:24:45 2008 +1000"
      },
      "message": "[XFS] remove shouting-indirection macros from xfs_sb.h\n\nRemove macro-to-small-function indirection from xfs_sb.h, and remove some\nwhich are completely unused.\n\nSGI-PV: 976035\nSGI-Modid: xfs-linux-melb:xfs-kern:30528a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Donald Douwsma \u003cdonaldd@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "1bd960ee2b1231759bd485aad0fa483c2f793a3b",
      "tree": "557463c5faac349791e14890f35668e4c1bcb639",
      "parents": [
        "7704a8b6fc4a8f51599eb2af4dcf1e2ac9c7e576"
      ],
      "author": {
        "name": "Josef Jeff Sipek",
        "email": "jeffpc@josefsipek.net",
        "time": "Fri Feb 29 13:58:40 2008 +1100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@oss.sgi.com",
        "time": "Thu Feb 28 20:37:56 2008 -0800"
      },
      "message": "[XFS] If you mount an XFS filesystem with no mount options at all, then\nthe \"ikeep\" option is set rather than \"noikeep\".\n\nThis regression was introduced in 970451.\n\nWith no mount options specified, xfs_parseargs() does the following:\n\nint ikeep \u003d 0;\n\nargs-\u003eflags |\u003d XFSMNT_BARRIER;\n\nargs-\u003eflags2 |\u003d XFSMNT2_COMPAT_IOSIZE;\n\nif (!options)\n\ngoto done;\n\nIt only sets the above two options by default and before, it also used to\nset XFSMNT_IDELETE by default.\n\nIf options are specified, then\n\nif (!(args-\u003eflags \u0026 XFSMNT_DMAPI) \u0026\u0026 !ikeep)\n\nargs-\u003eflags |\u003d XFSMNT_IDELETE;\n\nis executed later on which is skipped by the \"goto done;\" above.\n\nThe solution is to invert the logic.\n\nSGI-PV: 977771\nSGI-Modid: xfs-linux-melb:xfs-kern:30590a\n\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\nSigned-off-by: Barry Naujok \u003cbnaujok@sgi.com\u003e\nSigned-off-by: Josef \u0027Jeff\u0027 Sipek \u003cjeffpc@josefsipek.net\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "1d957f9bf87da74f420424d16ece005202bbebd3",
      "tree": "363d4770c0c74a536524c99ccd2762ce96ee9bbe",
      "parents": [
        "4ac9137858e08a19f29feac4e1f4df7c268b0ba5"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Thu Feb 14 19:34:35 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 14 21:13:33 2008 -0800"
      },
      "message": "Introduce path_put()\n\n* Add path_put() functions for releasing a reference to the dentry and\n  vfsmount of a struct path in the right order\n\n* Switch from path_release(nd) to path_put(\u0026nd-\u003epath)\n\n* Rename dput_path() to path_put_conditional()\n\n[akpm@linux-foundation.org: fix cifs]\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: \u003clinux-fsdevel@vger.kernel.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ac9137858e08a19f29feac4e1f4df7c268b0ba5",
      "tree": "f5b5d84fd12fcc2b0ba0e7ce1a79ff381ad8f5dd",
      "parents": [
        "c5e725f33b733a77de622e91b6ba5645fcf070be"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Thu Feb 14 19:34:32 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 14 21:13:33 2008 -0800"
      },
      "message": "Embed a struct path into struct nameidata instead of nd-\u003e{dentry,mnt}\n\nThis is the central patch of a cleanup series. In most cases there is no good\nreason why someone would want to use a dentry for itself. This series reflects\nthat fact and embeds a struct path into nameidata.\n\nTogether with the other patches of this series\n- it enforced the correct order of getting/releasing the reference count on\n  \u003cdentry,vfsmount\u003e pairs\n- it prepares the VFS for stacking support since it is essential to have a\n  struct path in every place where the stack can be traversed\n- it reduces the overall code size:\n\nwithout patch series:\n   text    data     bss     dec     hex filename\n5321639  858418  715768 6895825  6938d1 vmlinux\n\nwith patch series:\n   text    data     bss     dec     hex filename\n5320026  858418  715768 6894212  693284 vmlinux\n\nThis patch:\n\nSwitch from nd-\u003e{dentry,mnt} to nd-\u003epath.{dentry,mnt} everywhere.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: fix cifs]\n[akpm@linux-foundation.org: fix smack]\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0b61a2ba5dfd1620731e717d686e6ade657fd975",
      "tree": "dea84efd43934a7d6139048f87c4ba86d68d4b6d",
      "parents": [
        "a13ff0bb3feda8b1fcffc69951320277ed7c4101",
        "de2eeea609b55e8c3994133a565b39edeaaaaf69"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 19:12:12 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 19:12:12 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com:8090/xfs/xfs-2.6\n\n* \u0027for-linus\u0027 of git://oss.sgi.com:8090/xfs/xfs-2.6: (62 commits)\n  [XFS] add __init/__exit mark to specific init/cleanup functions\n  [XFS] Fix oops in xfs_file_readdir()\n  [XFS] kill xfs_root\n  [XFS] keep i_nlink updated and use proper accessors\n  [XFS] stop updating inode-\u003ei_blocks\n  [XFS] Make xfs_ail_check check less by default\n  [XFS] Move AIL pushing into it\u0027s own thread\n  [XFS] use generic_permission\n  [XFS] stop re-checking permissions in xfs_swapext\n  [XFS] clean up xfs_swapext\n  [XFS] remove permission check from xfs_change_file_space\n  [XFS] prevent panic during log recovery due to bogus op_hdr length\n  [XFS] Cleanup various fid related bits:\n  [XFS] Fix xfs_lowbit64\n  [XFS] Remove CFORK macros and use code directly in IFORK and DFORK macros.\n  [XFS] kill superflous buffer locking (2nd attempt)\n  [XFS] Use kernel-supplied \"roundup_pow_of_two\" for simplicity\n  [XFS] Remove the BPCSHIFT and NB* based macros from XFS.\n  [XFS] Remove bogus assert\n  [XFS] optimize XFS_IS_REALTIME_INODE w/o realtime config\n  ...\n"
    },
    {
      "commit": "de2eeea609b55e8c3994133a565b39edeaaaaf69",
      "tree": "f0726491c2667427e643e5e26808b0c250884f4e",
      "parents": [
        "450790a2c51e6d9d47ed30dbdcf486656b8e186f"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Wed Feb 06 13:37:56 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:25:19 2008 +1100"
      },
      "message": "[XFS] add __init/__exit mark to specific init/cleanup functions\n\nSGI-PV: 971186\nSGI-Modid: xfs-linux-melb:xfs-kern:30459a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\u003e\n"
    },
    {
      "commit": "450790a2c51e6d9d47ed30dbdcf486656b8e186f",
      "tree": "4951fb3e7fae21a791fd7c4b161a1d3f0e6dc571",
      "parents": [
        "cbc89dcfd24fd161f7a8e262266177db160a58fb"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Wed Feb 06 13:37:40 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:24:13 2008 +1100"
      },
      "message": "[XFS] Fix oops in xfs_file_readdir()\n\nWhen xfs_file_readdir() exactly fills a buffer, it can move it\u0027s index\npast the end of the buffer and dereference it even though the result of\nthe dereference is never used. On some platforms this causes an oops.\n\nSGI-PV: 976923\nSGI-Modid: xfs-linux-melb:xfs-kern:30458a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "cbc89dcfd24fd161f7a8e262266177db160a58fb",
      "tree": "135e0ce9605b4e91357570def1b3869a35f5592e",
      "parents": [
        "4188c78d951d8a44630f4c33bc0f5b63374572a4"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Feb 05 12:14:01 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:24:00 2008 +1100"
      },
      "message": "[XFS] kill xfs_root\n\nThe only caller (xfs_fs_fill_super) can simplify call igrab on the root\ninode.\n\nSGI-PV: 971186\nSGI-Modid: xfs-linux-melb:xfs-kern:30393a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "4188c78d951d8a44630f4c33bc0f5b63374572a4",
      "tree": "f550ffdc10f87cd6fe553fc3fd9093dba04d1c57",
      "parents": [
        "222096ae7f7616caa9e4150948096160cc8a8141"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Feb 05 12:13:53 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:23:38 2008 +1100"
      },
      "message": "[XFS] keep i_nlink updated and use proper accessors\n\nTo get the read-only bind mounts in -mm to work correctly with XFS we need\nto call the drop_nlink and inc_nlink helpers to monitor the link count.\nAdd calls to these to xfs_bumplink and xfs_droplink and stop copying over\ndi_nlink to i_nlink in xfs_validate_fields and vn_revalidate.\n\nSGI-PV: 971186\nSGI-Modid: xfs-linux-melb:xfs-kern:30392a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "222096ae7f7616caa9e4150948096160cc8a8141",
      "tree": "0740ca11affec2f153e84d7d096d1c11466879e6",
      "parents": [
        "de08dbc1977419efa47eb71f10d96a98eb5bb111"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Feb 05 12:13:46 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:23:15 2008 +1100"
      },
      "message": "[XFS] stop updating inode-\u003ei_blocks\n\nThe VFS doesn\u0027t use i_blocks, it\u0027s only used by generic_fillattr and the\ngeneric quota code which XFS doesn\u0027t use. In XFS there is one use to check\nwhether we have an inline or out of line sumlink, but we can replace that\nwith a check of the XFS_IFINLINE inode flag.\n\nSGI-PV: 971186\nSGI-Modid: xfs-linux-melb:xfs-kern:30391a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "249a8c1124653fa90f3a3afff869095a31bc229f",
      "tree": "e0681990b5b61155a64a9fd3c0cf73d4d6bb4ce5",
      "parents": [
        "4576758db5817a91b8974c696247d459dc653db2"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Tue Feb 05 12:13:32 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:22:51 2008 +1100"
      },
      "message": "[XFS] Move AIL pushing into it\u0027s own thread\n\nWhen many hundreds to thousands of threads all try to do simultaneous\ntransactions and the log is in a tail-pushing situation (i.e. full), we\ncan get multiple threads walking the AIL list and contending on the AIL\nlock.\n\nThe AIL push is, in effect, a simple I/O dispatch algorithm complicated by\nthe ordering constraints placed on it by the transaction subsystem. It\nreally does not need multiple threads to push on it - even when only a\nsingle CPU is pushing the AIL, it can push the I/O out far faster that\npretty much any disk subsystem can handle.\n\nSo, to avoid contention problems stemming from multiple list walkers, move\nthe list walk off into another thread and simply provide a \"target\" to\npush to. When a thread requires a push, it sets the target and wakes the\npush thread, then goes to sleep waiting for the required amount of space\nto become available in the log.\n\nThis mechanism should also be a lot fairer under heavy load as the waiters\nwill queue in arrival order, rather than queuing in \"who completed a push\nfirst\" order.\n\nAlso, by moving the pushing to a separate thread we can do more\neffectively overload detection and prevention as we can keep context from\nloop iteration to loop iteration. That is, we can push only part of the\nlist each loop and not have to loop back to the start of the list every\ntime we run. This should also help by reducing the number of items we try\nto lock and/or push items that we cannot move.\n\nNote that this patch is not intended to solve the inefficiencies in the\nAIL structure and the associated issues with extremely large list\ncontents. That needs to be addresses separately; parallel access would\ncause problems to any new structure as well, so I\u0027m only aiming to isolate\nthe structure from unbounded parallelism here.\n\nSGI-PV: 972759\nSGI-Modid: xfs-linux-melb:xfs-kern:30371a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "4576758db5817a91b8974c696247d459dc653db2",
      "tree": "43b5b471510f0981ea2dc668ca7591a75831f111",
      "parents": [
        "f6aa7f2184330262e1cb5f7802536e5346bd46a3"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Feb 05 12:13:24 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:22:38 2008 +1100"
      },
      "message": "[XFS] use generic_permission\n\nNow that all direct caller of xfs_iaccess are gone we can kill xfs_iaccess\nand xfs_access and just use generic_permission with a check_acl callback.\nThis is required for the per-mount read-only patchset in -mm to work\nproperly with XFS.\n\nSGI-PV: 971186\nSGI-Modid: xfs-linux-melb:xfs-kern:30370a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "f71354bc3a96c657a70e36dcf980cbad6c9fc63f",
      "tree": "1f32c9281e224fd067ff78ebc6dc0b763824bd98",
      "parents": [
        "edd319dc527733e61eec5bdc9ce20c94634b6482"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Dec 18 16:26:55 2007 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:20:11 2008 +1100"
      },
      "message": "[XFS] Cleanup various fid related bits:\n\n- merge xfs_fid2 into it\u0027s only caller xfs_dm_inode_to_fh.\n- remove xfs_vget and opencode it in the two callers, simplifying\n  both of them by avoiding the awkward calling convetion.\n- assign directly to the dm_fid_t members in various places in the\n  dmapi code instead of casting them to xfs_fid_t first (which\n  is identical to dm_fid_t)\n\nSGI-PV: 974747\nSGI-Modid: xfs-linux-melb:xfs-kern:30258a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Vlad Apostolov \u003cvapo@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "a9759f2de38a3443d5107bddde03b4f3f550060e",
      "tree": "3a61d9818f5e457bc073958363a3136ac229f532",
      "parents": [
        "40ebd81d1a7635cf92a59c387a599fce4863206b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Dec 07 14:07:08 2007 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:18:50 2008 +1100"
      },
      "message": "[XFS] kill superflous buffer locking (2nd attempt)\n\nThere is no need to lock any page in xfs_buf.c because we operate on our\nown address_space and all locking is covered by the buffer semaphore. If\nwe ever switch back to main blockdeive address_space as suggested e.g. for\nfsblock with a similar scheme the locking will have to be totally revised\nanyway because the current scheme is neither correct nor coherent with\nitself.\n\nSGI-PV: 971186\nSGI-Modid: xfs-linux-melb:xfs-kern:30156a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "e6a4b37f38dca6e86b2648d172946700ee921e12",
      "tree": "a094d91f8b864a33735a54c12a792bb084f7c5be",
      "parents": [
        "f7b7c3673e6e225de337abe00e14dc048e44782b"
      ],
      "author": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Fri Nov 23 16:30:42 2007 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:17:58 2008 +1100"
      },
      "message": "[XFS] Remove the BPCSHIFT and NB* based macros from XFS.\n\nThe BPCSHIFT based macros, btoc*, ctob*, offtoc* and ctooff are either not\nused or don\u0027t need to be used. The NDPP, NDPP, NBBY macros don\u0027t need to\nbe used but instead are replaced directly by PAGE_SIZE and PAGE_CACHE_SIZE\nwhere appropriate. Initial patch and motivation from Nicolas Kaiser.\n\nSGI-PV: 971186\nSGI-Modid: xfs-linux-melb:xfs-kern:30096a\n\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "71ddabb94a623d1e16e7e66898bf439ff78ecc41",
      "tree": "ded37e51148312db71e6a68b18c8bfca49b95112",
      "parents": [
        "a67d7c5f5d25d0b13a4dfb182697135b014fa478"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Fri Nov 23 16:29:42 2007 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:16:43 2008 +1100"
      },
      "message": "[XFS] optimize XFS_IS_REALTIME_INODE w/o realtime config\n\nUse XFS_IS_REALTIME_INODE in more places, and #define it to 0 if\nCONFIG_XFS_RT is off. This should be safe because mount checks in\nxfs_rtmount_init:\n\nso if we get mounted w/o CONFIG_XFS_RT, no realtime inodes should be\nencountered after that.\n\nDefining XFS_IS_REALTIME_INODE to 0 saves a bit of stack space,\npresumeably gcc can optimize around the various \"if (0)\" type checks:\n\nxfs_alloc_file_space -8 xfs_bmap_adjacent -16 xfs_bmapi -8\nxfs_bmap_rtalloc -16 xfs_bunmapi -28 xfs_free_file_space -64 xfs_imap +8\n\u003c-- ? hmm. xfs_iomap_write_direct -12 xfs_qm_dqusage_adjust -4\nxfs_qm_vop_chown_reserve -4\n\nSGI-PV: 971186\nSGI-Modid: xfs-linux-melb:xfs-kern:30014a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "a67d7c5f5d25d0b13a4dfb182697135b014fa478",
      "tree": "6afad71ef304075afd957ea227c584f0580558be",
      "parents": [
        "3ed6526441053d79b85d206b14d75125e6f51cc2"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Fri Nov 23 16:29:32 2007 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:16:30 2008 +1100"
      },
      "message": "[XFS] Move platform specific mount option parse out of core XFS code\n\nMount option parsing is platform specific. Move it out of core code into\nthe platform specific superblock operation file.\n\nSGI-PV: 971186\nSGI-Modid: xfs-linux-melb:xfs-kern:30012a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "3ed6526441053d79b85d206b14d75125e6f51cc2",
      "tree": "338c4d47130cd5c2e35852309da273edf9d21146",
      "parents": [
        "5d51eff4538bdfeb9b7a2ec030ee3b0980b067d2"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Fri Nov 23 16:29:25 2007 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:16:17 2008 +1100"
      },
      "message": "[XFS] Implement fallocate.\n\nImplement the new generic callout for file preallocation. Atomically\nchange the file size if requested.\n\nSGI-PV: 972756\nSGI-Modid: xfs-linux-melb:xfs-kern:30009a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "5d51eff4538bdfeb9b7a2ec030ee3b0980b067d2",
      "tree": "27606a34eab830ccc9a066f14f598af0c0c9027c",
      "parents": [
        "e4143a1cf5973e3443c0650fc4c35292d3b7baa8"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Fri Nov 23 16:29:18 2007 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:16:07 2008 +1100"
      },
      "message": "[XFS] Fix inode allocation latency\n\nThe log force added in xfs_iget_core() has been a performance issue since\nit was introduced for tight loops that allocate then unlink a single file.\nunder heavy writeback, this can introduce unnecessary latency due tothe\nlog I/o getting stuck behind bulk data writes.\n\nFix this latency problem by avoinding the need for the log force by moving\nthe place we mark linux inode dirty to the transaction commit rather than\non transaction completion.\n\nThis also closes a potential hole in the sync code where a linux inode is\nnot dirty between the time it is modified and the time the log buffer has\nbeen written to disk.\n\nSGI-PV: 972753\nSGI-Modid: xfs-linux-melb:xfs-kern:30007a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "a8272ce0c1d49aa3bec57682678f0bdfe28ed4ca",
      "tree": "691b5ac5b1e36bf0dd59408434e3856438258a0e",
      "parents": [
        "a69b176df246d59626e6a9c640b44c0921fa4566"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Fri Nov 23 16:28:09 2007 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:14:38 2008 +1100"
      },
      "message": "[XFS] Fix up sparse warnings.\n\nThese are mostly locking annotations, marking things static, casts where\nneeded and declaring stuff in header files.\n\nSGI-PV: 971186\nSGI-Modid: xfs-linux-melb:xfs-kern:30002a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "98ce2b5b1bd6db9f8d510b4333757fa6b1efe131",
      "tree": "d85791e0b40d9589fb4998070319b25b0700fa0d",
      "parents": [
        "bc58f9bb6be02a80b5f1f757b656c9affc07154f"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Fri Nov 23 16:27:32 2007 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:13:27 2008 +1100"
      },
      "message": "[XFS] 971186 Undo mod xfs-linux-melb:xfs-kern:29845a due to a regression\n\nSGI-PV: 971596\nSGI-Modid: xfs-linux-melb:xfs-kern:29902a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "bc58f9bb6be02a80b5f1f757b656c9affc07154f",
      "tree": "1e9f4f89f1dd9cb64080e36eaec85337f2d0a0c3",
      "parents": [
        "d4f3cc016fd6b392d483adc586b6dfaabad081af"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Fri Oct 12 11:13:22 2007 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:13:17 2008 +1100"
      },
      "message": "[XFS] fix 32-bit compat ioctls for GETXFLAGS, SETXFLAGS, GETVERSION\n\nXFS_IOC_GETVERSION, XFS_IOC_GETXFLAGS and XFS_IOC_SETXFLAGS all take a\n\"long\" which changes size between 32 and 64 bit platforms.\n\nSo, the ioctl cmds that come in from a 32-bit app aren\u0027t as expected, for\nexample on GETXFLAGS,\n\nunknown cmd fd(3) cmd(80046601){t:\u0027f\u0027;sz:4}\n\ndue to the size mismatch.\n\nSo, use instead the 32-bit version of the commands for compat ioctls, and\nother than that it doesn\u0027t take any more manipulation.\n\nAlso, for both native and compat versions, just define them to the values\nas defined in fs.h\n\nSGI-PV: 971186\nSGI-Modid: xfs-linux-melb:xfs-kern:29849a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "c40ea74101ab75a8f320d057e7cf4b772b090110",
      "tree": "047b725cf7347e4111b65edd532cf9b1ee8010d1",
      "parents": [
        "0771fb4515229821b7d74865b87a430de9fc1113"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Oct 12 11:12:39 2007 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:12:07 2008 +1100"
      },
      "message": "[XFS] kill superflous buffer locking\n\nThere is no need to lock any page in xfs_buf.c because we operate on our\nown address_space and all locking is covered by the buffer semaphore. If\nwe ever switch back to main blockdeive address_space as suggested e.g. for\nfsblock with a similar scheme the locking will have to be totally revised\nanyway because the current scheme is neither correct nor coherent with\nitself.\n\nSGI-PV: 971186\nSGI-Modid: xfs-linux-melb:xfs-kern:29845a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "9909c4aa1a3e5b1f23cbc1bc2f0db025a7f75f85",
      "tree": "27a9a4a620a9af8163cfa1833d59c51008102e0d",
      "parents": [
        "10090be25c159c02208b7abf89ae90f8105a2423"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 11 18:11:14 2007 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:09:56 2008 +1100"
      },
      "message": "[XFS] kill xfs_freeze.\n\nNo need to have a wrapper just two call two more functions.\n\nSGI-PV: 971186\nSGI-Modid: xfs-linux-melb:xfs-kern:29816a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Donald Douwsma \u003cdonaldd@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "10090be25c159c02208b7abf89ae90f8105a2423",
      "tree": "7af8a6eae91425c9c0fad617788b711978b14387",
      "parents": [
        "6e7f75eafbc9b0eb575097f52ba6ed27154cea1b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 11 18:11:03 2007 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 16:55:46 2008 +1100"
      },
      "message": "[XFS] cleanup vnode useage in xfs_iget.c\n\nGet rid of vnode useage in xfs_iget.c and pass Linux inode / xfs_inode\nwhere apropinquate. And kill some useless helpers while we\u0027re at it.\n\nSGI-PV: 971186\nSGI-Modid: xfs-linux-melb:xfs-kern:29808a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "6e7f75eafbc9b0eb575097f52ba6ed27154cea1b",
      "tree": "25f941063759a7cb108beb1fd9b0344d87cc49cc",
      "parents": [
        "4ca488eb45692520f745f96abc00ea4e268a87d4"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 11 18:09:50 2007 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 16:55:35 2008 +1100"
      },
      "message": "[XFS] cleanup vnode useage in xfs_ioctl.c\n\nxfs_ioctl.c passes around vnode pointers quite a lot, but all places\nalready have the Linux inode which is identical to the vnode these days.\nClean the code up to always use the Linux inode.\n\nSGI-PV: 971186\nSGI-Modid: xfs-linux-melb:xfs-kern:29807a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "4ca488eb45692520f745f96abc00ea4e268a87d4",
      "tree": "525662017ca7cfdc45b9d62f01e045d1da999e4a",
      "parents": [
        "c43f408795c3210c9f5c925e4a49dbb93d41bb57"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 11 18:09:40 2007 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 16:53:27 2008 +1100"
      },
      "message": "[XFS] Kill off xfs_statvfs.\n\nWe were already filling the Linux struct statfs anyway, and doing this\ntrivial task directly in xfs_fs_statfs makes the code quite a bit cleaner.\nWhile I was at it I also moved copying attributes that don\u0027t change over\nthe lifetime of the filesystem outside the superblock lock.\n\nxfs_fs_fill_super used to get the magic number and blocksize through\nxfs_statvfs, but assigning them directly is a lot cleaner and will save\nsome stack space during mount.\n\nSGI-PV: 971186\nSGI-Modid: xfs-linux-melb:xfs-kern:29802a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "c43f408795c3210c9f5c925e4a49dbb93d41bb57",
      "tree": "d60d693822eccbb242305a9945186dd0a4df1090",
      "parents": [
        "613d70436c1aeda6843ca8b70c7fab6d0484a591"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 11 17:46:39 2007 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 16:49:06 2008 +1100"
      },
      "message": "[XFS] simplify xfs_vn_getattr\n\nJust fill in struct kstat directly from the xfs_inode instead of doing a\ndetour through a bhv_vattr_t and xfs_getattr.\n\nSGI-PV: 970980\nSGI-Modid: xfs-linux-melb:xfs-kern:29770a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "613d70436c1aeda6843ca8b70c7fab6d0484a591",
      "tree": "e8cc8d1f2cf3720285f0439c9d057555ab293b0c",
      "parents": [
        "007c61c68640ea17c036785b698d05da67b4365e"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 11 17:44:08 2007 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 16:48:58 2008 +1100"
      },
      "message": "[XFS] kill xfs_iocore_t\n\nxfs_iocore_t is a structure embedded in xfs_inode. Except for one field it\njust duplicates fields already in xfs_inode, and there is nothing this\nabstraction buys us on XFS/Linux. This patch removes it and shrinks source\nand binary size of xfs aswell as shrinking the size of xfs_inode by 60/44\nbytes in debug/non-debug builds.\n\nSGI-PV: 970852\nSGI-Modid: xfs-linux-melb:xfs-kern:29754a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "007c61c68640ea17c036785b698d05da67b4365e",
      "tree": "d4d4bc3d9268d174f42f45dc67844905f0e5933d",
      "parents": [
        "36e41eebdafc8b5fabdf66f59d0d43b0b60f0fdb"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Oct 11 17:43:56 2007 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 16:47:45 2008 +1100"
      },
      "message": "[XFS] Remove spin.h\n\nremove spinlock init abstraction macro in spin.h, remove the callers, and\nremove the file. Move no-op spinlock_destroy to xfs_linux.h Cleanup\nspinlock locals in xfs_mount.c\n\nSGI-PV: 970382\nSGI-Modid: xfs-linux-melb:xfs-kern:29751a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Donald Douwsma \u003cdonaldd@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "36e41eebdafc8b5fabdf66f59d0d43b0b60f0fdb",
      "tree": "5a3f1dc397b6eb1e69de2775fbcc44952cc4671d",
      "parents": [
        "3a0e487034107c0859b8a0d71d14b5c8988d356b"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Oct 11 17:43:43 2007 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 16:47:35 2008 +1100"
      },
      "message": "[XFS] Cleanup lock goop.\n\nSwitch last couple lock_t\u0027s to spinlock_t\u0027s. Remove now-unused\nspinlock-related macros \u0026 types.\n\nSGI-PV: 970382\nSGI-Modid: xfs-linux-melb:xfs-kern:29748a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Donald Douwsma \u003cdonaldd@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "541d7d3c4b31e2b0ac846fe6d2eb5cdbe1353095",
      "tree": "d8c9cf9cf75fd3d23ebc19e5f6b646a4d807b72c",
      "parents": [
        "21a62542b6d7f726d6c1d2cfbfa084f721ba4a26"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 11 17:34:33 2007 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 16:44:14 2008 +1100"
      },
      "message": "[XFS] kill unnessecary ioops indirection\n\nCurrently there is an indirection called ioops in the XFS data I/O path.\nVarious functions are called by functions pointers, but there is no\ncoherence in what this is for, and of course for XFS itself it\u0027s entirely\nunused. This patch removes it instead and significantly reduces source and\nbinary size of XFS while making maintaince easier.\n\nSGI-PV: 970841\nSGI-Modid: xfs-linux-melb:xfs-kern:29737a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "21a62542b6d7f726d6c1d2cfbfa084f721ba4a26",
      "tree": "db0a080fd3550b12000d96513c5d92836e95ae5b",
      "parents": [
        "15947f2d4f747897f31cfaa36e98a93f80ca3d3f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Sep 19 15:27:49 2007 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 16:44:04 2008 +1100"
      },
      "message": "[XFS] simplify vn_revalidate\n\nNo need to allocate a bhv_vattr_t on stack and call xfs_getattr to update\na few fields in the Linux inode from the XFS inode, just do it directly.\n\nAnd yes, this function is in dire need of a better name and prototype,\nI\u0027ll do in a separate patch, though.\n\nSGI-PV: 970705\nSGI-Modid: xfs-linux-melb:xfs-kern:29713a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "15947f2d4f747897f31cfaa36e98a93f80ca3d3f",
      "tree": "962c533fce140064343f119d7c5f9d94a80140b7",
      "parents": [
        "7642861b7eeaddfc82d762b3342044c809c3f77e"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Mon Sep 17 13:11:58 2007 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 16:43:54 2008 +1100"
      },
      "message": "[XFS] more vnode/inode tracing fixes\n\nSGI-PV: 970335\nSGI-Modid: xfs-linux-melb:xfs-kern:29697a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "7642861b7eeaddfc82d762b3342044c809c3f77e",
      "tree": "badaaae721ab515df925b0b6eddf610e6678542e",
      "parents": [
        "6214ed4461f1ad8aeec41857c73d58afb31be335"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Sep 14 15:23:31 2007 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 16:43:44 2008 +1100"
      },
      "message": "[XFS] kill BMAPI_UNWRITTEN\n\nThere is no reason to go through xfs_iomap for the BMAPI_UNWRITTEN because\nit has nothing in common with the other cases. Instead check for the\nshutdown filesystem in xfs_end_bio_unwritten and perform a direct call to\nxfs_iomap_write_unwritten (which should be renamed to something more\nsensible one day)\n\nSGI-PV: 970241\nSGI-Modid: xfs-linux-melb:xfs-kern:29681a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Donald Douwsma \u003cdonaldd@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "6214ed4461f1ad8aeec41857c73d58afb31be335",
      "tree": "cd01b3d54a4156ee9315ea88ef7fea26fb40acfb",
      "parents": [
        "cf441eeb79c32471379f0a4d97feaef691432a03"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Sep 14 15:23:17 2007 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 16:43:35 2008 +1100"
      },
      "message": "[XFS] kill BMAPI_DEVICE\n\nThere is no reason to go into the iomap machinery just to get the right\nblock device for an inode. Instead look at the realtime flag in the inode\nand grab the right device from the mount structure.\n\nI created a new helper, xfs_find_bdev_for_inode instead of opencoding it\nbecause I plan to use it in other places in the future.\n\nSGI-PV: 970240\nSGI-Modid: xfs-linux-melb:xfs-kern:29680a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Donald Douwsma \u003cdonaldd@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "cf441eeb79c32471379f0a4d97feaef691432a03",
      "tree": "283347fcc807a87339a8244d3a45029eac90c825",
      "parents": [
        "44866d39282d0782b15fa4cb62aad937bf0a0897"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 16:42:19 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 16:42:19 2008 +1100"
      },
      "message": "[XFS] clean up vnode/inode tracing\n\nSimplify vnode tracing calls by embedding function name \u0026 return addr in\nthe calling macro.\n\nAlso do a lot of vnode-\u003einode renaming for consistency, while we\u0027re at it.\n\nSGI-PV: 970335\nSGI-Modid: xfs-linux-melb:xfs-kern:29650a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "9e2779fa281cfda13ac060753d674bbcaa23367e",
      "tree": "e2af17d69b71e0f8b3f00fe949cb8abfba4298ed",
      "parents": [
        "0b7a96114bd5991d355a1f1c1d3d9c0c9d9c1cfc"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Feb 04 22:28:34 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:14 2008 -0800"
      },
      "message": "is_vmalloc_addr(): Check if an address is within the vmalloc boundaries\n\nChecking if an address is a vmalloc address is done in a couple of places.\nDefine a common version in mm.h and replace the other checks.\n\nAgain the include structures suck.  The definition of VMALLOC_START and\nVMALLOC_END is not available in vmalloc.h since highmem.c cannot be included\nthere.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eebd2aa355692afaf9906f62118620f1a1c19dbb",
      "tree": "207eead3a736963c3e50942038c463f2f611ccce",
      "parents": [
        "b98348bdd08dc4ec11828aa98a78edde15c53cfa"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Feb 04 22:28:29 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:13 2008 -0800"
      },
      "message": "Pagecache zeroing: zero_user_segment, zero_user_segments and zero_user\n\nSimplify page cache zeroing of segments of pages through 3 functions\n\nzero_user_segments(page, start1, end1, start2, end2)\n\n        Zeros two segments of the page. It takes the position where to\n        start and end the zeroing which avoids length calculations and\n\tmakes code clearer.\n\nzero_user_segment(page, start, end)\n\n        Same for a single segment.\n\nzero_user(page, start, length)\n\n        Length variant for the case where we know the length.\n\nWe remove the zero_user_page macro. Issues:\n\n1. Its a macro. Inline functions are preferable.\n\n2. The KM_USER0 macro is only defined for HIGHMEM.\n\n   Having to treat this special case everywhere makes the\n   code needlessly complex. The parameter for zeroing is always\n   KM_USER0 except in one single case that we open code.\n\nAvoiding KM_USER0 makes a lot of code not having to be dealing\nwith the special casing for HIGHMEM anymore. Dealing with\nkmap is only necessary for HIGHMEM configurations. In those\nconfigurations we use KM_USER0 like we do for a series of other\nfunctions defined in highmem.h.\n\nSince KM_USER0 is depends on HIGHMEM the existing zero_user_page\nfunction could not be a macro. zero_user_* functions introduced\nhere can be be inline because that constant is not used when these\nfunctions are called.\n\nAlso extract the flushing of the caches to be outside of the kmap.\n\n[akpm@linux-foundation.org: fix nfs and ntfs build]\n[akpm@linux-foundation.org: fix ntfs build some more]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aea6ad0ce5e215ce99fe9e3edd9268f696862d8f",
      "tree": "ab7e37bb1a046cabb01479b313493731359c68eb",
      "parents": [
        "fd0b45dfd1858c6b49d06355a460bcf36d654c06"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Jan 10 16:43:26 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Jan 11 18:05:04 2008 +1100"
      },
      "message": "[XFS] fix unaligned access in readdir\n\nThis patch should fix the issue seen on Alpha with unaligned accesses in\nthe new readdir code. By aligning each dirent to sizeof(u64) we\u0027ll avoid\nunaligned accesses. To make doubly sure we\u0027re not hitting problems also\nrearrange struct hack_dirent to avoid holes.\n\nSGI-PV: 975411\nSGI-Modid: xfs-linux-melb:xfs-kern:30302a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "4743e0ec1217fd00f57461ebdd7979d31af18700",
      "tree": "9e497a5d4c554e2fe2575475c6b2464d5ba14e46",
      "parents": [
        "bad60fdd14df32459e31cc75ab681e4458bf25cf"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Dec 21 11:00:23 2007 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Dec 21 11:40:05 2007 +1100"
      },
      "message": "[XFS] Initialise current offset in xfs_file_readdir correctly\n\nAfter reading the directory contents into the temporary buffer, we grab\neach dirent and pass it to filldir witht eh current offset of the dirent.\nThe current offset was not being set for the first dirent in the temporary\nbuffer, which coul dresult in bad offsets being set in the f_pos field\nresult in looping and duplicate entries being returned from readdir.\n\nSGI-PV: 974905\nSGI-Modid: xfs-linux-melb:xfs-kern:30282a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "bad60fdd14df32459e31cc75ab681e4458bf25cf",
      "tree": "8c768d937724751de565eded68d518f22d263e3e",
      "parents": [
        "041388b54ed95cd169546bd83bacd08ee32bd7ea"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Dec 21 10:58:56 2007 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Dec 21 11:39:58 2007 +1100"
      },
      "message": "[XFS] Fix mknod regression\n\nThis was broken by my \u0027[XFS] simplify xfs_create/mknod/symlink prototype\u0027,\nwhich assigned the re-shuffled ondisk dev_t back to the rdev variable in\nxfs_vn_mknod. Because of that i_rdev is set to the ondisk dev_t instead of\nthe linux dev_t later down the function.\n\nFortunately the fix for it is trivial: we can just remove the assignment\nbecause xfs_revalidate_inode has done the proper job before unlocking the\ninode.\n\nSGI-PV: 974873\nSGI-Modid: xfs-linux-melb:xfs-kern:30273a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "041388b54ed95cd169546bd83bacd08ee32bd7ea",
      "tree": "f457ee15545f6fbed0b0d5b8edd772c8ef7354e5",
      "parents": [
        "c734c79bc397eace039bea406997efa89f879c14"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Tue Dec 18 16:19:34 2007 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Tue Dec 18 17:16:23 2007 +1100"
      },
      "message": "[XFS] Put the correct offset in dirent d_off\n\nThe recent filldir regression fix was not putting the correct d_off in\neach dirent. This was resulting in incorrect cookies being passed to dmapi\nioctls and the wrong offset appearing in the dirents. readdir was\nunaffected as the filp-\u003ef_pos was being updated with the correct offset\nand this was being written into the last dirent in each buffer. Fix the\nXFS code to do the right thing.\n\nSGI-PV: 973746\nSGI-Modid: xfs-linux-melb:xfs-kern:30240a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "41f81e88e01eb959f439f8537c58078e4bfc5291",
      "tree": "3d5dba6982a074bcd5f3248c57679215e5f8b701",
      "parents": [
        "dc3d532a1792263ec9b26c1cbc7ce566056b5b1f",
        "cf10e82bdc0d38d09dfaf46d0daf56136138ef3f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Dec 10 10:18:27 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Dec 10 10:18:27 2007 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com:8090/xfs/xfs-2.6\n\n* \u0027for-linus\u0027 of git://oss.sgi.com:8090/xfs/xfs-2.6:\n  [XFS] Fix xfs_ichgtime()s broken usage of I_SYNC\n  [XFS] Make xfsbufd threads freezable\n  [XFS] revert to double-buffering readdir\n  [XFS] Fix broken inode cluster setup.\n  [XFS] Clear XBF_READ_AHEAD flag on I/O completion.\n  [XFS] Fixed a few bugs in xfs_buf_associate_memory()\n  [XFS] 971064 Various fixups for xfs_bulkstat().\n  [XFS] Fix dbflush panic in xfs_qm_sync.\n"
    },
    {
      "commit": "cf10e82bdc0d38d09dfaf46d0daf56136138ef3f",
      "tree": "e862b00792b2e9c52a85022e4249e81b232b8f01",
      "parents": [
        "978c7b2ff49597ab76ff7529a933bd366941ac25"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Fri Dec 07 14:09:11 2007 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Dec 10 13:47:56 2007 +1100"
      },
      "message": "[XFS] Fix xfs_ichgtime()s broken usage of I_SYNC\n\nThe recent I_LOCK-\u003eI_SYNC changes mistakenly changed xfs_ichgtime to look\nat I_SYNC instead of I_LOCK. This was incorrect and prevents newly created\ninodes from moving to the dirty list. Change this to the correct check\nwhich is for I_NEW, not I_LOCK or I_SYNC so that behaviour is correct.\n\nSGI-PV: 974225\nSGI-Modid: xfs-linux-melb:xfs-kern:30204a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "978c7b2ff49597ab76ff7529a933bd366941ac25",
      "tree": "4695a237af4c1dffe439888fd922a87bd4b33147",
      "parents": [
        "e89bc612d61edbcefaeb6f2244f86c0f3ec89d23"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Dec 07 14:09:02 2007 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Dec 10 13:47:36 2007 +1100"
      },
      "message": "[XFS] Make xfsbufd threads freezable\n\nFix breakage caused by commit 831441862956fffa17b9801db37e6ea1650b0f69\nthat did not introduce the necessary call to set_freezable() in\nxfs/linux-2.6/xfs_buf.c .\n\nSGI-PV: 974224\nSGI-Modid: xfs-linux-melb:xfs-kern:30203a\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "e89bc612d61edbcefaeb6f2244f86c0f3ec89d23",
      "tree": "077e87a470b1ae2b8660fcc02f77f7b303e4c0f7",
      "parents": [
        "a7430847fcb19297d6db833f35b9c9645c4a6395"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Dec 07 14:07:53 2007 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Dec 10 13:47:15 2007 +1100"
      },
      "message": "[XFS] revert to double-buffering readdir\n\nThe current readdir implementation deadlocks on a btree buffers locks\nbecause nfsd calls back into -\u003elookup from the filldir callback. The only\nshort-term fix for this is to revert to the old inefficient\ndouble-buffering scheme.\n\nSGI-PV: 973377\nSGI-Modid: xfs-linux-melb:xfs-kern:30201a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "77be55a5a13d9c7ddf780a93861f2fba33f8be1a",
      "tree": "6ac9c9f5f8acb57d49bd58169d3bca54f03ae1d0",
      "parents": [
        "d1afb678ce77b930334a8a640a05b8e68178a377"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Fri Nov 23 16:31:00 2007 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Dec 10 13:46:45 2007 +1100"
      },
      "message": "[XFS] Clear XBF_READ_AHEAD flag on I/O completion.\n\nSGI-PV: 972554\nSGI-Modid: xfs-linux-melb:xfs-kern:30128a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "d1afb678ce77b930334a8a640a05b8e68178a377",
      "tree": "155f925fa5fca75e445e10611b3fbe12cfad09f4",
      "parents": [
        "cd57e594adc624dd9ee4c0ded3949da21ec24b2f"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Tue Nov 27 17:01:24 2007 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Dec 10 13:46:20 2007 +1100"
      },
      "message": "[XFS] Fixed a few bugs in xfs_buf_associate_memory()\n\n- calculation of \u0027page_count\u0027 was incorrect as it did not\n  consider the offset of \u0027mem\u0027 into the first page. The\n  logic to bump \u0027page_count\u0027 didn\u0027t work if \u0027len\u0027 was \u003c\u003d\n  PAGE_CACHE_SIZE (ie offset \u003d 3k, len \u003d 2k).\n- setting b_buffer_length to \u0027len\u0027 is incorrect if \u0027offset\u0027\n  is \u003e 0. Set it to the total length of the buffer.\n- I suspect that passing a non-aligned address into\n  mem_to_page() for the first page may have been causing\n  issues - don\u0027t know but just tidy up that code anyway.\n\nSGI-PV: 971596\nSGI-Modid: xfs-linux-melb:xfs-kern:30143a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "cd57e594adc624dd9ee4c0ded3949da21ec24b2f",
      "tree": "6c3fb257b4fd5e45ed286899c6fef9e2756287ec",
      "parents": [
        "d757762bf2f6aea954745c76b4d767067b85be9d"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Fri Nov 23 16:30:32 2007 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Dec 10 13:44:11 2007 +1100"
      },
      "message": "[XFS] 971064 Various fixups for xfs_bulkstat().\n\n- sanity check for NULL user buffer in xfs_ioc_bulkstat[_compat]()\n- remove the special case for XFS_IOC_FSBULKSTAT with count \u003d\u003d 1. This\n  special case causes bulkstat to fail because the special case uses\n  xfs_bulkstat_single() instead of xfs_bulkstat() and the two functions\n  have different semantics.  xfs_bulkstat() will return the next inode\n  after the one supplied while skipping internal inodes (ie quota inodes).\n  xfs_bulkstate_single() will only lookup the inode supplied and return\n  an error if it is an internal inode.\n- in xfs_bulkstat(), need to initialise \u0027lastino\u0027 to the inode supplied\n  so in cases were we return without examining any inodes the scan wont\n  restart back at zero.\n- sanity check for valid *ubcountp values. Cannot sanity check for valid\n  ubuffer here because some users of xfs_bulkstat() don\u0027t supply a buffer.\n- checks against \u0027ubleft\u0027 (the space left in the user\u0027s buffer) should be\n  against \u0027statstruct_size\u0027 which is the supplied minimum object size.\n  The mixture of checks against statstruct_size and 0 was one of the\n  reasons we were skipping inodes.\n- if the formatter function returns BULKSTAT_RV_NOTHING and an error and\n  the error is not ENOENT or EINVAL then we need to abort the scan. ENOENT\n  is for inodes that are no longer valid and we just skip them. EINVAL is\n  returned if we try to lookup an internal inode so we skip them too. For\n  a DMF scan if the inode and DMF attribute cannot fit into the space left\n  in the user\u0027s buffer it would return ERANGE. We didn\u0027t handle this error\n  and skipped the inode. We would continue to skip inodes until one fitted\n  into the user\u0027s buffer or we completed the scan.\n- put back the recalculation of agino (that got removed with the last fix)\n  at the end of the while loop. This is because the code at the start of\n  the loop expects agino to be the last inode examined if it is non-zero.\n- if we found some inodes but then encountered an error, return success\n  this time and the error next time. If the formatter aborted with ENOMEM\n  we will now return this error but only if we couldn\u0027t read any inodes.\n  Previously if we encountered ENOMEM without reading any inodes we\n  returned a zero count and no error which falsely indicated the scan was\n  complete.\n\nSGI-PV: 973431\nSGI-Modid: xfs-linux-melb:xfs-kern:30089a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\n"
    },
    {
      "commit": "39655164405940d4818224a085e35420e2f97aed",
      "tree": "6b019b3bc77eecac1731fe64e5c031790c2b5223",
      "parents": [
        "cfaea787c05822acbb4d8963baee5edd1cc0258f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sun Oct 21 16:42:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 22 08:13:21 2007 -0700"
      },
      "message": "exportfs: make struct export_operations const\n\nNow that nfsd has stopped writing to the find_exported_dentry member we an\nmark the export_operations const\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: Timothy Shimmin \u003ctes@sgi.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Chris Mason \u003cmason@suse.com\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: \"Vladimir V. Saveliev\" \u003cvs@namesys.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c38344fe9e73c99d546cc15a2bb97c7a09942aad",
      "tree": "83d3cb3f57367ef934fd751e01ff0e11a21bf5e5",
      "parents": [
        "a35132068a91907c29328abc3156d31e50673412"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sun Oct 21 16:42:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 22 08:13:20 2007 -0700"
      },
      "message": "xfs: new export ops\n\nThis one is a lot more complicated than the previous ones.  XFS already had a\nvery clever scheme for supporting 64bit inode numbers in filehandles, and I\u0027ve\nreworked this to be some kind of a prototype for the generic 64bit inode\nfilehandle support.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: Timothy Shimmin \u003ctes@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c6143911a7e0f8abef0319c801eb36718f57dfde",
      "tree": "86138962b153b617b5c117797394e23337f979c7",
      "parents": [
        "c8fcfac5a257f8a04f7ba3d397dedccffef19be2"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Sep 14 15:22:37 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Fri Oct 19 18:02:55 2007 +1000"
      },
      "message": "[XFS] cleanup fid types mess\n\nCurrently XFs has three different fid types: struct fid, struct xfs_fid\nand struct xfs_fid2 with hte latter two beeing identicaly and the first\none beeing the same size but an unstructured array with the same size.\n\nThis patch consolidates all this to alway uuse struct xfs_fid.\n\nThis patch is required for an upcoming patch series from me that revamps\nthe nfs exporting code and introduces a Linux-wide struct fid.\n\nSGI-PV: 970336\nSGI-Modid: xfs-linux-melb:xfs-kern:29651a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "347c53dca73fca317d57781f510f5ff4f6c0d0d7",
      "tree": "cdc405ac049751da4d76085ce58750b6b2a22326",
      "parents": [
        "5c8e191e8437616a498a8e1cc0af3dd0d32bbff2",
        "7f015072348a14f16d548be557ee58c5c55df0aa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 09:04:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 09:04:11 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com:8090/xfs/xfs-2.6\n\n* \u0027for-linus\u0027 of git://oss.sgi.com:8090/xfs/xfs-2.6: (59 commits)\n  [XFS] eagerly remove vmap mappings to avoid upsetting Xen\n  [XFS] simplify validata_fields\n  [XFS] no longer using io_vnode, as was remaining from 23 cherrypick\n  [XFS] Remove STATIC which was missing from prior manual merge\n  [XFS] Put back the QUEUE_ORDERED_NONE test in the barrier check.\n  [XFS] Turn off XBF_ASYNC flag before re-reading superblock.\n  [XFS] avoid race in sync_inodes() that can fail to write out all dirty data\n  [XFS] This fix prevents bulkstat from spinning in an infinite loop.\n  [XFS] simplify xfs_create/mknod/symlink prototype\n  [XFS] avoid xfs_getattr in XFS_IOC_FSGETXATTR ioctl\n  [XFS] get_bulkall() could return incorrect inode state\n  [XFS] Kill unused IOMAP_EOF flag\n  [XFS] fix when DMAPI mount option processing happens\n  [XFS] ensure file size is logged on synchronous writes\n  [XFS] growlock should be a mutex\n  [XFS] replace some large xfs_log_priv.h macros by proper functions\n  [XFS] kill struct bhv_vfs\n  [XFS] move syncing related members from struct bhv_vfs to struct xfs_mount\n  [XFS] kill the vfs_flags member in struct bhv_vfs\n  [XFS] kill the vfs_fsid and vfs_altfsid members in struct bhv_vfs\n  ...\n"
    },
    {
      "commit": "1c0eeaf5698597146ed9b873e2f9e0961edcf0f9",
      "tree": "5265eac8437e8ce517a62db8fe2bd99db5b7019b",
      "parents": [
        "2e6883bdf49abd0e7f0d9b6297fc3be7ebb2250b"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Tue Oct 16 23:30:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:02 2007 -0700"
      },
      "message": "introduce I_SYNC\n\nI_LOCK was used for several unrelated purposes, which caused deadlock\nsituations in certain filesystems as a side effect.  One of the purposes\nnow uses the new I_SYNC bit.\n\nAlso document the various bits and change their order from historical to\nlogical.\n\n[bunk@stusta.de: make fs/inode.c:wake_up_inode() static]\nSigned-off-by: Joern Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nCc: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: Anton Altaparmakov \u003caia21@cam.ac.uk\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1f7decf6d9f06dac008b8d66935c0c3b18e564f9",
      "tree": "e0f8430bd4e3ed5425aa55b7fa28483341bbfe87",
      "parents": [
        "08d8e9749e7f0435ba4683b620e8d30d59276b4c"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "wfg@mail.ustc.edu.cn",
        "time": "Tue Oct 16 23:30:42 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:02 2007 -0700"
      },
      "message": "writeback: remove pages_skipped accounting in __block_write_full_page()\n\nMiklos Szeredi \u003cmiklos@szeredi.hu\u003e and me identified a writeback bug:\n\n\u003e The following strange behavior can be observed:\n\u003e\n\u003e 1. large file is written\n\u003e 2. after 30 seconds, nr_dirty goes down by 1024\n\u003e 3. then for some time (\u003c 30 sec) nothing happens (disk idle)\n\u003e 4. then nr_dirty again goes down by 1024\n\u003e 5. repeat from 3. until whole file is written\n\u003e\n\u003e So basically a 4Mbyte chunk of the file is written every 30 seconds.\n\u003e I\u0027m quite sure this is not the intended behavior.\n\nIt can be produced by the following test scheme:\n\n# cat bin/test-writeback.sh\ngrep nr_dirty /proc/vmstat\necho 1 \u003e /proc/sys/fs/inode_debug\ndd if\u003d/dev/zero of\u003d/var/x bs\u003d1K count\u003d204800\u0026\nwhile true; do grep nr_dirty /proc/vmstat; sleep 1; done\n\n# bin/test-writeback.sh\nnr_dirty 19207\nnr_dirty 19207\nnr_dirty 30924\n204800+0 records in\n204800+0 records out\n209715200 bytes (210 MB) copied, 1.58363 seconds, 132 MB/s\nnr_dirty 47150\nnr_dirty 47141\nnr_dirty 47142\nnr_dirty 47142\nnr_dirty 47142\nnr_dirty 47142\nnr_dirty 47205\nnr_dirty 47214\nnr_dirty 47214\nnr_dirty 47214\nnr_dirty 47214\nnr_dirty 47214\nnr_dirty 47215\nnr_dirty 47216\nnr_dirty 47216\nnr_dirty 47216\nnr_dirty 47154\nnr_dirty 47143\nnr_dirty 47143\nnr_dirty 47143\nnr_dirty 47143\nnr_dirty 47143\nnr_dirty 47142\nnr_dirty 47142\nnr_dirty 47142\nnr_dirty 47142\nnr_dirty 47134\nnr_dirty 47134\nnr_dirty 47135\nnr_dirty 47135\nnr_dirty 47135\nnr_dirty 46097 \u003c\u003d\u003d -1038\nnr_dirty 46098\nnr_dirty 46098\nnr_dirty 46098\n[...]\nnr_dirty 46091\nnr_dirty 46092\nnr_dirty 46092\nnr_dirty 45069 \u003c\u003d\u003d -1023\nnr_dirty 45056\nnr_dirty 45056\nnr_dirty 45056\n[...]\nnr_dirty 37822\nnr_dirty 36799 \u003c\u003d\u003d -1023\n[...]\nnr_dirty 36781\nnr_dirty 35758 \u003c\u003d\u003d -1023\n[...]\nnr_dirty 34708\nnr_dirty 33672 \u003c\u003d\u003d -1024\n[...]\nnr_dirty 33692\nnr_dirty 32669 \u003c\u003d\u003d -1023\n\n% ls -li /var/x\n847824 -rw-r--r-- 1 root root 200M 2007-08-12 04:12 /var/x\n\n% dmesg|grep 847824  # generated by a debug printk\n[  529.263184] redirtied inode 847824 line 548\n[  564.250872] redirtied inode 847824 line 548\n[  594.272797] redirtied inode 847824 line 548\n[  629.231330] redirtied inode 847824 line 548\n[  659.224674] redirtied inode 847824 line 548\n[  689.219890] redirtied inode 847824 line 548\n[  724.226655] redirtied inode 847824 line 548\n[  759.198568] redirtied inode 847824 line 548\n\n# line 548 in fs/fs-writeback.c:\n543                 if (wbc-\u003epages_skipped !\u003d pages_skipped) {\n544                         /*\n545                          * writeback is not making progress due to locked\n546                          * buffers.  Skip this inode for now.\n547                          */\n548                         redirty_tail(inode);\n549                 }\n\nMore debug efforts show that __block_write_full_page()\nnever has the chance to call submit_bh() for that big dirty file:\nthe buffer head is *clean*. So basicly no page io is issued by\n__block_write_full_page(), hence pages_skipped goes up.\n\nAlso the comment in generic_sync_sb_inodes():\n\n544                         /*\n545                          * writeback is not making progress due to locked\n546                          * buffers.  Skip this inode for now.\n547                          */\n\nand the comment in __block_write_full_page():\n\n1713                 /*\n1714                  * The page was marked dirty, but the buffers were\n1715                  * clean.  Someone wrote them back by hand with\n1716                  * ll_rw_block/submit_bh.  A rare case.\n1717                  */\n\ndo not quite agree with each other. The page writeback should be skipped for\n\u0027locked buffer\u0027, but here it is \u0027clean buffer\u0027!\n\nThis patch fixes this bug. Though I\u0027m not sure why __block_write_full_page()\nis called only to do nothing and who actually issued the writeback for us.\n\nThis is the two possible new behaviors after the patch:\n\n1) pretty nice: wait 30s and write ALL:)\n2) not so good:\n\t- during the dd: ~16M\n\t- after 30s:      ~4M\n\t- after 5s:       ~4M\n\t- after 5s:     ~176M\n\nThe next patch will fix case (2).\n\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: Ken Chen \u003ckenchen@google.com\u003e\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ba9b9d0ba0a49d91fa6417c7510ee36f48cf957",
      "tree": "191b4f45f926e44b882b1e87a9a85dc12230b892",
      "parents": [
        "b811c202a0edadaac7242ab834fe7ba409978ae7"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Oct 16 23:25:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:45 2007 -0700"
      },
      "message": "Slab API: remove useless ctor parameter and reorder parameters\n\nSlab constructors currently have a flags parameter that is never used.  And\nthe order of the arguments is opposite to other slab functions.  The object\npointer is placed before the kmem_cache pointer.\n\nConvert\n\n        ctor(void *object, struct kmem_cache *s, unsigned long flags)\n\nto\n\n        ctor(struct kmem_cache *s, void *object)\n\nthroughout the kernel\n\n[akpm@linux-foundation.org: coupla fixes]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "7f015072348a14f16d548be557ee58c5c55df0aa"
}
