)]}'
{
  "log": [
    {
      "commit": "f3f0d7b026ae34d6ed5ae67cd4dd5909f9cd70a5",
      "tree": "d4c58e8c90b171ac6c494ddd48cfe0eb3cf3da8c",
      "parents": [
        "ea5a3dc8356bf1cf27bab9a5a0da5dfbbb82013d"
      ],
      "author": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Thu Oct 30 18:30:09 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Oct 30 18:30:09 2008 +1100"
      },
      "message": "[XFS] remove restricted chown parameter from xfs linux\n\nOn Linux all filesystems are supposed to be operating under Posix\u0027\nrestricted chown. Restricted chown means it restricts chown to the owner\nunless you have CAP_FOWNER.\n\nNOTE: that 2 files outside of fs/xfs have been modified too for this\nchange.\n\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n\nSGI-PV: 988919\n\nSGI-Modid: 2.6.x-xfs-melb:linux:32413b\n\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "ea5a3dc8356bf1cf27bab9a5a0da5dfbbb82013d",
      "tree": "30af54170d0cb3b06c2ac21bc31bc57fc5eb4d43",
      "parents": [
        "7ee49acfe54883f16d28d9486b789431a5804d18"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 18:27:48 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Oct 30 18:27:48 2008 +1100"
      },
      "message": "[XFS] kill sys_cred\n\ncapable_cred has been unused for a while so we can kill it and sys_cred.\nThat also means the cred argument to xfs_setattr and xfs_change_file_space\ncan be removed now.\n\nSGI-PV: 988918\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32412a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "7ee49acfe54883f16d28d9486b789431a5804d18",
      "tree": "4c5dff6bc4276a5dc23b71ec19e38a8487f2a814",
      "parents": [
        "9ed0451ee0a13469f7b38e4ced8974036f6d114f"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 18:26:51 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Oct 30 18:26:51 2008 +1100"
      },
      "message": "[XFS] correctly select first log item to push\n\nUnder heavy metadata load we are seeing log hangs. The AIL has items in it\nready to be pushed, and they are within the push target window. However,\nwe are not pushing them when the last pushed LSN is less than the LSN of\nthe first log item on the AIL. This is a regression introduced by the AIL\npush cursor modifications.\n\nSGI-PV: 987246\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32409a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "9ed0451ee0a13469f7b38e4ced8974036f6d114f",
      "tree": "bb9c5622198296933512dea3cefacfc17756eb1c",
      "parents": [
        "087e3b0460c367d0f4a5b71d7b013968ae23b588"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 18:26:04 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Oct 30 18:26:04 2008 +1100"
      },
      "message": "[XFS] free partially initialized inodes using destroy_inode\n\nTo make sure we free the security data inodes need to be freed using the\nproper VFS helper (which we also need to export for this). We mark these\ninodes bad so we can skip the flush path for them.\n\nSGI-PV: 987246\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32398a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "087e3b0460c367d0f4a5b71d7b013968ae23b588",
      "tree": "538a3abac6a20a3c33f6307a9c92c05882b2081c",
      "parents": [
        "c679eef0520eb3c2c731fce505e61b8ef9469aac"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 18:24:37 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Oct 30 18:24:37 2008 +1100"
      },
      "message": "Inode: export symbol destroy_inode\n\nTo make sure we free the security data inodes need to be freed using\nthe proper VFS helper (which we also need to export for this). We mark\nthese inodes bad so we can skip the flush path for them.\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "c679eef0520eb3c2c731fce505e61b8ef9469aac",
      "tree": "6a3cdcb882282d10dac7bb45e194fc473dd3940d",
      "parents": [
        "455486b9ccdd0a1d7432a03302f549b1c917c181"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 18:04:13 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Oct 30 18:04:13 2008 +1100"
      },
      "message": "[XFS] stop using xfs_itobp in xfs_bulkstat\n\nxfs_bulkstat only wants the dinode, offset and buffer from a given inode\nnumber. Instead of using xfs_itobp on a fake inode which is complicated\nand currently leads to leaks of the security data just use xfs_inotobp\nwhich is designed to do exactly the kind of lookup xfs_bulkstat wants. The\nonly thing that\u0027s missing in xfs_inotobp is a flags paramter that let\u0027s us\npass down XFS_IMAP_BULKSTAT, but that can easily added.\n\nSGI-PV: 987246\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32397a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "455486b9ccdd0a1d7432a03302f549b1c917c181",
      "tree": "b8f9068c75cb627341ccde4856170f7689b6bab2",
      "parents": [
        "56e73ec47d749047f441e6b9d60d964535d31c3b"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 18:03:14 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Oct 30 18:03:14 2008 +1100"
      },
      "message": "[XFS] avoid all reclaimable inodes in xfs_sync_inodes_ag\n\nIf we are syncing data in xfs_sync_inodes_ag(), the VFS inode must still\nbe referencable as the dirty data state is carried on the VFS inode. hence\nif we can\u0027t get a reference via igrab(), the inode must be in reclaim\nwhich implies that it has no dirty data attached.\n\nLeave such inodes to the reclaim code to flush the dirty inode state to\ndisk and so avoid attempting to access the VFS inode when it may not exist\nin xfs_sync_inodes_ag().\n\nVersion 4:\no don\u0027t reference linux inode until after igrab() succeeds\n\nVersion 3:\no converted unlock/rele to an xfs_iput() call.\n\nVersion 2:\no change igrab logic to be more linear\no remove initial reclaimable inode check now that we are using\n  igrab() failure to find reclaimable inodes\no assert that igrab failure occurs only on reclaimable inodes\no clean up inode locking - only grab the iolock if we are doing\n  a SYNC_DELWRI call and we have a dirty inode.\n\nSGI-PV: 987246\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32391a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Peter Leckie \u003cpleckie@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "56e73ec47d749047f441e6b9d60d964535d31c3b",
      "tree": "73423b4b01d760f95c5dcf1cff38ba4b56f6c969",
      "parents": [
        "2b7035fd7473c799ca3372092d72c768c7db329d"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:55:27 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:55:27 2008 +1100"
      },
      "message": "[XFS] Can\u0027t lock inodes in radix tree preload region\n\nWhen we are inside a radix tree preload region, we cannot sleep. Recently\nwe moved the inode locking inside the preload region for the inode radix\ntree. Fix that, and fix a missed unlock in another error path in the same\ncode at the same time.\n\nSGI-PV: 987246\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32385a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "2b7035fd7473c799ca3372092d72c768c7db329d",
      "tree": "273f847f302f183cc20c6a2a7e7b6c971790dae2",
      "parents": [
        "1ec7944beb6f3c29f1e58a66422130133727e9e1"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 17:55:18 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:55:18 2008 +1100"
      },
      "message": "[XFS] Trivial xfs_remove comment fixup\n\nThe dp to ip comment should be for the unconditional xfs_droplink call,\nand the \".\" link obviously only exists for directories, so it should be in\nthe is_dir conditional.\n\nSGI-PV: 987246\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32374a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Donald Douwsma \u003cdonaldd@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "1ec7944beb6f3c29f1e58a66422130133727e9e1",
      "tree": "e71281cbfe81e427a0a307db696778af89210472",
      "parents": [
        "469fc23d5dd172665c69099db776c39bb1b70f92"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 17:55:08 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:55:08 2008 +1100"
      },
      "message": "[XFS] fix biosize option\n\niosizelog shouldn\u0027t be the same as iosize but the logarithm of it. Then\nagain the current biosize option doesn\u0027t make much sense to me as it\ndoesn\u0027t set the preferred I/O size as mentioned in the comment next to it\nbut rather the allocation size and thus is identical to the allocsize\noption (except for the missing logarithm). It\u0027s also not documented in\nDocumentation/filesystems/xfs.txt or the mount manpage.\n\nSGI-PV: 987246\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32373a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Donald Douwsma \u003cdonaldd@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "469fc23d5dd172665c69099db776c39bb1b70f92",
      "tree": "d9ffd018cd22189b03c06b1d958b91b2d2e2d914",
      "parents": [
        "9d565ffa33d574c2a22442f9d95ca2bd0be7cc42"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 17:54:57 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:54:57 2008 +1100"
      },
      "message": "[XFS] fix the noquota mount option\n\nNoquota should clear all mount options, and not just user and group quota.\nProbably doesn\u0027t matter very much in real life.\n\nSGI-PV: 987246\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32372a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Donald Douwsma \u003cdonaldd@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "9d565ffa33d574c2a22442f9d95ca2bd0be7cc42",
      "tree": "6a90c653b264fa286525a24f5bd2ce2f2767252e",
      "parents": [
        "5a792c4579af8466246408e38fd4eff45d8493b8"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 17:53:24 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Oct 30 17:53:24 2008 +1100"
      },
      "message": "[XFS] kill struct xfs_mount_args\n\nNo need to parse the mount option into a structure before applying it to\nstruct xfs_mount.\n\nThe content of xfs_start_flags gets merged into xfs_parseargs. Calls\ninbetween don\u0027t care and can use mount members instead of the args struct.\n\nThis patch uncovered that the mount option for shared filesystems wasn\u0027t\never exposed on Linux. The code to handle it is #if 0\u0027ed in this patch\npending a decision on this feature. I\u0027ll send a writeup about it to the\nlist soon.\n\nSGI-PV: 987246\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32371a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Donald Douwsma \u003cdonaldd@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "5a792c4579af8466246408e38fd4eff45d8493b8",
      "tree": "33b9d578dc42fe47bf8fff9ca60326cf9a22bef0",
      "parents": [
        "783a2f656f9674c31d4019708a94af93fa1d1c22"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:40:09 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:40:09 2008 +1100"
      },
      "message": "[XFS] XFS: Check for valid transaction headers in recovery\n\nWhen we are about to add a new item to a transaction in recovery, we need\nto check that it is valid first. Currently we just assert that header\nmagic number matches, but in production systems that is not present and we\nadd a corrupted transaction to the list to be processed. This results in a\nkernel oops later when processing the corrupted transaction.\n\nInstead, if we detect a corrupted transaction, abort recovery and leave\nthe user to clean up the mess that has occurred.\n\nSGI-PV: 988145\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32356a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "783a2f656f9674c31d4019708a94af93fa1d1c22",
      "tree": "7ac2123b187c0522dbd8a0d94de3856b33147c46",
      "parents": [
        "fc1829f34d30899701dfd5890030d39e13e1f47d"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:39:58 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:39:58 2008 +1100"
      },
      "message": "[XFS] Finish removing the mount pointer from the AIL API\n\nChange all the remaining AIL API functions that are passed struct\nxfs_mount pointers to pass pointers directly to the struct xfs_ail being\nused. With this conversion, all external access to the AIL is via the\nstruct xfs_ail. Hence the operation and referencing of the AIL is almost\nentirely independent of the xfs_mount that is using it - it is now much\nmore tightly tied to the log and the items it is tracking in the log than\nit is tied to the xfs_mount.\n\nSGI-PV: 988143\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32353a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "fc1829f34d30899701dfd5890030d39e13e1f47d",
      "tree": "c2532c6a1070396e39000f36a5728f0f0940b24d",
      "parents": [
        "a9c21c1b9deaced836034e77fe25fe0b55c21f02"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:39:46 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:39:46 2008 +1100"
      },
      "message": "[XFS] Add ail pointer into log items\n\nAdd an xfs_ail pointer to log items so that the log items can reference\nthe AIL directly during callbacks without needed a struct xfs_mount.\n\nSGI-PV: 988143\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32352a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "a9c21c1b9deaced836034e77fe25fe0b55c21f02",
      "tree": "908b333bd0dd310a6a24760e2eab3bc5371540af",
      "parents": [
        "c7e8f268278a292d3823b4352182fa7755a71410"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:39:35 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:39:35 2008 +1100"
      },
      "message": "[XFS] Given the log a pointer to the AIL\n\nWhen we need to go from the log to the AIL, we have to go via the\nxfs_mount. Add a xfs_ail pointer to the log so we can go directly to the\nAIL associated with the log.\n\nSGI-PV: 988143\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32351a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "c7e8f268278a292d3823b4352182fa7755a71410",
      "tree": "f7316f830fdc7feedfd9ae486ac097e8f5df8dad",
      "parents": [
        "7b2e2a31f5c23b5f028af8c895137b4c512cc1c8"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:39:23 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:39:23 2008 +1100"
      },
      "message": "[XFS] Move the AIL lock into the struct xfs_ail\n\nBring the ail lock inside the struct xfs_ail. This means the AIL can be\nentirely manipulated via the struct xfs_ail rather than needing both the\nstruct xfs_mount and the struct xfs_ail.\n\nSGI-PV: 988143\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32350a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "7b2e2a31f5c23b5f028af8c895137b4c512cc1c8",
      "tree": "c37aa7117a16ebcd01d0ac2687b944e5dd8a7361",
      "parents": [
        "5b00f14fbd60d42441f78c0e414a539cbfba5cb9"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:39:12 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:39:12 2008 +1100"
      },
      "message": "[XFS] Allow 64 bit machines to avoid the AIL lock during flushes\n\nWhen copying lsn\u0027s from the log item to the inode or dquot flush lsn, we\ncurrently grab the AIL lock. We do this because the LSN is a 64 bit\nquantity and it needs to be read atomically. The lock is used to guarantee\natomicity for 32 bit platforms.\n\nMake the LSN copying a small function, and make the function used\nconditional on BITS_PER_LONG so that 64 bit machines don\u0027t need to take\nthe AIL lock in these places.\n\nSGI-PV: 988143\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32349a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "5b00f14fbd60d42441f78c0e414a539cbfba5cb9",
      "tree": "6ecce1247c704666e2835883de73cb300c1b0693",
      "parents": [
        "27d8d5fe0ef9daeaafbdd32b14b32a2211930062"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:39:00 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:39:00 2008 +1100"
      },
      "message": "[XFS] move the AIl traversal over to a consistent interface\n\nWith the new cursor interface, it makes sense to make all the traversing\ncode use the cursor interface and make the old one go away. This means\nmore of the AIL interfacing is done by passing struct xfs_ail pointers\naround the place instead of struct xfs_mount pointers.\n\nWe can replace the use of xfs_trans_first_ail() in xfs_log_need_covered()\nas it is only checking if the AIL is empty. We can do that with a call to\nxfs_trans_ail_tail() instead, where a zero LSN returned indicates and\nempty AIL...\n\nSGI-PV: 988143\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32348a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "27d8d5fe0ef9daeaafbdd32b14b32a2211930062",
      "tree": "e170fd577c1f6e58bee1cabb5cad75ced643c3ac",
      "parents": [
        "82fa9012458d867936d7bf130e6e14bdebc6873c"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:38:39 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:38:39 2008 +1100"
      },
      "message": "[XFS] Use a cursor for AIL traversal.\n\nTo replace the current generation number ensuring sanity of the AIL\ntraversal, replace it with an external cursor that is linked to the AIL.\n\nBasically, we store the next item in the cursor whenever we want to drop\nthe AIL lock to do something to the current item. When we regain the lock.\nthe current item may already be free, so we can\u0027t reference it, but the\nnext item in the traversal is already held in the cursor.\n\nWhen we move or delete an object, we search all the active cursors and if\nthere is an item match we clear the cursor(s) that point to the object.\nThis forces the traversal to restart transparently.\n\nWe don\u0027t invalidate the cursor on insert because the cursor still points\nto a valid item. If the intem is inserted between the current item and the\ncursor it does not matter; the traversal is considered to be past the\ninsertion point so it will be picked up in the next traversal.\n\nHence traversal restarts pretty much disappear altogether with this method\nof traversal, which should substantially reduce the overhead of pushing on\na busy AIL.\n\nVersion 2 o add restart logic o comment cursor interface o minor cleanups\n\nSGI-PV: 988143\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32347a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "82fa9012458d867936d7bf130e6e14bdebc6873c",
      "tree": "e2d8d7aa9a30c55b7d314df7406f1c47832340d7",
      "parents": [
        "a7444053fb3ebd3d905e3c7a7bd5ea80a54b083a"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:38:26 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:38:26 2008 +1100"
      },
      "message": "[XFS] Allocate the struct xfs_ail\n\nRather than embedding the struct xfs_ail in the struct xfs_mount, allocate\nit during AIL initialisation. Add a back pointer to the struct xfs_ail so\nthat we can pass around the xfs_ail and still be able to access the\nxfs_mount if need be. This is th first step involved in isolating the AIL\nimplementation from the surrounding filesystem code.\n\nSGI-PV: 988143\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32346a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "a7444053fb3ebd3d905e3c7a7bd5ea80a54b083a",
      "tree": "a7c09acf01c1b9a3c13684059ec88637cfa93155",
      "parents": [
        "8c38ab032094ff1d903c79db689607b1ebae13ca"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:38:12 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:38:12 2008 +1100"
      },
      "message": "[XFS] Account for allocated blocks when expanding directories\n\nWhen we create a directory, we reserve a number of blocks for the maximum\npossible expansion of of the directory due to various btree splits,\nfreespace allocation, etc. Unfortunately, each allocation is not reflected\nin the total number of blocks still available to the transaction, so the\nmaximal reservation is used over and over again.\n\nThis leads to problems where an allocation group has only enough blocks\nfor *some* of the allocations required for the directory modification.\nAfter the first N allocations, the remaining blocks in the allocation\ngroup drops below the total reservation, and subsequent allocations fail\nbecause the allocator will not allow the allocation to proceed if the AG\ndoes not have the enough blocks available for the entire allocation total.\n\nThis results in an ENOSPC occurring after an allocation has already\noccurred. This results in aborting the directory operation (leaving the\ndirectory in an inconsistent state) and cancelling a dirty transaction,\nwhich results in a filesystem shutdown.\n\nAvoid the problem by reflecting the number of blocks allocated in any\ndirectory expansion in the total number of blocks available to the\nmodification in progress. This prevents a directory modification from\nbeing aborted part way through with an ENOSPC.\n\nSGI-PV: 988144\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32340a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "8c38ab032094ff1d903c79db689607b1ebae13ca",
      "tree": "06148b37fd9706e842d7653adcd9e9ac83a73f53",
      "parents": [
        "116545130cbc5214523c2f994a11c81ef9eb9186"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:38:00 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:38:00 2008 +1100"
      },
      "message": "[XFS] Prevent looping in xfs_sync_inodes_ag\n\nIf the last block of the AG has inodes in it and the AG is an exactly\npower-of-2 size then the last inode in the AG points to the last block in\nthe AG. If we try to find the next inode in the AG by adding one to the\ninode number, we increment the inode number past the size of the AG. The\nresult is that the macro XFS_INO_TO_AGINO() will strip the AG portion of\nthe inode number and return an inode number of zero.\n\nThat is, instead of terminating the lookup loop because we hit the inode\nnumber went outside the valid range for the AG, the search index returns\nto zero and we start traversing the radix tree from the start again. This\nresults in an endless loop in xfs_sync_inodes_ag().\n\nFix it be detecting if the new search index decreases as a result of\nincrementing the current inode number. That indicate an overflow and hence\nthat we have finished processing the AG so we can terminate the loop.\n\nSGI-PV: 988142\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32335a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "116545130cbc5214523c2f994a11c81ef9eb9186",
      "tree": "1cecd684b20bcbd6d163dd7120160277b58c2091",
      "parents": [
        "7a3be02baef7bdec43965103441bde5de4dd8601"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:37:49 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:37:49 2008 +1100"
      },
      "message": "[XFS] kill deleted inodes list\n\nNow that the deleted inodes list is unused, kill it. This also removes the\ni_reclaim list head from the xfs_inode, shrinking it by two pointers.\n\nSGI-PV: 988142\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32334a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "7a3be02baef7bdec43965103441bde5de4dd8601",
      "tree": "c2f26102f69819c8910141f6e4718f1c85f92515",
      "parents": [
        "396beb85311689e38634926058d9a3bb0576ca8a"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:37:37 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:37:37 2008 +1100"
      },
      "message": "[XFS] use the inode radix tree for reclaiming inodes\n\nUse the reclaim tag to walk the radix tree and find the inodes under\nreclaim. This was the only user of the deleted inode list.\n\nSGI-PV: 988142\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32333a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "396beb85311689e38634926058d9a3bb0576ca8a",
      "tree": "58b3e6904d9618930fe6c0f8abba52aaeea00130",
      "parents": [
        "1dc3318ae1c1cc11f9fb8279a806de448e2b90e8"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:37:26 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:37:26 2008 +1100"
      },
      "message": "[XFS] mark inodes for reclaim via a tag in the inode radix tree\n\nPrepare for removing the deleted inode list by marking inodes for reclaim\nin the inode radix trees so that we can use the radix trees to find\nreclaimable inodes.\n\nSGI-PV: 988142\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32331a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "1dc3318ae1c1cc11f9fb8279a806de448e2b90e8",
      "tree": "327c3b269532b180393001eb17fa69cbb838d20d",
      "parents": [
        "fce08f2f3bd0d08feeb4cea70e44aa3471d9bb4c"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:37:15 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:37:15 2008 +1100"
      },
      "message": "[XFS] rename inode reclaim functions\n\nThe function names xfs_finish_reclaim and xfs_finish_reclaim_all are not\nvery descriptive of what they are reclaiming. Rename to\nxfs_reclaim_inode[s] to match the xfs_sync_inodes() function.\n\nSGI-PV: 988142\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32330a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "fce08f2f3bd0d08feeb4cea70e44aa3471d9bb4c",
      "tree": "30bf4d33e61442b459b33c9d0bb3e5fedd3884a2",
      "parents": [
        "493dca6178cf4a6ae2a16c602d6cb455bb7d31bd"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:37:03 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:37:03 2008 +1100"
      },
      "message": "[XFS] move inode reclaim functions to xfs_sync.c\n\nBackground inode reclaim is run by the xfssyncd. Move the reclaim worker\nfunctions to be close to the sync code as the are very similar in\nstructure and are both run from the same background thread.\n\nSGI-PV: 988142\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32329a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "493dca6178cf4a6ae2a16c602d6cb455bb7d31bd",
      "tree": "3eb5f6d98d939496c90ede9ef6472f7f1fc90797",
      "parents": [
        "99fa8cb3c580d4445fe8fc239454e8f37a3b6847"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:36:52 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:36:52 2008 +1100"
      },
      "message": "[XFS] Fix build warning - xfs_fs_alloc_inode() needs a return statement\n\nSGI-PV: 988141\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32325a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "99fa8cb3c580d4445fe8fc239454e8f37a3b6847",
      "tree": "88b539774448ce3958d264f4a50a821d0dcde6f4",
      "parents": [
        "bf904248a2adb3f3be4eb4fb1837ce3bb28cca76"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:36:40 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:36:40 2008 +1100"
      },
      "message": "[XFS] Prevent use-after-free caused by synchronous inode reclaim\n\nWith the combined linux and XFS inode, we need to ensure that the combined\nstructure is not freed before the generic code is finished with the inode.\nAs it turns out, there is a case where the XFS inode is freed before the\nlinux inode - when xfs_reclaim() is called from -\u003eclear_inode() on a clean\ninode, the xfs inode is freed during that call. The generic code\nreferences the inode after the -\u003eclear_inode() call, so this is a use\nafter free situation.\n\nFix the problem by moving the xfs_reclaim() call to -\u003edestroy_inode()\ninstead of in -\u003eclear_inode(). This ensures the combined inode structure\nis not freed until after the generic code has finished with it.\n\nSGI-PV: 988141\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32324a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "bf904248a2adb3f3be4eb4fb1837ce3bb28cca76",
      "tree": "288306924f640f19d881166a3b50fa59b6e9e7e7",
      "parents": [
        "8290c35f87304a6b73d4fd17b03580b4f7425de8"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:36:14 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:36:14 2008 +1100"
      },
      "message": "[XFS] Combine the XFS and Linux inodes\n\nTo avoid issues with different lifecycles of XFS and Linux inodes, embedd\nthe linux inode inside the XFS inode. This means that the linux inode has\nthe same lifecycle as the XFS inode, even when it has been released by the\nOS. XFS inodes don\u0027t live much longer than this (a short stint in reclaim\nat most), so there isn\u0027t significant memory usage penalties here.\n\nVersion 3 o kill xfs_icount()\n\nVersion 2 o remove unused commented out code from xfs_iget(). o kill\nuseless cast in VFS_I()\n\nSGI-PV: 988141\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32323a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "8290c35f87304a6b73d4fd17b03580b4f7425de8",
      "tree": "cf7fb08de3fd7a6a1ccb079d2d5d53837aca16fe",
      "parents": [
        "2cb1599f9b2ecdd7a9e59feeee647eb258966839"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:35:24 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Oct 30 17:35:24 2008 +1100"
      },
      "message": "Inode: Allow external list initialisation\n\nTo allow XFS to combine the XFS and linux inodes into a single\nstructure, we need to drive inode lookup from the XFS inode cache,\nnot the generic inode cache. This means that we need initialise a\nstruct inode from a context outside alloc_inode() as it is no longer\nused by XFS.\n\nAfter inode allocation and initialisation, we need to add the inode\nto the superblock list, the in-use list, hash it and do some\naccounting. This all needs to be done with the inode_lock held and\nthere are already several places in fs/inode.c that do this list\nmanipulation.  Factor out the common code, add a locking wrapper and\nexport the function so ti can be called from XFS.\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "2cb1599f9b2ecdd7a9e59feeee647eb258966839",
      "tree": "a54cb8c09d209e529d399874eb0be7bc365c5212",
      "parents": [
        "94b97e39b0c983e86f0028c456dcf213abc722a0"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:32:23 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Oct 30 17:32:23 2008 +1100"
      },
      "message": "Inode: Allow external initialisers\n\nTo allow XFS to combine the XFS and linux inodes into a single\nstructure, we need to drive inode lookup from the XFS inode cache,\nnot the generic inode cache. This means that we need initialise a\nstruct inode from a context outside alloc_inode() as it is no longer\nused by XFS.\n\nFactor and export the struct inode initialisation code from\nalloc_inode() to inode_init_always() as a counterpart to\ninode_init_once().  i.e. we have to call this init function for each\ninode instantiation (always), as opposed inode_init_once() which is\nonly called on slab object instantiation (once).\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "94b97e39b0c983e86f0028c456dcf213abc722a0",
      "tree": "f3ade2b97cc170e3cd209ace304b7586a72cff34",
      "parents": [
        "6441e549157b749bae003cce70b4c8b62e4801fa"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:21:30 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:21:30 2008 +1100"
      },
      "message": "[XFS] Never call mark_inode_dirty_sync() directly\n\nOnce the Linux inode and the XFS inode are combined, we cannot rely on\njust check if the linux inode exists as a method of determining if it is\nvalid or not. Hence we should always call xfs_mark_inode_dirty_sync()\ninstead as it does the correct checks to determine if the liinux inode is\nin a valid state or not.\n\nSGI-PV: 988141\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32318a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "6441e549157b749bae003cce70b4c8b62e4801fa",
      "tree": "7cf8515b85fef59ca8dcacb5e7e73e3b71c2a518",
      "parents": [
        "3471394ba56f44761ce1c300f139478dbfb49d4a"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:21:19 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:21:19 2008 +1100"
      },
      "message": "[XFS] factor xfs_iget_core() into hit and miss cases\n\nThere are really two cases in xfs_iget_core(). The first is the cache hit\ncase, the second is the miss case. They share very little code, and hence\ncan easily be factored out into separate functions. This makes the code\nmuch easier to understand and subsequently modify.\n\nSGI-PV: 988141\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32317a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "3471394ba56f44761ce1c300f139478dbfb49d4a",
      "tree": "fb9faf7d207ad5421a7e9d2eb1a0ca73ef7f0964",
      "parents": [
        "76bf105cb16da6c847a13a3c77dc962ba1081713"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 17:21:10 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:21:10 2008 +1100"
      },
      "message": "[XFS] fix instant oops with tracing enabled\n\nWe can only read inode-\u003ei_count if the inode is actually there and not a\nNULL pointer. This was introduced in one of the recent sync patches.\n\nSGI-PV: 988255\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32315a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "76bf105cb16da6c847a13a3c77dc962ba1081713",
      "tree": "83c75b54f897589a6f13efe1ca42d1352d5fe060",
      "parents": [
        "a4e4c4f4a8f9376158f8181a75285091f52a79e3"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:16:21 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:16:21 2008 +1100"
      },
      "message": "[XFS] Move remaining quiesce code.\n\nWith all the other filesystem sync code it in xfs_sync.c including the\ndata quiesce code, it makes sense to move the remaining quiesce code to\nthe same place.\n\nSGI-PV: 988140\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32312a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "a4e4c4f4a8f9376158f8181a75285091f52a79e3",
      "tree": "146e3f2d51e60db4536895a0cd4eb69a33762d37",
      "parents": [
        "cb56a4b995d44b7990ca3acd18db571eedd0649f"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:16:11 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:16:11 2008 +1100"
      },
      "message": "[XFS] Kill xfs_sync()\n\nThere are no more callers to xfs_sync() now, so remove the function\naltogther.\n\nSGI-PV: 988140\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32311a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "cb56a4b995d44b7990ca3acd18db571eedd0649f",
      "tree": "85fad110902a8929593fb5820c61fae7d56ac8a1",
      "parents": [
        "e9f1c6ee12955fd8657f6f0f9a3d09112b1f1fdd"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:16:00 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:16:00 2008 +1100"
      },
      "message": "[XFS] Kill SYNC_CLOSE\n\nSYNC_CLOSE is only ever used and checked in conjunction with SYNC_WAIT,\nand this only done in one spot. The only thing this does is make\nXFS_bflush() calls to the data buftargs.\n\nThis will happen very shortly afterwards the xfs_sync() call anyway in the\nunmount path via the xfs_close_devices(), so this code is redundant and\ncan be removed. That only user of SYNC_CLOSE is now gone, so kill the flag\ncompletely.\n\nSGI-PV: 988140\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32310a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "e9f1c6ee12955fd8657f6f0f9a3d09112b1f1fdd",
      "tree": "e616bed4b4b6a8c0f38e87ff8de3fe9f070c9eab",
      "parents": [
        "be97d9d5577f6c8a36588e2f262c772c5422b128"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:15:50 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:15:50 2008 +1100"
      },
      "message": "[XFS] make SYNC_DELWRI no longer use xfs_sync\n\nContinue to de-multiplex xfs_sync be replacing all SYNC_DELWRI callers\nwith direct calls functions that do the work. Isolate the data quiesce\ncase to a function in xfs_sync.c. Isolate the FSDATA case with explicit\ncalls to xfs_sync_fsdata().\n\nVersion 2: o Push delwri related log forces into xfs_sync_inodes().\n\nSGI-PV: 988140\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32309a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "be97d9d5577f6c8a36588e2f262c772c5422b128",
      "tree": "9146f1872b61ccaf77b7268680320eb213bfdcdd",
      "parents": [
        "aacaa880bfac8fecd44b279a49688643890358f5"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:15:38 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:15:38 2008 +1100"
      },
      "message": "[XFS] make SYNC_ATTR no longer use xfs_sync\n\nContinue to de-multiplex xfs_sync be replacing all SYNC_ATTR callers with\ndirect calls xfs_sync_inodes(). Add an assert into xfs_sync() to ensure we\ncaught all the SYNC_ATTR callers.\n\nSGI-PV: 988140\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32308a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "aacaa880bfac8fecd44b279a49688643890358f5",
      "tree": "93f10ff50c64efbe4c8d67551116ed0b4ad65cf5",
      "parents": [
        "dfd837a9eb79de4e50323a6f4e1ad8138d806cb7"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:15:29 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:15:29 2008 +1100"
      },
      "message": "[XFS] xfssyncd: don\u0027t call xfs_sync\n\nStart de-multiplexing xfs_sync() by making xfs_sync_worker() call the\nspecific sync functions it needs. This is only a small, unique subset of\nthe entire xfs_sync() code so is easier to follow.\n\nSGI-PV: 988140\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32307a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "dfd837a9eb79de4e50323a6f4e1ad8138d806cb7",
      "tree": "82a076961ce10f9a9253c1ed2f7916b489fdc548",
      "parents": [
        "2030b5aba8a4bcaca5aca85968514fa58207d3bd"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:15:21 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:15:21 2008 +1100"
      },
      "message": "[XFS] kill xfs_syncsub\n\nNow that the only caller is xfs_sync(), merge the two together as it makes\nno sense to keep them separate.\n\nSGI-PV: 988140\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32306a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "2030b5aba8a4bcaca5aca85968514fa58207d3bd",
      "tree": "e01122f234efd0acad9c3217ffae05f023f8b247",
      "parents": [
        "bc60a99323b3ec628273b5fa998285c87d464ca6"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:15:12 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:15:12 2008 +1100"
      },
      "message": "[XFS] use xfs_sync_inodes rather than xfs_syncsub\n\nKill the unused arg in xfs_syncsub() and xfs_sync_inodes(). For callers of\nxfs_syncsub() that only want to flush inodes, replace xfs_syncsub() with\ndirect calls to xfs_sync_inodes() as that is all that is being done with\nthe specific flags being passed in.\n\nSGI-PV: 988140\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32305a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "bc60a99323b3ec628273b5fa998285c87d464ca6",
      "tree": "5084bb53b48d1b9ba3ceed8a3995296cc21840c5",
      "parents": [
        "2af75df7be7ca86965bf73766f827575d1c26fbd"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:15:03 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:15:03 2008 +1100"
      },
      "message": "[XFS] Use struct inodes instead of vnodes to kill vn_grab\n\nWith the sync code relocated to the linux-2.6 directory we can use struct\ninodes directly. If we do the same thing for the quota release code, we\ncan remove vn_grab altogether. While here, convert the VN_BAD() checks to\nis_bad_inode() so we can remove vnodes entirely from this code.\n\nSGI-PV: 988140\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32304a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "2af75df7be7ca86965bf73766f827575d1c26fbd",
      "tree": "59a7acdf30d8f6088ebe4d88ce0f8d43be966671",
      "parents": [
        "4e8938feba770b583fb13d249c17943961731a3e"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 17:14:53 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:14:53 2008 +1100"
      },
      "message": "[XFS] split out two helpers from xfs_syncsub\n\nSplit out two helpers from xfs_syncsub for the dummy log commit and the\nsuperblock writeout.\n\nSGI-PV: 988140\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32303a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "4e8938feba770b583fb13d249c17943961731a3e",
      "tree": "311411b8561b8c9222996ab72ddcb4303be3d096",
      "parents": [
        "7cc95a821df8f09a5d37a923cf8c3a7c3ee00c29"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 17:14:43 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:14:43 2008 +1100"
      },
      "message": "[XFS] Move XFS_BMAP_SANITY_CHECK out of line.\n\nMove the XFS_BMAP_SANITY_CHECK macro out of line and make it a properly\ntyped function. Also pass the xfs_buf for the btree block instead of just\nthe btree block header, as we will need some additional information for it\nto implement CRC checking of btree blocks.\n\nSGI-PV: 988146\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32301a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Donald Douwsma \u003cdonaldd@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "7cc95a821df8f09a5d37a923cf8c3a7c3ee00c29",
      "tree": "8fde02d4c9a52b7da7b3e961f8a23cf4b493a4a4",
      "parents": [
        "136341b41ad4883bd668120f727a52c42331fe8a"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 17:14:34 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:14:34 2008 +1100"
      },
      "message": "[XFS] Always use struct xfs_btree_block instead of short / longform\nstructures.\n\nAlways use the generic xfs_btree_block type instead of the short / long\nstructures. Add XFS_BTREE_SBLOCK_LEN / XFS_BTREE_LBLOCK_LEN defines for\nthe length of a short / long form block. The rationale for this is that we\nwill grow more btree block header variants to support CRCs and other RAS\ninformation, and always accessing them through the same datatype with\nunions for the short / long form pointers makes implementing this much\neasier.\n\nSGI-PV: 988146\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32300a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Donald Douwsma \u003cdonaldd@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "136341b41ad4883bd668120f727a52c42331fe8a",
      "tree": "0cb1b220073948f2632911354a828606a9e276bb",
      "parents": [
        "6c7699c047c50403149ad91331dd39de47dea070"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 17:11:40 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:11:40 2008 +1100"
      },
      "message": "[XFS] cleanup btree record / key / ptr addressing macros.\n\nReplace the generic record / key / ptr addressing macros that use cpp\ntoken pasting with simpler macros that do the job for just one given btree\ntype. The new macros lose the cur argument and thus can be used outside\nthe core btree code, but also gain an xfs_mount * argument to allow for\nchecking the CRC flag in the near future. Note that many of these macros\naren\u0027t actually used in the kernel code, but only in userspace (mostly in\nxfs_repair).\n\nSGI-PV: 988146\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32295a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Donald Douwsma \u003cdonaldd@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "6c7699c047c50403149ad91331dd39de47dea070",
      "tree": "cb1be26f849f0d9c6014c311fde3c390b99c6cd3",
      "parents": [
        "60197e8df364df326dcbb987519f367ad0ee1a11"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:11:29 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:11:29 2008 +1100"
      },
      "message": "[XFS] remove the mount inode list\n\nNow we\u0027ve removed all users of the mount inode list, we can kill it. This\nreduces the size of the xfs_inode by 2 pointers.\n\nSGI-PV: 988139\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32293a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "60197e8df364df326dcbb987519f367ad0ee1a11",
      "tree": "18b38d1711a49363fd5f20f04159b360ee3ec833",
      "parents": [
        "5b4d89ae0f5ae45c7fa1dfc616fd2bb8634bb7b7"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 17:11:19 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:11:19 2008 +1100"
      },
      "message": "[XFS] Cleanup maxrecs calculation.\n\nClean up the way the maximum and minimum records for the btree blocks are\ncalculated. For the alloc and inobt btrees all the values are\npre-calculated in xfs_mount_common, and we switch the current loop around\nthe ugly generic macros that use cpp token pasting to generate type names\nto two small helpers in normal C code. For the bmbt and bmdr trees these\nhelpers also exist, but can be called during runtime, too. Here we also\nkill various macros dealing with them and inline the logic into the\nget_minrecs / get_maxrecs / get_dmaxrecs methods in xfs_bmap_btree.c.\n\nNote that all these new helpers take an xfs_mount * argument which will be\nneeded to determine the size of a btree block once we add support for\nextended btree blocks with CRCs and other RAS information.\n\nSGI-PV: 988146\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32292a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Donald Douwsma \u003cdonaldd@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "5b4d89ae0f5ae45c7fa1dfc616fd2bb8634bb7b7",
      "tree": "3dd6c2d0fc0072a822692fc3ea2a9e6cc8a6f5f5",
      "parents": [
        "683a897080a053733778b36398186cb1b22c377f"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:08:03 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:08:03 2008 +1100"
      },
      "message": "[XFS] Traverse inode trees when releasing dquots\n\nMake releasing all inode dquots traverse the per-ag inode radix trees\nrather than the mount inode list. This removes another user of the mount\ninode list.\n\nVersion 3 o fix comment relating to avoiding trying to release the\n\nquota inodes and those in reclaim.\n\nVersion 2 o add comment explaining use of gang lookups for a single inode\no use IRELE, not VN_RELE o move check for ag initialisation to caller.\n\nSGI-PV: 988139\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32291a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "683a897080a053733778b36398186cb1b22c377f",
      "tree": "be084696bf3925a0bbeb37edf25e05168891732b",
      "parents": [
        "2f8a3ce1c20f20e6494cdb77fed76bc474ca3ca5"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:07:29 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:07:29 2008 +1100"
      },
      "message": "[XFS] Use the inode tree for finding dirty inodes\n\nUpdate xfs_sync_inodes to walk the inode radix tree cache to find dirty\ninodes. This removes a huge bunch of nasty, messy code for traversing the\nmount inode list safely and removes another user of the mount inode list.\n\nVersion 3 o rediff against new linux-2.6/xfs_sync.c code\n\nVersion 2 o add comment explaining use of gang lookups for a single inode\no use IRELE, not VN_RELE o move check for ag initialisation to caller.\n\nSGI-PV: 988139\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32290a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "2f8a3ce1c20f20e6494cdb77fed76bc474ca3ca5",
      "tree": "01322bcb3c1d3bb9f8fd6e170414e5c748b6f77c",
      "parents": [
        "75c68f411b1242c8fdaf731078fdd4e77b14981d"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:07:20 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:07:20 2008 +1100"
      },
      "message": "[XFS] don\u0027t block in xfs_qm_dqflush() during async writeback.\n\nNormally dquots are written back via delayed write mechanisms. They are\nflushed to their backing buffer by xfssyncd, which is then pushed out by\neither AIL or xfsbufd flushing. The flush from the xfssyncd is supposed to\nbe non-blocking, but xfs_qm_dqflush() always waits for pinned duots, which\nmeans that it will block for the length of time it takes to do a\nsynchronous log force. This causes unnecessary extra log I/O to be issued\nwhenever we try to flush a busy dquot.\n\nAvoid the log forces and blocking xfssyncd by making xfs_qm_dqflush() pay\nattention to what type of sync it is doing when it sees a pinned dquot and\nnot waiting when doing non-blocking flushes.\n\nSGI-PV: 988147\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32287a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Peter Leckie \u003cpleckie@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "75c68f411b1242c8fdaf731078fdd4e77b14981d",
      "tree": "776eab26d76e14dc0478015d1f352c5d2bea9daa",
      "parents": [
        "a167b17e899a930758506bbc18748078d6fd8c89"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:06:28 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:06:28 2008 +1100"
      },
      "message": "[XFS] Remove xfs_iflush_all and clean up xfs_finish_reclaim_all()\n\nxfs_iflush_all() walks the m_inodes list to find inodes that need\nreclaiming. We already have such a list - the m_del_inodes list. Replace\nxfs_iflush_all() with a call to xfs_finish_reclaim_all() and clean up\nxfs_finish_reclaim_all() to handle the different flush modes now needed.\n\nOriginally based on a patch from Christoph Hellwig.\n\nVersion 3 o rediff against new linux-2.6/xfs_sync.c code\n\nVersion 2 o revert xfs_syncsub() inode reclaim behaviour back to original\n\ncode o xfs_quiesce_fs() should use XFS_IFLUSH_DELWRI_ELSE_ASYNC, not\n\nXFS_IFLUSH_ASYNC, to prevent change of behaviour.\n\nSGI-PV: 988139\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32284a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "a167b17e899a930758506bbc18748078d6fd8c89",
      "tree": "698f8efbe5085ae75e0b46e1b71c7bfc7186d3b2",
      "parents": [
        "fe4fa4b8e463fa5848ef9e86ed75d27501d0da1e"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:06:18 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:06:18 2008 +1100"
      },
      "message": "[XFS] move xfssyncd code to xfs_sync.c\n\nMove all the xfssyncd code to the new xfs_sync.c file. This places it\ncloser to the actual code that it interacts with, rather than just being\nassociated with high level VFS code.\n\nSGI-PV: 988139\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32283a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "fe4fa4b8e463fa5848ef9e86ed75d27501d0da1e",
      "tree": "8b3ec6b29f7bb2c604aebb7d9e99b2670ec5e87e",
      "parents": [
        "34519daae6778d129d56688f75ade27f6011bac9"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:06:08 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:06:08 2008 +1100"
      },
      "message": "[XFS] move sync code to its own file\n\nThe sync code in XFS is spread around several files. While it used to make\nsense to have such a distribution, the code is about to be cleaned up and\nso centralising it in one spot as the first step makes sense.\n\nSGI-PV: 988139\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32282a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "34519daae6778d129d56688f75ade27f6011bac9",
      "tree": "417048ea8935183e0e31061479619fced44bbed2",
      "parents": [
        "89b2839319cb0c0364d55dc6fd6d3838e864ab54"
      ],
      "author": {
        "name": "Barry Naujok",
        "email": "bnaujok@sgi.com",
        "time": "Thu Oct 30 17:05:58 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:05:58 2008 +1100"
      },
      "message": "[XFS] Show buffer address with debug hexdump on corruption\n\nSGI-PV: 987246\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32233a\n\nSigned-off-by: Barry Naujok \u003cbnaujok@sgi.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "89b2839319cb0c0364d55dc6fd6d3838e864ab54",
      "tree": "495f9ce90c83f5af8d594814ba4a12a389d8f8cc",
      "parents": [
        "847fff5ca881670ca8ec617afeb943950f0c804b"
      ],
      "author": {
        "name": "Barry Naujok",
        "email": "bnaujok@sgi.com",
        "time": "Thu Oct 30 17:05:49 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:05:49 2008 +1100"
      },
      "message": "[XFS] Check agf_btreeblks is valid when reading in the AGF\n\nSGI-PV: 987683\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32232a\n\nSigned-off-by: Barry Naujok \u003cbnaujok@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "847fff5ca881670ca8ec617afeb943950f0c804b",
      "tree": "cd03cf7a3422842978332a22de51c91827821841",
      "parents": [
        "24ee0e49c9cce23acb1758728cb09e8d2b53bd33"
      ],
      "author": {
        "name": "Barry Naujok",
        "email": "bnaujok@sgi.com",
        "time": "Thu Oct 30 17:05:38 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:05:38 2008 +1100"
      },
      "message": "[XFS] Sync up kernel and user-space headers\n\nSGI-PV: 986558\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32231a\n\nSigned-off-by: Barry Naujok \u003cbnaujok@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "24ee0e49c9cce23acb1758728cb09e8d2b53bd33",
      "tree": "f6aa362a7b71bc34fb44c39278fdbef6b0ffce2f",
      "parents": [
        "d1de802155341ab63e64d37c58c61d6f358bb3ad"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:05:26 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:05:26 2008 +1100"
      },
      "message": "[XFS] Make xfs_btree_check_ptr() debug-only code.\n\nSGI-PV: 985583\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32224a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "d1de802155341ab63e64d37c58c61d6f358bb3ad",
      "tree": "3881b671ec5b133e8a4bb74a0c8fb90f18dcc3b5",
      "parents": [
        "bc3048e3cd3806ccfd5b16b1a30e5d6013abbd3d"
      ],
      "author": {
        "name": "Peter Leckie",
        "email": "pleckie@sgi.com",
        "time": "Thu Oct 30 17:05:18 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:05:18 2008 +1100"
      },
      "message": "[XFS] Fix build brakage from patch \"Clean up dquot pincount code\"\n\nThis is a fix for patch \" Clean up dquot pincount code\" which introduced a\nbuild breakage due to a missing \u0026 in xfs_qm_dquot_logitem_pin.\n\nSGI-PV: 986789\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32221a\n\nSigned-off-by: Peter Leckie \u003cpleckie@sgi.com\u003e\nSigned-off-by: Donald Douwsma \u003cdonaldd@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "bc3048e3cd3806ccfd5b16b1a30e5d6013abbd3d",
      "tree": "c6e27010cb66cc52f41bc696def885cb672fb61f",
      "parents": [
        "d112f2984592acb774187b3adddc107fb0825500"
      ],
      "author": {
        "name": "Peter Leckie",
        "email": "pleckie@sgi.com",
        "time": "Thu Oct 30 17:05:04 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:05:04 2008 +1100"
      },
      "message": "[XFS] Clean up dquot pincount code.\n\nThis is a code cleanup and optimization that removes a per mount point\nspinlock from the quota code and cleans up the code.\n\nThe patch changes the pincount from being an int protected by a spinlock\nto an atomic_t allowing the pincount to be manipulated without holding the\nspinlock.\n\nThis cleanup also protects against random wakup\u0027s of both the aild and\nxfssyncd by reevaluating the pincount after been woken. Two latter patches\nwill address the Spurious wakeups.\n\nSGI-PV: 986789\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32215a\n\nSigned-off-by: Peter Leckie \u003cpleckie@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Donald Douwsma \u003cdonaldd@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "d112f2984592acb774187b3adddc107fb0825500",
      "tree": "8857ca1206d7c386cdc821566f71fa6f03233c69",
      "parents": [
        "7f7c39ccb6045cf1fd5e7684a484c445291b44d4"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:59:06 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:59:06 2008 +1100"
      },
      "message": "[XFS] Wait for all I/O on truncate to zero file size\n\nIt\u0027s possible to have outstanding xfs_ioend_t\u0027s queued when the file size\nis zero. This can happen in the direct I/O path when a direct I/O write\nfails due to ENOSPC. In this case the xfs_ioend_t will still be queued (ie\nxfs_end_io_direct() does not know that the I/O failed so can\u0027t force the\nxfs_ioend_t to be flushed synchronously).\n\nWhen we truncate a file on unlink we don\u0027t know to wait for these\nxfs_ioend_ts and we can have a use-after-free situation if the inode is\nreclaimed before the xfs_ioend_t is finally processed.\n\nAs was suggested by Dave Chinner lets wait for all I/Os to complete when\ntruncating the file size to zero.\n\nSGI-PV: 981668\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32216a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "7f7c39ccb6045cf1fd5e7684a484c445291b44d4",
      "tree": "c244475e0ef732d35893ba949468a95f409db7b4",
      "parents": [
        "3cc7524c8445e6244b055f3fa338529188c7c260"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 16:58:50 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:58:50 2008 +1100"
      },
      "message": "[XFS] make btree tracing generic\n\nMake the existing bmap btree tracing generic so that it applies to all\nbtree types.\n\nSome fragments lifted from a patch by Dave Chinner.\n\nThis adds two files that were missed from the previous btree tracing\ncheckin.\n\nSGI-PV: 985583\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32210a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Bill O\u0027Donnell \u003cbillodo@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "3cc7524c8445e6244b055f3fa338529188c7c260",
      "tree": "b550a7e063bf1af270b25cc32b8d3b6aee198347",
      "parents": [
        "4a26e66e7728112f0e1cd7eca3bcc430b3a221c9"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 16:58:41 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:58:41 2008 +1100"
      },
      "message": "[XFS] mark various functions in xfs_btree.c static\n\nLots of functionality in xfs_btree.c isn\u0027t needed by callers outside of\nthis file anymore, so mark these functions static.\n\nSGI-PV: 985583\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32209a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Bill O\u0027Donnell \u003cbillodo@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "4a26e66e7728112f0e1cd7eca3bcc430b3a221c9",
      "tree": "1944f9aa65476c963658b7b4679f7a64287adfb6",
      "parents": [
        "fd6bcc5b63051392ba709a8fd33173b263669e0a"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 16:58:32 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:58:32 2008 +1100"
      },
      "message": "[XFS] add keys_inorder and recs_inorder btree methods\n\nAdd methods to check whether two keys/records are in the righ order. This\nreplaces the xfs_btree_check_key and xfs_btree_check_rec methods. For the\ncallers from xfs_bmap.c just opencode the bmbt-specific asserts.\n\nSGI-PV: 985583\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32208a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Bill O\u0027Donnell \u003cbillodo@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "fd6bcc5b63051392ba709a8fd33173b263669e0a",
      "tree": "fe3898818a9c8e09011a98de8d1caa9e98ae2479",
      "parents": [
        "8cc938fe4237e50bea4aa557ed53b06de2319d49"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 16:58:21 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:58:21 2008 +1100"
      },
      "message": "[XFS] kill xfs_bmbt_log_block and xfs_bmbt_log_recs\n\nThese are equivalent to the xfs_btree_* versions, and the only remaining\ncaller can be switched to the generic one after they are exported. Also\nremove some now dead infrastructure in xfs_bmap_btree.c.\n\nSGI-PV: 985583\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32207a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Bill O\u0027Donnell \u003cbillodo@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "8cc938fe4237e50bea4aa557ed53b06de2319d49",
      "tree": "1b9dd352d423a573d96d5b1b311286a39232ef5b",
      "parents": [
        "91cca5df9bc85efdabfa645f51d54259ed09f4bf"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 16:58:11 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:58:11 2008 +1100"
      },
      "message": "[XFS] implement generic xfs_btree_get_rec\n\nNot really much reason to make it generic given that it\u0027s so small, but\nthis is the last non-method in xfs_alloc_btree.c and xfs_ialloc_btree.c,\nso it makes the whole btree implementation more structured.\n\nSGI-PV: 985583\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32206a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Bill O\u0027Donnell \u003cbillodo@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "91cca5df9bc85efdabfa645f51d54259ed09f4bf",
      "tree": "29032361e21d1210effb72f4018f2a202d6a9fb0",
      "parents": [
        "d4b3a4b7dd62f2e111d4d0afa9ef3f9b6cd955c0"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 16:58:01 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:58:01 2008 +1100"
      },
      "message": "[XFS] implement generic xfs_btree_delete/delrec\n\nMake the btree delete code generic. Based on a patch from David Chinner\nwith lots of changes to follow the original btree implementations more\nclosely. While this loses some of the generic helper routines for\ninserting/moving/removing records it also solves some of the one off bugs\nin the original code and makes it easier to verify.\n\nSGI-PV: 985583\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32205a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Bill O\u0027Donnell \u003cbillodo@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "d4b3a4b7dd62f2e111d4d0afa9ef3f9b6cd955c0",
      "tree": "cd0b5a46d81fa9d9b0253c489f64ad698e3a0fa9",
      "parents": [
        "4b22a57188d87e873346b73c227607715be96399"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 16:57:51 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:57:51 2008 +1100"
      },
      "message": "[XFS] move xfs_bmbt_killroot to common code\n\nxfs_bmbt_killroot is a mostly generic implementation of moving from a real\nblock based root to an inode based root. So move it to xfs_btree.c where\nit can use all the nice infrastructure there and make it pointer size\nagnostic\n\nThe new name for it is xfs_btree_kill_iroot, following the old naming but\nmaking it clear we\u0027re dealing with the root in inode case here, and to\navoid confusion with xfs_btree_new_root which is used for the not inode\nrooted case. I\u0027ve also added a comment describing what it does and why\nit\u0027s named the way it is.\n\nSGI-PV: 985583\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32203a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Bill O\u0027Donnell \u003cbillodo@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "4b22a57188d87e873346b73c227607715be96399",
      "tree": "4cf2d0deede695968b7a32b098c0c64fac8610e5",
      "parents": [
        "ea77b0a66e6c910ef265d9af522d6303ea6b3055"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 16:57:40 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:57:40 2008 +1100"
      },
      "message": "[XFS] implement generic xfs_btree_insert/insrec\n\nMake the btree insert code generic. Based on a patch from David Chinner\nwith lots of changes to follow the original btree implementations more\nclosely. While this loses some of the generic helper routines for\ninserting/moving/removing records it also solves some of the one off bugs\nin the original code and makes it easier to verify.\n\nSGI-PV: 985583\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32202a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Bill O\u0027Donnell \u003cbillodo@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "ea77b0a66e6c910ef265d9af522d6303ea6b3055",
      "tree": "632039ecbbe4e0368f31c17cda5063155281b826",
      "parents": [
        "344207ce8474b79be331eb93e6df4cb5bdd48ab2"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 16:57:28 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:57:28 2008 +1100"
      },
      "message": "[XFS] move xfs_bmbt_newroot to common code\n\nxfs_bmbt_newroot is a mostly generic implementation of moving from an\ninode root to a real block based root. So move it to xfs_btree.c where it\ncan use all the nice infrastructure there and make it pointer size\nagnostic\n\nThe new name for it is xfs_btree_new_iroot, following the old naming but\nmaking it clear we\u0027re dealing with the root in inode case here, and to\navoid confusion with xfs_btree_new_root which is used for the not inode\nrooted case.\n\nSGI-PV: 985583\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32201a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Bill O\u0027Donnell \u003cbillodo@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "344207ce8474b79be331eb93e6df4cb5bdd48ab2",
      "tree": "7858f63c359e2695a6c368a73b078ff183345922",
      "parents": [
        "f5eb8e7ca58bc1e92436614444006120d21668ba"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 16:57:16 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:57:16 2008 +1100"
      },
      "message": "[XFS] implement semi-generic xfs_btree_new_root\n\nFrom: Dave Chinner \u003cdgc@sgi.com\u003e\n\nAdd a xfs_btree_new_root helper for the alloc and ialloc btrees. The bmap\nbtree needs it\u0027s own version and is not converted.\n\n[hch: split out from bigger patch and minor adaptions]\n\nSGI-PV: 985583\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32200a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Bill O\u0027Donnell \u003cbillodo@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "f5eb8e7ca58bc1e92436614444006120d21668ba",
      "tree": "94825b885653224f74c6087956cb4e1930380467",
      "parents": [
        "687b890a184fef263ebb773926e1f4aa69240d01"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 16:57:03 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:57:03 2008 +1100"
      },
      "message": "[XFS] implement generic xfs_btree_split\n\nMake the btree split code generic. Based on a patch from David Chinner\nwith lots of changes to follow the original btree implementations more\nclosely. While this loses some of the generic helper routines for\ninserting/moving/removing records it also solves some of the one off bugs\nin the original code and makes it easier to verify.\n\nSGI-PV: 985583\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32198a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Bill O\u0027Donnell \u003cbillodo@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "687b890a184fef263ebb773926e1f4aa69240d01",
      "tree": "b8f80c134ff994927225367d148ee63f4d76506b",
      "parents": [
        "9eaead51bed957af0070a277d945744a76df0c8b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 16:56:53 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:56:53 2008 +1100"
      },
      "message": "[XFS] implement generic xfs_btree_lshift\n\nMake the btree left shift code generic. Based on a patch from David\nChinner with lots of changes to follow the original btree implementations\nmore closely. While this loses some of the generic helper routines for\ninserting/moving/removing records it also solves some of the one off bugs\nin the original code and makes it easier to verify.\n\nSGI-PV: 985583\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32197a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Bill O\u0027Donnell \u003cbillodo@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "9eaead51bed957af0070a277d945744a76df0c8b",
      "tree": "7b0679186c06f366c7aed30873e3395bd414953e",
      "parents": [
        "278d0ca14e889c3932a05d1a68675252a12b3466"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 16:56:43 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:56:43 2008 +1100"
      },
      "message": "[XFS] implement generic xfs_btree_rshift\n\nMake the btree right shift code generic. Based on a patch from David\nChinner with lots of changes to follow the original btree implementations\nmore closely. While this loses some of the generic helper routines for\ninserting/moving/removing records it also solves some of the one off bugs\nin the original code and makes it easier to verify.\n\nSGI-PV: 985583\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32196a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Bill O\u0027Donnell \u003cbillodo@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "278d0ca14e889c3932a05d1a68675252a12b3466",
      "tree": "a228d171d4aded60b27639e30eca1bf58ed7daa6",
      "parents": [
        "38bb74237d2d94c1aced2ec626d7d0f317e360da"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 16:56:32 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:56:32 2008 +1100"
      },
      "message": "[XFS] implement generic xfs_btree_update\n\nFrom: Dave Chinner \u003cdgc@sgi.com\u003e\n\nThe most complicated part here is the lastrec tracking for the alloc\nbtree. Most logic is in the update_lastrec method which has to do some\nhopefully good enough dirty magic to maintain it.\n\n[hch: split out from bigger patch and a rework of the lastrec\n\nlogic]\n\nSGI-PV: 985583\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32194a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Bill O\u0027Donnell \u003cbillodo@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "38bb74237d2d94c1aced2ec626d7d0f317e360da",
      "tree": "e37dfdad942de0e98c36c0fdf781cc29cd2daf0c",
      "parents": [
        "fe033cc848489851f0c7de48f0b1bab5d744ad8a"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 16:56:22 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:56:22 2008 +1100"
      },
      "message": "[XFS] implement generic xfs_btree_updkey\n\nFrom: Dave Chinner \u003cdgc@sgi.com\u003e\n\nNote that there are many \u003e 80 char lines introduced due to the\nxfs_btree_key casts. But the places where this happens is throw-away code\nonce the whole btree code gets merged into a common implementation.\n\nThe same is true for the temporary xfs_alloc_log_keys define to the new\nname. All old users will be gone after a few patches.\n\n[hch: split out from bigger patch and minor adaptions]\n\nSGI-PV: 985583\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32193a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Bill O\u0027Donnell \u003cbillodo@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "fe033cc848489851f0c7de48f0b1bab5d744ad8a",
      "tree": "f69709f4e9c125c528a699c32f439b53ea0969f3",
      "parents": [
        "8df4da4a0a642d3a016028c0d922bcb4d5a4a6d7"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 16:56:09 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:56:09 2008 +1100"
      },
      "message": "[XFS] implement generic xfs_btree_lookup\n\nFrom: Dave Chinner \u003cdgc@sgi.com\u003e\n\n[hch: split out from bigger patch and minor adaptions]\n\nSGI-PV: 985583\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32192a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Bill O\u0027Donnell \u003cbillodo@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "8df4da4a0a642d3a016028c0d922bcb4d5a4a6d7",
      "tree": "29b07230f8269ef12a10665d757a6e935c4e2e49",
      "parents": [
        "637aa50f461b8ea6b1e8bf9877b0d13d00085043"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 16:55:58 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:55:58 2008 +1100"
      },
      "message": "[XFS] implement generic xfs_btree_decrement\n\nFrom: Dave Chinner \u003cdgc@sgi.com\u003e\n\n[hch: split out from bigger patch and minor adaptions]\n\nSGI-PV: 985583\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32191a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Bill O\u0027Donnell \u003cbillodo@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "637aa50f461b8ea6b1e8bf9877b0d13d00085043",
      "tree": "a7c00b821dca04fe90614461749b74eff40bd8ed",
      "parents": [
        "65f1eaeac0efc968797f3ac955b85ba3f5d4f9c8"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 16:55:45 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:55:45 2008 +1100"
      },
      "message": "[XFS] implement generic xfs_btree_increment\n\nFrom: Dave Chinner \u003cdgc@sgi.com\u003e\n\nBecause this is the first major generic btree routine this patch includes\nsome infrastrucure, first a few routines to deal with a btree block that\ncan be either in short or long form, second xfs_btree_read_buf_block,\nwhich is the new central routine to read a btree block given a cursor, and\nthird the new xfs_btree_ptr_addr routine to calculate the address for a\ngiven btree pointer record.\n\n[hch: split out from bigger patch and minor adaptions]\n\nSGI-PV: 985583\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32190a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Bill O\u0027Donnell \u003cbillodo@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "65f1eaeac0efc968797f3ac955b85ba3f5d4f9c8",
      "tree": "149c010e3a1d4abb60021ed39d3972459f63d13d",
      "parents": [
        "ce5e42db421a41b1ad0cfd68c6058566b963e14b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 16:55:34 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:55:34 2008 +1100"
      },
      "message": "[XFS] add helpers for addressing entities inside a btree block\n\nAdd new helpers in xfs_btree.c to find the record, key and block pointer\nentries inside a btree block. To implement this genericly the\n-\u003eget_maxrecs methods and two new xfs_btree_ops entries for the key and\nrecord sizes are used. Also add a big comment describing how the\naddressing inside a btree block works.\n\nNote that these helpers are unused until users are introduced in the next\npatches and this patch will thus cause some harmless compiler warnings.\n\nSGI-PV: 985583\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32189a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Bill O\u0027Donnell \u003cbillodo@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "ce5e42db421a41b1ad0cfd68c6058566b963e14b",
      "tree": "7723f47e468c6b933a89361462c04436fe617cda",
      "parents": [
        "8c4ed633e65d0bd0a25d45aad9b4646e3236cad7"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 16:55:23 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:55:23 2008 +1100"
      },
      "message": "[XFS] add get_maxrecs btree operation\n\nFactor xfs_btree_maxrecs into a per-btree operation.\n\nThe get_maxrecs method is based on a patch from Dave Chinner.\n\nSGI-PV: 985583\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32188a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Bill O\u0027Donnell \u003cbillodo@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "8c4ed633e65d0bd0a25d45aad9b4646e3236cad7",
      "tree": "36877f1d34c0dbd20cfd0315112d62dbf4571b80",
      "parents": [
        "854929f05831d3a290a802815ee955b96c740c61"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 16:55:13 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:55:13 2008 +1100"
      },
      "message": "[XFS] make btree tracing generic\n\nMake the existing bmap btree tracing generic so that it applies to all\nbtree types.\n\nSome fragments lifted from a patch by Dave Chinner.\n\nSGI-PV: 985583\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32187a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Bill O\u0027Donnell \u003cbillodo@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "854929f05831d3a290a802815ee955b96c740c61",
      "tree": "6a0ff769e72eaed88c210dc3725594a7d53dfdb7",
      "parents": [
        "a23f6ef8ce966abc0f6e24a81ceb6a74ed30693b"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 16:55:03 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:55:03 2008 +1100"
      },
      "message": "[XFS] add new btree statistics\n\nFrom: Dave Chinner \u003cdgc@sgi.com\u003e\n\nIntroduce statistics coverage of all the btrees and cover all the btree\noperations, not just some.\n\nInvaluable for determining test code coverage of all the btree\noperations....\n\nSGI-PV: 985583\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32184a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Bill O\u0027Donnell \u003cbillodo@sgi.com\u003e\n"
    },
    {
      "commit": "a23f6ef8ce966abc0f6e24a81ceb6a74ed30693b",
      "tree": "fa0d60a742dd47a966c177298268ca956c8bae4b",
      "parents": [
        "b524bfeee2152fa64b6210f28ced80489b9d2439"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 16:54:53 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:54:53 2008 +1100"
      },
      "message": "[XFS] refactor btree validation helpers\n\nMove the various btree validation helpers around in xfs_btree.c so that\nthey are close to each other and in common #ifdef DEBUG sections.\n\nAlso add a new xfs_btree_check_ptr helper to check a btree ptr that can be\neither long or short form.\n\nSplit out from a bigger patch from Dave Chinner with various small changes\napplied by me.\n\nSGI-PV: 985583\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32183a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Bill O\u0027Donnell \u003cbillodo@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "b524bfeee2152fa64b6210f28ced80489b9d2439",
      "tree": "226355f2fc34b50975c9c756a211446901dbecbe",
      "parents": [
        "e99ab90d6a9e8ac92f05d2c31d44aa7feee15394"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 16:54:43 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:54:43 2008 +1100"
      },
      "message": "[XFS] refactor xfs_btree_readahead\n\nFrom: Dave Chinner \u003cdgc@sgi.com\u003e\n\nRefactor xfs_btree_readahead to make it more readable:\n\n(a) remove the inline xfs_btree_readahead wrapper and move all checks out\n\nof line into the main routine.\n\n(b) factor out helpers for short/long form btrees\n\n(c) move check for root in inodes from the callers into\nxfs_btree_readahead\n\n[hch: split out from a big patch and minor cleanups]\n\nSGI-PV: 985583\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32182a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Bill O\u0027Donnell \u003cbillodo@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "e99ab90d6a9e8ac92f05d2c31d44aa7feee15394",
      "tree": "49f96f06100aae711eafe75799c4812a001a51ba",
      "parents": [
        "8186e517fab1854554c48955cdbcbb6710e7baef"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 16:54:33 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:54:33 2008 +1100"
      },
      "message": "[XFS] add a long pointers flag to xfs_btree_cur\n\nAdd a flag to the xfs btree cursor when using long (64bit) block pointers\ninstead of checking btnum \u003d\u003d XFS_BTNUM_BMAP.\n\nSGI-PV: 985583\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32181a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Bill O\u0027Donnell \u003cbillodo@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "8186e517fab1854554c48955cdbcbb6710e7baef",
      "tree": "c948ac3cc49516c256ed9ab9355eb49c9f7c2a43",
      "parents": [
        "de227dd9604934d2a6d33cd332d1be431719c93e"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 16:54:22 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:54:22 2008 +1100"
      },
      "message": "[XFS] make btree root in inode support generic\n\nThe bmap btree is rooted in the inode and not in a disk block. Make the\nsupport for this feature more generic by adding a btree flag to for this\nfeature instead of relying on the XFS_BTNUM_BMAP btnum check.\n\nAlso clean up xfs_btree_get_block where this new flag is used.\n\nBased upon a patch from Dave Chinner.\n\nSGI-PV: 985583\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32180a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Bill O\u0027Donnell \u003cbillodo@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "de227dd9604934d2a6d33cd332d1be431719c93e",
      "tree": "36254901d67015aa2f2621bea47f8082c31c8e55",
      "parents": [
        "561f7d17390d00444e6cd0b02b7516c91528082e"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 16:54:12 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:54:12 2008 +1100"
      },
      "message": "[XFS] add generic btree types\n\nAdd generic union types for btree pointers, keys and records. The generic\nbtree pointer contains either a 32 and 64bit big endian scalar for short\nand long form btrees, and the key and record contain the relevant type for\neach possible btree.\n\nSplit out from a bigger patch from Dave Chinner and simplified a little\nfurther.\n\nSGI-PV: 985583\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32178a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Bill O\u0027Donnell \u003cbillodo@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "561f7d17390d00444e6cd0b02b7516c91528082e",
      "tree": "59359b995320bf79a55c2f23305960b5ffe74d8f",
      "parents": [
        "f2277f06e626d694e61bb356524ff536ced24acf"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 16:53:59 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:53:59 2008 +1100"
      },
      "message": "[XFS] split up xfs_btree_init_cursor\n\nxfs_btree_init_cursor contains close to little shared code for the\ndifferent btrees and will get even more non-common code in the future.\nSplit it up into one routine per btree type.\n\nBecause xfs_btree_dup_cursor needs to call the init routine for a generic\nbtree cursor add a new btree operation vector that contains a dup_cursor\nmethod that initializes a new cursor based on an existing one.\n\nThe btree operations vector is based on an idea and code from Dave Chinner\nand will grow more entries later during this series.\n\nSGI-PV: 985583\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32176a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Bill O\u0027Donnell \u003cbillodo@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "f2277f06e626d694e61bb356524ff536ced24acf",
      "tree": "f5ada4a7fb6e9c98f340fdd83bcec3f5d41f95c5",
      "parents": [
        "f338f9036400e453ab553b16639a9cc838b02d44"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 16:53:47 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:53:47 2008 +1100"
      },
      "message": "[XFS] kill struct xfs_btree_hdr\n\nThis type is only embedded in struct xfs_btree_block and never used\ndirectly. By moving the fields directly into struct xfs_btree_block a lot\nof the macros for struct xfs_btree_sblock and struct xfs_btree_lblock can\nbe used for struct xfs_btree_block too now which helps greatly with some\nof the migrations during implementing the generic btree code.\n\nSGI-PV: 985583\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32174a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Bill O\u0027Donnell \u003cbillodo@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "f338f9036400e453ab553b16639a9cc838b02d44",
      "tree": "785513701e6bbe3d7061f6f1a3ac1440fef0b178",
      "parents": [
        "a357a1215602f79182abdde27aaddc7166dbd709"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:53:38 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:53:38 2008 +1100"
      },
      "message": "[XFS] Unlock inode before calling xfs_idestroy()\n\nLock debugging reported the ilock was being destroyed without being\nunlocked. We don\u0027t need to lock the inode until we are going to insert it\ninto the radix tree.\n\nSGI-PV: 987246\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32159a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "a357a1215602f79182abdde27aaddc7166dbd709",
      "tree": "21d082a0cd92181123acaef9e9c10e1051bbe9df",
      "parents": [
        "46039928c9abe466ed1bc0da20c2e596b1d41236"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:53:25 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:53:25 2008 +1100"
      },
      "message": "[XFS] Fix use-after-free with log and quotas\n\nDestroying the quota stuff on unmount can access the log - ie\nXFS_QM_DONE() ends up in xfs_dqunlock() which calls\nxfs_trans_unlocked_item() and then xfs_log_move_tail(). By this time the\nlog has already been destroyed. Just move the cleanup of the quota code\nearlier in xfs_unmountfs() before the call to xfs_log_unmount(). Moving\nXFS_QM_DONE() up near XFS_QM_DQPURGEALL() seems like a good spot.\n\nSGI-PV: 987086\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32148a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Peter Leckie \u003cpleckie@sgi.com\u003e\n"
    },
    {
      "commit": "46039928c9abe466ed1bc0da20c2e596b1d41236",
      "tree": "7f687ad545e5dffbb1ab1e7938a176abadf324dd",
      "parents": [
        "d07c60e54fb7647d8247ae392f128e8ee8f3e5f3"
      ],
      "author": {
        "name": "Barry Naujok",
        "email": "bnaujok@sgi.com",
        "time": "Thu Oct 30 16:52:35 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:52:35 2008 +1100"
      },
      "message": "[XFS] Remove final remnants of dirv1 macros and other stuff\n\nSGI-PV: 981498\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32002a\n\nSigned-off-by: Barry Naujok \u003cbnaujok@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "d07c60e54fb7647d8247ae392f128e8ee8f3e5f3",
      "tree": "5a383c9683bff46c0ddc8a4bb7b955a260323d87",
      "parents": [
        "be8b78a626dd9bc92c12e9ac34f3bc3db1204d25"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:50:35 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:50:35 2008 +1100"
      },
      "message": "[XFS] Use xfs_idestroy() to cleanup an inode.\n\nSGI-PV: 981498\n\nSGI-Modid: xfs-linux-melb:xfs-kern:31927a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "be8b78a626dd9bc92c12e9ac34f3bc3db1204d25",
      "tree": "a3cea6047979fe911a8efc43435b7295dbd3e669",
      "parents": [
        "07c8f67587724b417f60bffb32c448dd94647b54"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Oct 30 16:42:34 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Oct 30 16:42:34 2008 +1100"
      },
      "message": "[XFS] Remove kmem_zone_t argument from xfs_inode_init_once()\n\nkmem cache constructor no longer takes a kmem_zone_t argument.\n\nSGI-PV: 957103\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32254a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "07c8f67587724b417f60bffb32c448dd94647b54",
      "tree": "01f6cf39be93dd5515481d09d282c503e05ef79f",
      "parents": [
        "e946217e4fdaa67681bbabfa8e6b18641921f750"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 16:11:59 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:11:59 2008 +1100"
      },
      "message": "[XFS] Make use of the init-once slab optimisation.\n\nTo avoid having to initialise some fields of the XFS inode on every\nallocation, we can use the slab init-once feature to initialise them. All\nwe have to guarantee is that when we free the inode, all it\u0027s entries are\nin the initial state. Add asserts where possible to ensure debug kernels\ncheck this initial state before freeing and after allocation.\n\nSGI-PV: 981498\n\nSGI-Modid: xfs-linux-melb:xfs-kern:31925a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "e946217e4fdaa67681bbabfa8e6b18641921f750",
      "tree": "057ad6cb5869e20db7b93f154319560b55cbc725",
      "parents": [
        "a1865769254dd4eefbc1e857d17bc2a77d5f8580",
        "60063a66236c15f5613f91390631e06718689782"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 28 09:52:25 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 28 09:52:25 2008 -0700"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (31 commits)\n  ftrace: fix current_tracer error return\n  tracing: fix a build error on alpha\n  ftrace: use a real variable for ftrace_nop in x86\n  tracing/ftrace: make boot tracer select the sched_switch tracer\n  tracepoint: check if the probe has been registered\n  asm-generic: define DIE_OOPS in asm-generic\n  trace: fix printk warning for u64\n  ftrace: warning in kernel/trace/ftrace.c\n  ftrace: fix build failure\n  ftrace, powerpc, sparc64, x86: remove notrace from arch ftrace file\n  ftrace: remove ftrace hash\n  ftrace: remove mcount set\n  ftrace: remove daemon\n  ftrace: disable dynamic ftrace for all archs that use daemon\n  ftrace: add ftrace warn on to disable ftrace\n  ftrace: only have ftrace_kill atomic\n  ftrace: use probe_kernel\n  ftrace: comment arch ftrace code\n  ftrace: return error on failed modified text.\n  ftrace: dynamic ftrace process only text section\n  ...\n"
    }
  ],
  "next": "a1865769254dd4eefbc1e857d17bc2a77d5f8580"
}
