)]}'
{
  "log": [
    {
      "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": "ef8ece55d9b6825c28a5c1a4bd89b94040cb7b32",
      "tree": "c086be0bf7ef1139db75d4fd084f2390545629e8",
      "parents": [
        "db69c915e67705daac25cad06d816c09be634de0"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Tue Feb 26 17:00:22 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Tue Feb 26 17:05:44 2008 +1100"
      },
      "message": "[XFS] Undo bit ops cleanup mod due to regression on 32-bit powermac\nplatform.\n\nSGI-PV: 971186\nSGI-Modid: xfs-linux-melb:xfs-kern:30559a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "db69c915e67705daac25cad06d816c09be634de0",
      "tree": "8befd8c9eb1763345a031dfcd64a7559e0c388e0",
      "parents": [
        "91e229bbad6524aabaac8717b2f559283670c37a"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Tue Feb 26 17:00:14 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Tue Feb 26 17:05:37 2008 +1100"
      },
      "message": "[XFS] Undo bit ops cleanup mod due to regression on 32-bit powermac\nplatform.\n\nSGI-PV: 974005\nSGI-Modid: xfs-linux-melb:xfs-kern:30558a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "6e5e93424dc66542c548dfaa3bfebe30d46d50dd",
      "tree": "232aeb0a00995ed2cd0213694d3a635f4aef41a0",
      "parents": [
        "c58310bf4933986513020fa90b4190c7492995ae"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Feb 22 15:36:19 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Feb 22 15:39:10 2008 +1100"
      },
      "message": "Remove empty file fs/xfs/Makefile-linux-2.6.\n"
    },
    {
      "commit": "c58310bf4933986513020fa90b4190c7492995ae",
      "tree": "143f2c7578d02ebef5db8fc57ae69e951ae0e2ee",
      "parents": [
        "269cdfaf769f5cd831284cc831790c7c5038040f",
        "1309d4e68497184d2fd87e892ddf14076c2bda98"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Feb 18 13:51:42 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Feb 18 13:51:42 2008 +1100"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-linus\n"
    },
    {
      "commit": "269cdfaf769f5cd831284cc831790c7c5038040f",
      "tree": "d7e4ff963d0bf73f5ba61500f1bae0fcfca9d9d6",
      "parents": [
        "794f744b225aaf35742aac9e7b9dda96a9943413"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Wed Nov 28 18:28:09 2007 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Feb 18 13:06:17 2008 +1100"
      },
      "message": "[XFS] Added quota targets and removed dmapi directory\n\nFixes build failures introduced by bad merge to mainline.\n"
    },
    {
      "commit": "794f744b225aaf35742aac9e7b9dda96a9943413",
      "tree": "f012535ad9c2db32d7b816471a622d92baf30493",
      "parents": [
        "58b7983d15a422d9616bdc4e245d5c31dfaefbe2"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Tue Nov 27 16:59:56 2007 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Feb 18 12:59:11 2008 +1100"
      },
      "message": "[XFS] Fix up xfs out-of-tree builds. (a.k.a. external modules)\n\nChange -I include directives to find headers in the out-of-tree spot. This\nallows a directory containing only xfs files to be built as:\n\nSGI-PV: 971186\nSGI-Modid: xfs-linux-melb:xfs-kern:29878a\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": "58b7983d15a422d9616bdc4e245d5c31dfaefbe2",
      "tree": "0adeb3f24f366ffec42b13eafc0ecf13c9a74edb",
      "parents": [
        "de2eeea609b55e8c3994133a565b39edeaaaaf69"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Tue Nov 27 16:53:47 2007 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Feb 18 12:48:03 2008 +1100"
      },
      "message": "[XFS] Remove Makefile wrappers in XFS\n\nMakefile (and Kbuild) would include Makefile-linux-26 I doubt XFS will\nreally still compile on 2.4; so drop that. This moves Makefile-linux-26\ninto Makefile and drops Kbuild. Also having wrappers as both Kbuild and\nMakefile seemed redundant anyways.\n\nThe patch is relatively large because it renames a file, but no functional\nchanges.\n\nSGI-PV: 971050\nSGI-Modid: xfs-linux-melb:xfs-kern:29781a\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Donald Douwsma \u003cdonaldd@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\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": "413d57c9907c72ed608df2be72ef8ed13a3eeb46",
      "tree": "92f98a1219915d2d72589b24a04232fccf3a40f2",
      "parents": [
        "91d35dd93e14c34539a8005183ea500f25caad02"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Wed Feb 13 15:03:29 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 13 16:21:19 2008 -0800"
      },
      "message": "xfs: convert beX_add to beX_add_cpu (new common API)\n\nremove beX_add functions and replace all uses with beX_add_cpu\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nReviewed-by: Dave Chinner \u003cdgc@sgi.com\u003e\nCc: Timothy Shimmin \u003ctes@sgi.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\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": "de08dbc1977419efa47eb71f10d96a98eb5bb111",
      "tree": "178aab8a805b8b44d593f9e96eae5fd3cb792ff9",
      "parents": [
        "249a8c1124653fa90f3a3afff869095a31bc229f"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Tue Feb 05 12:13:38 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:23:05 2008 +1100"
      },
      "message": "[XFS] Make xfs_ail_check check less by default\n\nChecking the entire AIL on every insert and remove is prohibitively\nexpensive - the sustained sequntial create rate on a single disk drops\nfrom about 1800/s to 60/s because of this checking resulting in the\nxfslogd becoming cpu bound.\n\nBy default on debug builds, only check the next and previous entries in\nthe list to ensure they are ordered correctly. If you really want, define\nXFS_TRANS_DEBUG to use the old behaviour.\n\nSGI-PV: 972759\nSGI-Modid: xfs-linux-melb:xfs-kern:30372a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\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": "f6aa7f2184330262e1cb5f7802536e5346bd46a3",
      "tree": "73edcd57933b033bf69e6ae5cf46e102b47b41cb",
      "parents": [
        "35fec8df65217546f6d9d508b203c1d135a67fbc"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Feb 05 12:13:15 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:22:24 2008 +1100"
      },
      "message": "[XFS] stop re-checking permissions in xfs_swapext\n\nxfs_swapext should simplify check if we have a writeable file descriptor\ninstead of re-checking the permissions using xfs_iaccess. Add an\nadditional check to refuse O_APPEND file descriptors because swapext is\nnot an append-only write operation.\n\nSGI-PV: 971186\nSGI-Modid: xfs-linux-melb:xfs-kern:30369a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "35fec8df65217546f6d9d508b203c1d135a67fbc",
      "tree": "e6f7b4b8d4df7e2f5ac571ba39ad72f256102785",
      "parents": [
        "199037c598daf5f3602dace68c331665a4f4f0c1"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Feb 05 12:13:07 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:22:02 2008 +1100"
      },
      "message": "[XFS] clean up xfs_swapext\n\n- stop using vnodes\n- use proper multiple label goto unwinding\n- give the struct file * variables saner names\n\nSGI-PV: 971186\nSGI-Modid: xfs-linux-melb:xfs-kern:30366a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "199037c598daf5f3602dace68c331665a4f4f0c1",
      "tree": "5a42444f8063eea365b75951441f2fdc709e8fbe",
      "parents": [
        "9742bb93da27737fe490eab2af9fba1efa243dcb"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Feb 05 12:12:58 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:21:14 2008 +1100"
      },
      "message": "[XFS] remove permission check from xfs_change_file_space\n\nBoth callers of xfs_change_file_space alreaedy do the file-\u003ef_mode \u0026\nFMODE_WRITE check to ensure we have a file descriptor that has been opened\nfor write mode, so there is no need to re-check that with xfs_iaccess.\nEspecially as the later might wrongly deny it for corner cases like file\ndescriptor passing through unix domain sockets.\n\nSGI-PV: 971186\nSGI-Modid: xfs-linux-melb:xfs-kern:30365a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "9742bb93da27737fe490eab2af9fba1efa243dcb",
      "tree": "a5563e9775d42756024bc741d12d139f9a068dcb",
      "parents": [
        "f71354bc3a96c657a70e36dcf980cbad6c9fc63f"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Jan 10 16:43:36 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:20:58 2008 +1100"
      },
      "message": "[XFS] prevent panic during log recovery due to bogus op_hdr length\n\nA problem was reported where a system panicked in log recovery due to a\ncorrupt log record. The cause of the corruption is not known but this\nchange will at least prevent a crash for this specific scenario. Log\nrecovery definitely needs some more work in this area.\n\nSGI-PV: 974151\nSGI-Modid: xfs-linux-melb:xfs-kern:30318a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\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": "edd319dc527733e61eec5bdc9ce20c94634b6482",
      "tree": "b2fdf06a9bfec6e905dfab9c8a23faaebf27c54d",
      "parents": [
        "45ba598e56fa9f77801e06432b50580d97994fa4"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Fri Dec 07 14:08:48 2007 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:19:41 2008 +1100"
      },
      "message": "[XFS] Fix xfs_lowbit64\n\nxfs_lowbit64 was broken on 32 bit platforms in a recent cleanup of the xfs\nbitops. Fix it back up again.\n\nSGI-PV: 974005\nSGI-Modid: xfs-linux-melb:xfs-kern:30202a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "45ba598e56fa9f77801e06432b50580d97994fa4",
      "tree": "4c0bd022cbdc705426e6d2fba19ab7c23edefb55",
      "parents": [
        "a9759f2de38a3443d5107bddde03b4f3f550060e"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Dec 07 14:07:20 2007 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:19:24 2008 +1100"
      },
      "message": "[XFS] Remove CFORK macros and use code directly in IFORK and DFORK macros.\n\nCurrently XFS_IFORK_* and XFS_DFORK* are implemented by means of\nXFS_CFORK* macros. But given that XFS_IFORK_* operates on an xfs_inode\nthat embedds and xfs_icdinode_core and XFS_DFORK_* operates on an\nxfs_dinode that embedds a xfs_dinode_core one will have to do endian\nswapping while the other doesn\u0027t. Instead of having the current mess with\nthe CFORK macros that have byteswapping and non-byteswapping version\n(which are inconsistantly named while we\u0027re at it) just define each family\nof the macros to stand by itself and simplify the whole matter.\n\nA few direct references to the CFORK variants were cleaned up to use IFORK\nor DFORK to make this possible.\n\nSGI-PV: 971186\nSGI-Modid: xfs-linux-melb:xfs-kern:30163a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@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": "40ebd81d1a7635cf92a59c387a599fce4863206b",
      "tree": "f8ffb52395e17a27951168a37b4bbb845c64e3a9",
      "parents": [
        "e6a4b37f38dca6e86b2648d172946700ee921e12"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Fri Nov 23 16:30:51 2007 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:18:19 2008 +1100"
      },
      "message": "[XFS] Use kernel-supplied \"roundup_pow_of_two\" for simplicity\n\nSGI-PV: 971186\nSGI-Modid: xfs-linux-melb:xfs-kern:30098a\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\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": "f7b7c3673e6e225de337abe00e14dc048e44782b",
      "tree": "74617d978c7ea61ef147491ecaeb135c3c563805",
      "parents": [
        "71ddabb94a623d1e16e7e66898bf439ff78ecc41"
      ],
      "author": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Tue Nov 27 17:01:13 2007 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:17:39 2008 +1100"
      },
      "message": "[XFS] Remove bogus assert\n\nThis assert is bogus. We can have a forced shutdown occur\nbetween the check for the XLOG_FORCED_SHUTDOWN and the ASSERT. Also, the\nlogging system shouldn\u0027t care about the state of XFS_FORCED_SHUTDOWN, it\nshould only check XLOG_FORCED_SHUTDOWN. The logging system has it\u0027s own\nforced shutdown flag so, for the case of a forced shutdown that\u0027s not due\nto a logging error, we can flush the log.\n\nSGI-PV: 972985\nSGI-Modid: xfs-linux-melb:xfs-kern:30029a\n\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdgc@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": "e4143a1cf5973e3443c0650fc4c35292d3b7baa8",
      "tree": "320e3fcd98e8a17e250272c01c4518524ce255b0",
      "parents": [
        "786f486f8154b94b36182d2b53df3bf2b40d85e7"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Fri Nov 23 16:29:11 2007 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:15:55 2008 +1100"
      },
      "message": "[XFS] Fix transaction overrun during writeback.\n\nPrevent transaction overrun in xfs_iomap_write_allocate() if we race with\na truncate that overlaps the delalloc range we were planning to allocate.\n\nIf we race, we may allocate into a hole and that requires block\nallocation. At this point in time we don\u0027t have a reservation for block\nallocation (apart from metadata blocks) and so allocating into a hole\nrather than a delalloc region results in overflowing the transaction block\nreservation.\n\nFix it by only allowing a single extent to be allocated at a time.\n\nSGI-PV: 972757\nSGI-Modid: xfs-linux-melb:xfs-kern:30005a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "786f486f8154b94b36182d2b53df3bf2b40d85e7",
      "tree": "30184e8620d98891946960c7fc2fa72cbab87ce8",
      "parents": [
        "8ae2c0f64a81a93d2c394eacee29d6ced53b54f9"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Fri Nov 23 16:28:24 2007 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:15:43 2008 +1100"
      },
      "message": "[XFS] Show all mount args in /proc/mounts\n\nThere are several mount options that don\u0027t show up in /proc/mounts. Add\nthem in and clean up the showargs code at the same time.\n\nSGI-PV: 971186\nSGI-Modid: xfs-linux-melb:xfs-kern:30004a\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": "8ae2c0f64a81a93d2c394eacee29d6ced53b54f9",
      "tree": "6a28f5609daaaa7e8b069323c9a19e9cd87772c4",
      "parents": [
        "a8272ce0c1d49aa3bec57682678f0bdfe28ed4ca"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Fri Nov 23 16:28:17 2007 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:15:29 2008 +1100"
      },
      "message": "[XFS] Fix sparse warning in xlog_recover_do_efd_trans.\n\nSparse trips over the locking order in xlog_recover_do_efd_trans() when\nxfs_trans_delete_ail() drops the ail lock. Because the unlock is\nconditional, we need to either annotate with a \"fake unlock\" or change the\nstructure of the code so sparse thinks the function always unlocks.\n\nReordering the code makes it simpler, so do that.\n\nSGI-PV: 972755\nSGI-Modid: xfs-linux-melb:xfs-kern:30003a\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": "a69b176df246d59626e6a9c640b44c0921fa4566",
      "tree": "ef763ee32c95da88b4aa119d084d5f022e8e0477",
      "parents": [
        "c319b58b13bb22f9a2478825b06c641c825f51ec"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Fri Nov 23 16:27:59 2007 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:14:22 2008 +1100"
      },
      "message": "[XFS] Use the generic bitops rather than implementing them ourselves.\nPatch inspired by Andi Kleen.\n\nSGI-PV: 971186\nSGI-Modid: xfs-linux-melb:xfs-kern:30000a\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": "c319b58b13bb22f9a2478825b06c641c825f51ec",
      "tree": "92d259656210a8bd698e02aac28b37c32d6a9e3e",
      "parents": [
        "98ce2b5b1bd6db9f8d510b4333757fa6b1efe131"
      ],
      "author": {
        "name": "Vlad Apostolov",
        "email": "vapo@sgi.com",
        "time": "Fri Nov 23 16:27:51 2007 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:13:37 2008 +1100"
      },
      "message": "[XFS] Make xfs_bulkstat() to report unlinked but referenced inodes\n\nWe need xfs_bulkstat() to report inode stat for inodes with link count\nzero but reference count non zero.\n\nThe fix here:\n\nhttp://oss.sgi.com/archives/xfs/2007-09/msg00266.html\n\nchanged this behavior and made xfs_bulkstat() to filter all unlinked\ninodes including those that are not destroyed yet but held by reference.\n\nThe attached patch returns back to the original behavior by marking the\non-disk inode buffer \"dirty\" when di_mode is cleared (at that time both\ninode link and reference counter are zero).\n\nSGI-PV: 972004\nSGI-Modid: xfs-linux-melb:xfs-kern:29914a\n\nSigned-off-by: Vlad Apostolov \u003cvapo@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\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": "d4f3cc016fd6b392d483adc586b6dfaabad081af",
      "tree": "6ccd74879d21159fb23f94c893142697eacac803",
      "parents": [
        "91906a882a4c9541317bc4f4c7fa5d8b784ba198"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Fri Oct 12 11:13:08 2007 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:13:05 2008 +1100"
      },
      "message": "[XFS] lose xfs_hex_dump in favor of print_hex_dump\n\nNo need for xfs to have its own hex dumping routine now that the kernel\nhas one.\n\nSGI-PV: 971186\nSGI-Modid: xfs-linux-melb:xfs-kern:29847a\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": "91906a882a4c9541317bc4f4c7fa5d8b784ba198",
      "tree": "384a001000fa53e01b4e11c149aeb7e57ad02d3f",
      "parents": [
        "c40ea74101ab75a8f320d057e7cf4b772b090110"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Oct 12 11:12:54 2007 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:12:41 2008 +1100"
      },
      "message": "[XFS] kill XFS_INOBT_IS_FREE_DISK\n\nThis macro is unused an all other acros in this family operate on native\ntypes, so we most likely won\u0027t grow a user either.\n\nSGI-PV: 971186\nSGI-Modid: xfs-linux-melb:xfs-kern:29846a\n\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": "0771fb4515229821b7d74865b87a430de9fc1113",
      "tree": "073bec9401cc39ee3f4f01cf549d943c4409d653",
      "parents": [
        "b53e675dc868c4844ecbcce9149cf68e4299231d"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Fri Oct 12 11:03:40 2007 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:11:56 2008 +1100"
      },
      "message": "[XFS] Refactor xfs_mountfs\n\nRefactoring xfs_mountfs() to call sub-functions for logical chunks can\nhelp save a bit of stack, and can make it easier to read this long\nfunction.\n\nThe mount path is one of the longest common callchains, easily getting to\nwithin a few bytes of the end of a 4k stack when over lvm, quotas are\nenabled, and quotacheck must be done.\n\nWith this change on top of the other stack-related changes I\u0027ve sent, I\ncan get xfs to survive a normal xfsqa run on 4k stacks over lvm.\n\nSGI-PV: 971186\nSGI-Modid: xfs-linux-melb:xfs-kern:29834a\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": "b53e675dc868c4844ecbcce9149cf68e4299231d",
      "tree": "e49928f2faa73d2f59b80647814835343c9379e5",
      "parents": [
        "67fcb7bfb69eb1072c7e2dd6b46fa34db11dd587"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Oct 12 10:59:34 2007 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:11:47 2008 +1100"
      },
      "message": "[XFS] xlog_rec_header/xlog_rec_ext_header endianess annotations\n\nMostly trivial conversion with one exceptions: h_num_logops was kept in\nnative endian previously and only converted to big endian in xlog_sync,\nbut we always keep it big endian now. With todays cpus fast byteswap\ninstructions that\u0027s not an issue but the new variant keeps the code clean\nand maintainable.\n\nSGI-PV: 971186\nSGI-Modid: xfs-linux-melb:xfs-kern:29821a\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": "67fcb7bfb69eb1072c7e2dd6b46fa34db11dd587",
      "tree": "f0666c9b6745fe0641136142c36d42c0da0331f5",
      "parents": [
        "03bea6fe6c38c502c815432999eacfa2eccb0a12"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Oct 12 10:58:59 2007 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:11:38 2008 +1100"
      },
      "message": "[XFS] clean up some xfs_log_priv.h macros\n\n- the various assign lsn macros are replaced by a single inline,\nxlog_assign_lsn, which is equivalent to ASSIGN_ANY_LSN_HOST except\nfor a more sane calling convention. ASSIGN_LSN_DISK is replaced\nby xlog_assign_lsn and a manual bytespap, and ASSIGN_LSN by the same,\nexcept we pass the cycle and block arguments explicitly instead of a\nlog paramter. The latter two variants only had 2, respectively one\nuser anyway.\n- the GET_CYCLE is replaced by a xlog_get_cycle inline with exactly the\nsame calling conventions.\n- GET_CLIENT_ID is replaced by xlog_get_client_id which leaves away\nthe unused arch argument. Instead of conditional defintions\ndepending on host endianess we now do an unconditional swap and shift\nthen, which generates equal code.\n- the unused XLOG_SET macro is removed.\n\nSGI-PV: 971186\nSGI-Modid: xfs-linux-melb:xfs-kern:29820a\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": "03bea6fe6c38c502c815432999eacfa2eccb0a12",
      "tree": "9800a1633a53dafdceb8799155a192d65be0b111",
      "parents": [
        "9909c4aa1a3e5b1f23cbc1bc2f0db025a7f75f85"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Oct 12 10:58:05 2007 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 18:10:31 2008 +1100"
      },
      "message": "[XFS] clean up some xfs_log_priv.h macros\n\n- the various assign lsn macros are replaced by a single inline,\nxlog_assign_lsn, which is equivalent to ASSIGN_ANY_LSN_HOST except\nfor a more sane calling convention. ASSIGN_LSN_DISK is replaced\nby xlog_assign_lsn and a manual bytespap, and ASSIGN_LSN by the same,\nexcept we pass the cycle and block arguments explicitly instead of a\nlog paramter. The latter two variants only had 2, respectively one\nuser anyway.\n- the GET_CYCLE is replaced by a xlog_get_cycle inline with exactly the\nsame calling conventions.\n- GET_CLIENT_ID is replaced by xlog_get_client_id which leaves away\nthe unused arch argument. Instead of conditional defintions\ndepending on host endianess we now do an unconditional swap and shift\nthen, which generates equal code.\n- the unused XLOG_SET macro is removed.\n\nSGI-PV: 971186\nSGI-Modid: xfs-linux-melb:xfs-kern:29819a\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": "3a0e487034107c0859b8a0d71d14b5c8988d356b",
      "tree": "c27d97a9bd498ac0d8942ed596d46cf4abe7af76",
      "parents": [
        "3685c2a1d773781608c9e281a6ff6b4c8ea8f6f9"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Oct 11 17:43:32 2007 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 16:47:25 2008 +1100"
      },
      "message": "[XFS] ktrace kt_lock is unused, remove it.\n\nSGI-PV: 970382\nSGI-Modid: xfs-linux-melb:xfs-kern:29747a\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": "3685c2a1d773781608c9e281a6ff6b4c8ea8f6f9",
      "tree": "f3d3a45002e64c8204de0db66bad2db1b73b5844",
      "parents": [
        "ba74d0cba51dcaa99e4dc2e4fb62e6e13abbf703"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Oct 11 17:42:32 2007 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 16:47:15 2008 +1100"
      },
      "message": "[XFS] Unwrap XFS_SB_LOCK.\n\nUn-obfuscate XFS_SB_LOCK, remove XFS_SB_LOCK-\u003emutex_lock-\u003espin_lock\nmacros, call spin_lock directly, remove extraneous cookie holdover from\nold xfs code, and change lock type to spinlock_t.\n\nSGI-PV: 970382\nSGI-Modid: xfs-linux-melb:xfs-kern:29746a\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": "ba74d0cba51dcaa99e4dc2e4fb62e6e13abbf703",
      "tree": "1dfedaeec9702659950c2ee19dccee4ea076c3ed",
      "parents": [
        "703e1f0fd2edc2978bde3b4536e78b577318c090"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Oct 11 17:42:10 2007 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 16:47:01 2008 +1100"
      },
      "message": "[XFS] Unwrap mru_lock.\n\nUn-obfuscate mru_lock, remove mutex_lock-\u003espin_lock macros, call spin_lock\ndirectly, remove extraneous cookie holdover from old xfs code.\n\nSGI-PV: 970382\nSGI-Modid: xfs-linux-melb:xfs-kern:29745a\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": "703e1f0fd2edc2978bde3b4536e78b577318c090",
      "tree": "cb7e227feb32d010f71512fdef3e8ece49e2f99c",
      "parents": [
        "64137e56d76a5c05aa4411e2f5d7121593dd9478"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Oct 11 17:41:21 2007 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 16:46:48 2008 +1100"
      },
      "message": "[XFS] Unwrap xfs_dabuf_global_lock\n\nUn-obfuscate dabuf_global_lock, remove mutex_lock-\u003espin_lock macros, call\nspin_lock directly, remove extraneous cookie holdover from old xfs code,\nand change lock type to spinlock_t.\n\nSGI-PV: 970382\nSGI-Modid: xfs-linux-melb:xfs-kern:29744a\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": "64137e56d76a5c05aa4411e2f5d7121593dd9478",
      "tree": "6bc104e0ec96051771e646d8e86c82f63b428fde",
      "parents": [
        "869b906078720b68711569b68de0acca6b73b675"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Oct 11 17:38:28 2007 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 16:46:39 2008 +1100"
      },
      "message": "[XFS] Unwrap pagb_lock.\n\nUn-obfuscate pagb_lock, remove mutex_lock-\u003espin_lock macros, call\nspin_lock directly, remove extraneous cookie holdover from old xfs code,\nand change lock type to spinlock_t.\n\nSGI-PV: 970382\nSGI-Modid: xfs-linux-melb:xfs-kern:29743a\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": "869b906078720b68711569b68de0acca6b73b675",
      "tree": "be6241b9697ca7bb8b8417296c6e46f21bc7fd27",
      "parents": [
        "c8b5ea289fed15a7d7a4d6e911987ff16499aed7"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Oct 11 17:38:18 2007 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 16:44:50 2008 +1100"
      },
      "message": "[XFS] Unwrap XFS_DQ_PINUNLOCK.\n\nUn-obfuscate DQ_PINLOCK, remove DQ_PINLOCK-\u003emutex_lock-\u003espin_lock macros,\ncall spin_lock directly, remove extraneous cookie holdover from old xfs\ncode, and change lock type to spinlock_t.\n\nSGI-PV: 970382\nSGI-Modid: xfs-linux-melb:xfs-kern:29742a\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": "c8b5ea289fed15a7d7a4d6e911987ff16499aed7",
      "tree": "87abfca7086b8d68c1696e9c1557f1d5440e9f32",
      "parents": [
        "b22cd72c95df0414e0502a0999624d460ba66126"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Oct 11 17:37:31 2007 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 16:44:41 2008 +1100"
      },
      "message": "[XFS] Unwrap GRANT_LOCK.\n\nUn-obfuscate GRANT_LOCK, remove GRANT_LOCK-\u003emutex_lock-\u003espin_lock macros,\ncall spin_lock directly, remove extraneous cookie holdover from old xfs\ncode, and change lock type to spinlock_t.\n\nSGI-PV: 970382\nSGI-Modid: xfs-linux-melb:xfs-kern:29741a\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": "b22cd72c95df0414e0502a0999624d460ba66126",
      "tree": "6f65eb03e95238886007abd780be73a3c2427a9b",
      "parents": [
        "287f3dad14828275d2517c8696ad118c82b9243f"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Oct 11 17:37:10 2007 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 16:44:32 2008 +1100"
      },
      "message": "[XFS] Unwrap LOG_LOCK.\n\nUn-obfuscate LOG_LOCK, remove LOG_LOCK-\u003emutex_lock-\u003espin_lock macros, call\nspin_lock directly, remove extraneous cookie holdover from old xfs code,\nand change lock type to spinlock_t.\n\nSGI-PV: 970382\nSGI-Modid: xfs-linux-melb:xfs-kern:29740a\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": "287f3dad14828275d2517c8696ad118c82b9243f",
      "tree": "4868d40f6c49984ff84f2957d84a3de160d46d7a",
      "parents": [
        "541d7d3c4b31e2b0ac846fe6d2eb5cdbe1353095"
      ],
      "author": {
        "name": "Donald Douwsma",
        "email": "donaldd@sgi.com",
        "time": "Thu Oct 11 17:36:05 2007 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 16:44:23 2008 +1100"
      },
      "message": "[XFS] Unwrap AIL_LOCK\n\nSGI-PV: 970382\nSGI-Modid: xfs-linux-melb:xfs-kern:29739a\n\nSigned-off-by: Donald Douwsma \u003cdonaldd@sgi.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\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": "44866d39282d0782b15fa4cb62aad937bf0a0897",
      "tree": "12cb75bb94a86952106ee58c5e83709b93afddf7",
      "parents": [
        "9ef9dc69d4167276c04590d67ee55de8380bc1ad"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Fri Sep 14 15:21:08 2007 +1000"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Feb 07 16:40:53 2008 +1100"
      },
      "message": "[XFS] remove dead SYNC_BDFLUSH case in xfs_sync_inodes\n\nA large part of xfs_sync_inodes is conditional on the SYNC_BDFLUSH which\nis never passed to it. This patch removes it and adds an assert that\ntriggers in case some new code tries to pass SYNC_BDFLUSH to it.\n\nSGI-PV: 970242\nSGI-Modid: xfs-linux-melb:xfs-kern:29630a\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": "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": "c734c79bc397eace039bea406997efa89f879c14",
      "tree": "50da16cf18fa773ce5ccb9c6e1b59c13e681a0b7",
      "parents": [
        "c63a1190368771b8207d86c4217ae4afdf1cbd5e"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Tue Dec 18 16:17:41 2007 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Tue Dec 18 17:16:17 2007 +1100"
      },
      "message": "[XFS] Don\u0027t wait for pending I/Os when purging blocks beyond eof.\n\nOn last close of a file we purge blocks beyond eof. The same code is used\nwhen we truncate the file size down. In this case we need to wait for any\npending I/Os for dirty pages beyond the new eof. For the last close case\nwe are not changing the file size and therefore do not need to wait for\nany I/Os to complete. This fixes a performance bottleneck where writes\ninto the page cache and cache flushes can become mutually exclusive.\n\nSGI-PV: 964002\nSGI-Modid: xfs-linux-melb:xfs-kern:30220a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Peter Leckie \u003cpleckie@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": "a7430847fcb19297d6db833f35b9c9645c4a6395",
      "tree": "da7b2712a0ae98f40f3e937ff9cdc428005a4fda",
      "parents": [
        "77be55a5a13d9c7ddf780a93861f2fba33f8be1a"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Fri Nov 23 16:30:23 2007 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Dec 10 13:46:59 2007 +1100"
      },
      "message": "[XFS] Fix broken inode cluster setup.\n\nThe radix tree based inode caches did away with the inode cluster hashes,\nreplacing them with a bunch of masking and gang lookups on the radix tree.\n\nThis masking got broken when moving the code to per-ag radix trees and\nindexing by agino # rather than straight inode number. The result is\nclustered inode writeback does not cluster and things can go extremely\nslowly when there are lots of inodes to write.\n\nFix it up by comparing the agino # of the inode we just looked up to the\nindex of the cluster we are looking for.\n\nTested-by: Torsten Kaiser \u003cjust.for.lkml@googlemail.com\u003e\n\nSGI-PV: 972915\nSGI-Modid: xfs-linux-melb:xfs-kern:30033a\n\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": "d757762bf2f6aea954745c76b4d767067b85be9d",
      "tree": "3885cad02c46003849f79f37195c7e8b7df13275",
      "parents": [
        "c6143911a7e0f8abef0319c801eb36718f57dfde"
      ],
      "author": {
        "name": "Donald Douwsma",
        "email": "donaldd@sgi.com",
        "time": "Fri Nov 23 16:27:42 2007 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Dec 10 13:40:10 2007 +1100"
      },
      "message": "[XFS] Fix dbflush panic in xfs_qm_sync.\n\nThe recent behaviour layer removal dropped the check for quotas that have\nbeen requested at mount time but have subsequently been turned off. This\nresults in a panic when accessing m_quotainfo which has been freed.\n\nThis patch adds the check originally made by xfs_qm_syncall() to\nxfs_qm_sync().\n\nSGI-PV: 969769\nSGI-Modid: xfs-linux-melb:xfs-kern:29908a\n\nSigned-off-by: Donald Douwsma \u003cdonaldd@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@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": "c8fcfac5a257f8a04f7ba3d397dedccffef19be2",
      "tree": "38dba94d1b3a81f56ee93dbf35b2cf1408f58620",
      "parents": [
        "4fa4d23fa20de67df919030c1216295664866ad7"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 19 16:57:01 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Fri Oct 19 17:14:45 2007 +1000"
      },
      "message": "[XFS] fixups after behavior removal merge into mainline git\n\nFixup for lack of dmapi support and no quota module support.\n\nSGI-PV: 969985\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\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"
    },
    {
      "commit": "7f015072348a14f16d548be557ee58c5c55df0aa",
      "tree": "957c0ddf2bddd976269f707ef8043e588baf1c5f",
      "parents": [
        "6572bc28de150aaa6ca182eaf3e60c199ba48630"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Wed Oct 17 13:55:03 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Wed Oct 17 14:14:35 2007 +1000"
      },
      "message": "[XFS] eagerly remove vmap mappings to avoid upsetting Xen\n\nXFS leaves stray mappings around when it vmaps memory to make it virtually\ncontigious. This upsets Xen if one of those pages is being recycled into a\npagetable, since it finds an extra writable mapping of the page.\n\nThis patch solves the problem in a brute force way, by making XFS always\neagerly unmap its mappings.\n\nSGI-PV: 971902\nSGI-Modid: xfs-linux-melb:xfs-kern:29886a\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "6572bc28de150aaa6ca182eaf3e60c199ba48630",
      "tree": "ad1be400b0648e91b021289c60c578735e7d225a",
      "parents": [
        "150f29ef2e96392c6ddf24d49289dd40df2783f0"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Sep 19 15:27:39 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Wed Oct 17 11:10:14 2007 +1000"
      },
      "message": "[XFS] simplify validata_fields\n\nStop using xfs_getattr and a onstack bhv_vattr_t just to get three fields\nfrom the underlying inode and opencode copying from the inode fields\ninstead.\n\nSGI-PV: 970662\nSGI-Modid: xfs-linux-melb:xfs-kern:29711a\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"
    }
  ],
  "next": "d79689c7038ea07182e8d7340786f7fcf8c77780"
}
