)]}'
{
  "log": [
    {
      "commit": "c141b2928fe20396a9ecdec85526e4b66ae96c90",
      "tree": "d708be285a392950e85aacf8a24e130431d9c240",
      "parents": [
        "7d46be4a25fdfb503c20bad60a618adebfe2ac5c"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Mar 03 14:48:37 2009 -0500"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Fri Mar 06 17:35:12 2009 -0600"
      },
      "message": "xfs: only issues a cache flush on unmount if barriers are enabled\n\nCurrently we unconditionally issue a flush from xfs_free_buftarg, but\nsince 2.6.29-rc1 this gives a warning in the style of\n\n\tend_request: I/O error, dev vdb, sector 0\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "7d46be4a25fdfb503c20bad60a618adebfe2ac5c",
      "tree": "f2c5eda4725789eef643b931867b1fd6ad6bde70",
      "parents": [
        "ff392c497b43ddedbab5627b53928a654cc5486e"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Mar 03 14:48:35 2009 -0500"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Fri Mar 06 17:34:59 2009 -0600"
      },
      "message": "xfs: prevent lockdep false positive in xfs_iget_cache_miss\n\nThe inode can\u0027t be locked by anyone else as we just created it a few\nlines above and it\u0027s not been added to any lookup data structure yet.\n\nSo use a trylock that must succeed to get around the lockdep warnings.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReported-by: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "ff392c497b43ddedbab5627b53928a654cc5486e",
      "tree": "3ba2bf44750f902b3480233307d6e1c4129b695a",
      "parents": [
        "27e88bf6af7d42adf790f7b2ed7d65475f191cf2"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Mar 03 14:48:36 2009 -0500"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Fri Mar 06 17:34:45 2009 -0600"
      },
      "message": "xfs: prevent kernel crash due to corrupted inode log format\n\nAndras Korn reported an oops on log replay causes by a corrupted\nxfs_inode_log_format_t passing a 0 size to kmem_zalloc.  This patch handles\nto small or too large numbers of log regions gracefully by rejecting the\nlog replay with a useful error message.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReported-by: Andras Korn \u003ckorn-sgi.com@chardonnay.math.bme.hu\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "27e88bf6af7d42adf790f7b2ed7d65475f191cf2",
      "tree": "ce135c2daae945a11b7ae0c5869660b7972aa88f",
      "parents": [
        "7fdf582447aa01658b624adc0a51a31e4278b68c"
      ],
      "author": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Feb 18 15:56:51 2009 -0600"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Thu Feb 19 13:15:55 2009 -0600"
      },
      "message": "Revert \"[XFS] remove old vmap cache\"\n\nThis reverts commit d2859751cd0bf586941ffa7308635a293f943c17.\n\nThis commit caused regression. We\u0027ll try to fix use of new\nvmap API for next release.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "7fdf582447aa01658b624adc0a51a31e4278b68c",
      "tree": "dcb0df49afe80e241f470d3850a6bea6c2c0c596",
      "parents": [
        "43f3f057c56d030546145696627f13f95735be95"
      ],
      "author": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Feb 18 15:41:28 2009 -0600"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Thu Feb 19 13:15:44 2009 -0600"
      },
      "message": "Revert \"[XFS] use scalable vmap API\"\n\nThis reverts commit 95f8e302c04c0b0c6de35ab399a5551605eeb006.\n\nThis commit caused regression. We\u0027ll try to fix use of new\nvmap API for next release.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "43f3f057c56d030546145696627f13f95735be95",
      "tree": "80124e5096315934cf90af96d5b6d71428ed1b89",
      "parents": [
        "6139a2360987f55e4490a7813cf69df74ec8b93a"
      ],
      "author": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Thu Jan 22 21:34:05 2009 -0600"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Tue Feb 03 11:04:54 2009 -0600"
      },
      "message": "[XFS] Warn on transaction in flight on read-only remount\n\nTill VFS can correctly support read-only remount without racing,\nuse WARN_ON instead of BUG_ON on detecting transaction in flight\nafter quiescing filesystem.\n\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "6139a2360987f55e4490a7813cf69df74ec8b93a",
      "tree": "650a4ac7ef9181b0e98cae627728eae2b260c33d",
      "parents": [
        "6d2160bfe7826aca1c94b4bca77093908a452ae7"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Jan 22 15:37:47 2009 +1100"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Tue Feb 03 11:01:32 2009 -0600"
      },
      "message": "xfs: Check buffer lengths in log recovery\n\nBefore trying to obtain, read or write a buffer,\ncheck that the buffer length is actually valid. If\nit is not valid, then something read in the recovery\nprocess has been corrupted and we should abort\nrecovery.\n\nReported-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nTested-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nReviewed-by: Christoph Hellwig \u003chch@infradead.org\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "f0e0059b9c18426cffdcc04161062251a8f9741e",
      "tree": "961ac9a97f77e55cd76d56f1f931caf8ac6f4114",
      "parents": [
        "74e2d06521913443c7e2697037909f5efc200ec5"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Sun Jan 25 20:53:00 2009 -0600"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Tue Jan 27 14:51:39 2009 -0600"
      },
      "message": "don\u0027t reallocate sxp variable passed into xfs_swapext\n\nfixes kernel.org bugzilla 12538, xfs_fsr fails on 2.6.29-rc kernels\n\nRegression caused by 743bb4650da9e2595d6cedd01c680b5b9398c74a\n\nThis was an embarrasing mistake, reallocating the sxp pointer passed\nin from the main ioctl switch.\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\nReported-by: Paul Martin \u003cpm@debian.org\u003e\nTested-by: Paul Martin \u003cpm@debian.org\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "74e2d06521913443c7e2697037909f5efc200ec5",
      "tree": "4593c7ac6aba011389161642a61a1266377ed8b5",
      "parents": [
        "b6e3222732a3551e786aa47b90a8eab2a517711c"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Wed Jan 21 15:22:17 2009 +1100"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Thu Jan 22 01:23:11 2009 -0600"
      },
      "message": "Long btree pointers are still 64 bit on disk\n\n[XFS] Long btree pointers are still 64 bit on disk\n\nOn 32 bit machines with CONFIG_LBD\u003dn, XFS reduces the\nin memory size of xfs_fsblock_t to 32 bits so that it\nwill fit within 32 bit addressing. However, the disk format\nfor long btree pointers are still 64 bits in size.\n\nThe recent btree rewrite failed to take this into account\nwhen initialising new btree blocks, setting sibling pointers\nto NULL and checking if they are NULL. Hence checking whether\na 64 bit NULL was the same as a 32 bit NULL was failingi\nresulting in NULL sibling pointers failing to be detected\ncorrectly. This showed up as WANT_CORRUPTED_GOTO shutdowns\nin xfs_btree_delrec.\n\nFix this by making all the comparisons and setting of long\npointer btree NULL blocks to the disk format, not the\nin memory format. i.e. use NULLDFSBNO.\n\nReported-by: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nReported-by: Jacek Luczak \u003cdifrost.kernel@gmail.com\u003e\nReported-by: Danny ter Haar \u003cdth@dth.net\u003e\nTested-by: Jacek Luczak \u003cdifrost.kernel@gmail.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "b6e3222732a3551e786aa47b90a8eab2a517711c",
      "tree": "57ff209c55fba6688aea5d42f24bde32c449de1c",
      "parents": [
        "b828d8c33867dd6479644c06500975570bfd525c"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Wed Jan 14 23:22:07 2009 -0600"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Mon Jan 19 14:45:55 2009 +1100"
      },
      "message": "[XFS] Remove the rest of the macro-to-function indirections.\n\nRemove the last of the macros-defined-to-static-functions.\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "b828d8c33867dd6479644c06500975570bfd525c",
      "tree": "7788c8a92da9c9859cf40fdd0c1c471debf5035c",
      "parents": [
        "49739140e57a65114d9e1976c4c158d2145595fb"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Jan 19 02:04:16 2009 +0100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Mon Jan 19 14:45:11 2009 +1100"
      },
      "message": "xfs: sanity check attr fork size\n\nRecently we have quite a few kerneloops reports about dereferencing a NULL\nif_data in the attribute fork.  From looking over the code this can only\nhappen if we pass a 0 size argument to xfs_iformat_local.  This implies some\nsort of corruption and in fact the only mailinglist report about this from\nearlier this year was after a powerfail presumably on a system with write\ncache and without barriers.\n\nAdd a quick sanity check for the attr fork size in xfs_iformat to catch\nthese early and without an oops.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "49739140e57a65114d9e1976c4c158d2145595fb",
      "tree": "9295a472e8d4040c9504f3c8b2b9d29207772cd4",
      "parents": [
        "5aa2dc0a0697c762874241fa9ddbecd2d878b934"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Jan 19 02:04:07 2009 +0100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Mon Jan 19 14:45:04 2009 +1100"
      },
      "message": "xfs: fix bad_features2 fixups for the root filesystem\n\nCurrently the bad_features2 fixup and the alignment updates in the superblock\nare skipped if we mount a filesystem read-only.  But for the root filesystem\nthe typical case is to mount read-only first and only later remount writeable\nso we\u0027ll never perform this update at all.  It\u0027s not a big problem but means\nthe logs of people needing the fixup get spammed at every boot because they\nnever happen on disk.\n\nReported-by: Arkadiusz Miskiewicz \u003carekm@maven.pl\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "5aa2dc0a0697c762874241fa9ddbecd2d878b934",
      "tree": "48ceaae74318d871b5b1d0a75484b02283712697",
      "parents": [
        "4f2d4ac6e5eb7d72e8df7f3fbf67a78dab8b91cf"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Jan 19 02:03:25 2009 +0100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Mon Jan 19 14:44:59 2009 +1100"
      },
      "message": "xfs: add a lock class for group/project dquots\n\nWe can have both a user and a group/project dquot locked at the same time,\nas long as the user dquot is locked first.  Tell lockdep about that fact\nby making the group/project dquots a different lock class.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "4f2d4ac6e5eb7d72e8df7f3fbf67a78dab8b91cf",
      "tree": "821d74c2055ebbc8070db1e881762bcc805e90a5",
      "parents": [
        "080dda7f5e8e8df95bcd17a5345c276e365a2054"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Jan 19 02:03:19 2009 +0100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Mon Jan 19 14:44:52 2009 +1100"
      },
      "message": "xfs: lockdep annotations for xfs_dqlock2\n\nxfs_dqlock2 locks two xfs_dquots, which is fine as it always locks the\ndquot with the lower id first.  Use mutex_lock_nested to tell lockdep\nabout this fact.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "080dda7f5e8e8df95bcd17a5345c276e365a2054",
      "tree": "19937537e0c3d623255ccf1e76af36eceb2fb584",
      "parents": [
        "62e194ecdaf8a1935991c1f8704886328d96a391"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Jan 19 02:03:11 2009 +0100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Mon Jan 19 14:44:44 2009 +1100"
      },
      "message": "xfs: add a separate lock class for the per-mount list of dquots\n\nWe can have both a a quota hash chain and the per-mount list locked at\nthe same time.  But given that both use the same struct dqhash as list\nhead we have to tell lockdep that they are different lock classes.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "62e194ecdaf8a1935991c1f8704886328d96a391",
      "tree": "730e1c02ece82443f3dbe1314b88763bee4764d2",
      "parents": [
        "ab596ad8972f314ace538799734c7e1bdd1da2ff"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Jan 19 02:03:03 2009 +0100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Mon Jan 19 14:44:30 2009 +1100"
      },
      "message": "xfs: use mnt_want_write in compat_attrmulti ioctl\n\nThe compat version of the attrmulti ioctl needs to ask for and then\nlater release write access to the mount just like the native version,\notherwise we could potentially write to read-only mounts.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "ab596ad8972f314ace538799734c7e1bdd1da2ff",
      "tree": "40c35f802be9307a4739ff3b22260d3a0788c2f0",
      "parents": [
        "f3b8436ad9a8ad36b3c9fa1fe030c7f38e5d3d0b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Jan 19 02:02:57 2009 +0100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Mon Jan 19 14:43:18 2009 +1100"
      },
      "message": "xfs: fix dentry aliasing issues in open_by_handle\n\nOpen by handle just grabs an inode by handle and then creates itself\na dentry for it.  While this works for regular files it is horribly\nbroken for directories, where the VFS locking relies on the fact that\nthere is only just one single dentry for a given inode, and that\nthese are always connected to the root of the filesystem so that\nit\u0027s locking algorithms work (see Documentations/filesystems/Locking)\n\nRemove all the existing open by handle code and replace it with a small\nwrapper around the exportfs code which deals with all these issues.\nAt the same time we also make the checks for a valid handle strict\nenough to reject all not perfectly well formed handles - given that\nwe never hand out others that\u0027s okay and simplifies the code.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "cb7a97d01521797cad9f63e8478403c3e51fea49",
      "tree": "84cddf20369f82f10c1c3712e6cce20dd1b9d863",
      "parents": [
        "0335cb76aa3fa913a2164bc9b669e5aef9d56fa3",
        "a6525042bfdfcab128bd91fad264de10fd24a55e"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Wed Jan 14 16:29:51 2009 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Wed Jan 14 16:29:51 2009 +1100"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-linus\n"
    },
    {
      "commit": "8e961870bb9804110d5c8211d5d9d500451c4518",
      "tree": "a2354082d3a0255f58cd4e097f662b8bdeedd490",
      "parents": [
        "fcccf502540e3d752d33b2d8e976034dee81f9f7"
      ],
      "author": {
        "name": "Takashi Sato",
        "email": "t-sato@yk.jp.nec.com",
        "time": "Fri Jan 09 16:41:00 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 16:54:42 2009 -0800"
      },
      "message": "filesystem freeze: remove XFS specific ioctl interfaces for freeze feature\n\nIt removes XFS specific ioctl interfaces and request codes\nfor freeze feature.\n\nThis patch has been supplied by David Chinner.\n\nSigned-off-by: Dave Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Takashi Sato \u003ct-sato@yk.jp.nec.com\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: \u003cxfs-masters@oss.sgi.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c4be0c1dc4cdc37b175579be1460f15ac6495e9a",
      "tree": "716ea88318211ed27cadcebda0fd85c1f8246edb",
      "parents": [
        "69347a236b22c3962ea812511495e502dedfd50c"
      ],
      "author": {
        "name": "Takashi Sato",
        "email": "t-sato@yk.jp.nec.com",
        "time": "Fri Jan 09 16:40:58 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 16:54:42 2009 -0800"
      },
      "message": "filesystem freeze: add error handling of write_super_lockfs/unlockfs\n\nCurrently, ext3 in mainline Linux doesn\u0027t have the freeze feature which\nsuspends write requests.  So, we cannot take a backup which keeps the\nfilesystem\u0027s consistency with the storage device\u0027s features (snapshot and\nreplication) while it is mounted.\n\nIn many case, a commercial filesystem (e.g.  VxFS) has the freeze feature\nand it would be used to get the consistent backup.\n\nIf Linux\u0027s standard filesystem ext3 has the freeze feature, we can do it\nwithout a commercial filesystem.\n\nSo I have implemented the ioctls of the freeze feature.\nI think we can take the consistent backup with the following steps.\n1. Freeze the filesystem with the freeze ioctl.\n2. Separate the replication volume or create the snapshot\n   with the storage device\u0027s feature.\n3. Unfreeze the filesystem with the unfreeze ioctl.\n4. Take the backup from the separated replication volume\n   or the snapshot.\n\nThis patch:\n\nVFS:\nChanged the type of write_super_lockfs and unlockfs from \"void\"\nto \"int\" so that they can return an error.\nRename write_super_lockfs and unlockfs of the super block operation\nfreeze_fs and unfreeze_fs to avoid a confusion.\n\next3, ext4, xfs, gfs2, jfs:\nChanged the type of write_super_lockfs and unlockfs from \"void\"\nto \"int\" so that write_super_lockfs returns an error if needed,\nand unlockfs always returns 0.\n\nreiserfs:\nChanged the type of write_super_lockfs and unlockfs from \"void\"\nto \"int\" so that they always return 0 (success) to keep a current behavior.\n\nSigned-off-by: Takashi Sato \u003ct-sato@yk.jp.nec.com\u003e\nSigned-off-by: Masayuki Hamaguchi \u003cm-hamaguchi@ys.jp.nec.com\u003e\nCc: \u003cxfs-masters@oss.sgi.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0087167c9d5b1273e7e6bbe39a9ab13bdb9a39bb",
      "tree": "d91aa240f9e83b23b77c44d82fe976168ad882e5",
      "parents": [
        "958f8c0e4fc311e23a40635a530c01aec366a6e8"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Jan 06 14:43:09 2009 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Jan 09 17:09:47 2009 +1100"
      },
      "message": "[XFS] use scalable vmap API\n\nImplement XFS\u0027s large buffer support with the new vmap APIs. See the vmap\nrewrite (db64fe02) for some numbers. The biggest improvement that comes from\nusing the new APIs is avoiding the global KVA allocation lock on every call.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nReviewed-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "958f8c0e4fc311e23a40635a530c01aec366a6e8",
      "tree": "bc497954825bc438b3765e641e62c3e1740ed8a8",
      "parents": [
        "058652a37dd9eac18d6b8c1a311137c679de9dae"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Jan 06 14:40:44 2009 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Jan 09 17:09:25 2009 +1100"
      },
      "message": "[XFS] remove old vmap cache\n\nXFS\u0027s vmap batching simply defers a number (up to 64) of vunmaps, and keeps\ntrack of them in a list. To purge the batch, it just goes through the list and\ncalls vunamp on each one. This is pretty poor: a global TLB flush is generally\nstill performed on each vunmap, with the most expensive parts of the operation\nbeing the broadcast IPIs and locking involved in the SMP callouts, and the\nlocking involved in the vmap management -- none of these are avoided by just\nbatching up the calls. I\u0027m actually surprised it ever made much difference.\n(Now that the lazy vmap allocator is upstream, this description is not quite\nright, but the vunmap batching still doesn\u0027t seem to do much)\n\nRip all this logic out of XFS completely. I will improve vmap performance\nand scalability directly in subsequent patch.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nReviewed-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "058652a37dd9eac18d6b8c1a311137c679de9dae",
      "tree": "4b9cba6d274980af4ae4a124af8b084bb8ec5572",
      "parents": [
        "15440319767942a363f282d6585303d3d75088ba"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Jan 08 13:42:25 2009 -0500"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Jan 09 16:19:14 2009 +1100"
      },
      "message": "[XFS] make xfs_ino_t an unsigned long long\n\nCurrently xfs_ino_t is defined as a u64 which can either be an unsigned\nlong long or on some 64 bit platforms and unsigned long.  Just making\nit and unsigned long long mean\u0027s it\u0027s still always 64 bits wide, but we\ndon\u0027t need to resort to cases to print it.\n\nFixes a warning regression on 64 bit powerpc in current git.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "15440319767942a363f282d6585303d3d75088ba",
      "tree": "9b7e64cba3989d78561b5c4e37544790f8cf5ba5",
      "parents": [
        "e6edbd1c1cbef278d58cdd8b046599ba8ac90cfc"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Jan 08 14:00:00 2009 -0500"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Jan 09 16:18:24 2009 +1100"
      },
      "message": "[XFS] truncate readdir offsets to signed 32 bit values\n\nJohn Stanley reported EOVERFLOW errors in readdir from his self-build\nglibc.  I traced this down to glibc enabling d_off overflow checks\nin one of the about five million different getdents implementations.\n\nIn 2.6.28 Dave Woodhouse moved our readdir double buffering required\nfor NFS4 readdirplus into nfsd and at that point we lost the capping\nof the directory offsets to 32 bit signed values.  Johns glibc used\ngetdents64 to even implement readdir for normal 32 bit offset dirents,\nand failed with EOVERFLOW only if this happens on the first dirent in\na getdents call.  I managed to come up with a testcase that uses\nraw getdents and does the EOVERFLOW check manually.  We always hit\nit with our last entry due to the special end of directory marker.\n\nThe patch below is a dumb version of just putting back the masking,\nto make sure we have the same behavior as in 2.6.27 and earlier.\n\nI will work on a better and cleaner fix for 2.6.30.\n\nReported-by: John Stanley \u003cjpsinthemix@verizon.net\u003e\nTested-by: John Stanley \u003cjpsinthemix@verizon.net\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "e6edbd1c1cbef278d58cdd8b046599ba8ac90cfc",
      "tree": "daa5fbe9e31d532d917979de603f9e3898291fea",
      "parents": [
        "fb82557f16f3700ae4961a4ce599bdaff6a10b1c"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Jan 08 13:42:23 2009 -0500"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Jan 09 16:16:51 2009 +1100"
      },
      "message": "[XFS] fix compile of xfs_btree_readahead_lblock on m68k\n\nChange the left/right variables to the proper always 64bit xfs_dfsbo_t\ntype because otherwise compilation fails for Geert on m68k without\nCONFIG_LBD:\n\n| fs/xfs/xfs_btree.c: In function \u0027xfs_btree_readahead_lblock\u0027:\n| fs/xfs/xfs_btree.c:736: warning: comparison is always true due to limited range of data type\n| fs/xfs/xfs_btree.c:741: warning: comparison is always true due to limited range of data type\n\nReported-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "fb82557f16f3700ae4961a4ce599bdaff6a10b1c",
      "tree": "afe34477e8676bfbf02593f3144e2cf39f756173",
      "parents": [
        "c9fb86a917640d66ba2e0613a12f3a76eda8a30f"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Fri Jan 09 15:53:54 2009 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Jan 09 15:53:54 2009 +1100"
      },
      "message": "[XFS] Remove macro-to-function indirections in the mask code\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "c9fb86a917640d66ba2e0613a12f3a76eda8a30f",
      "tree": "4fcea0b84b1d5f9ca6e3974c7dd3228e0c71eb63",
      "parents": [
        "9800b550355e99c9bcaba7ec6540751dce0823d7"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Jan 01 16:40:11 2009 -0600"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Jan 09 15:46:44 2009 +1100"
      },
      "message": "[XFS] Remove macro-to-function indirections in attr code\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "9800b550355e99c9bcaba7ec6540751dce0823d7",
      "tree": "2002aefbe3b9816b151a505555c2787263cf1ad0",
      "parents": [
        "c9a98553d513dfc82cdce869970d5662c1f22c68"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Jan 01 16:40:10 2009 -0600"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Jan 09 15:46:16 2009 +1100"
      },
      "message": "[XFS] Remove several unused typedefs.\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "c9a98553d513dfc82cdce869970d5662c1f22c68",
      "tree": "d68cc98fa807d9f9719cb04307739ab9f9d9b9b5",
      "parents": [
        "9e42d0cf5020aaf217433cad1a224745241d212a"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Jan 01 14:21:16 2009 -0500"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Jan 09 15:17:17 2009 +1100"
      },
      "message": "[XFS] pass XFS_IGET_BULKSTAT to xfs_iget for handle operations\n\nNFS clients or users of the handle ioctls can pass us arbitrary inode\nnumbers through the exportfs interface.  Make sure we use the\nXFS_IGET_BULKSTAT so that these don\u0027t cause shutdowns due to the corruption\nchecks.  Also translate the EINVAL we get back for invalid inode clusters\ninto an ESTALE which is more appropinquate, and remove the useless check\nfor a NULL inode on a successfull xfs_iget return.\n\nI have a testcase to reproduce this using the handle interface which\nI will submit to xfsqa.\n\nReported-by: Mario Becroft \u003cmb@gem.win.co.nz\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "025dfdafe77f20b3890981a394774baab7b9c827",
      "tree": "c4d514990d7a0673df5d32aa11fded95f9644ff0",
      "parents": [
        "0abb8b6a939b742f273edc68b64dba26c57331bc"
      ],
      "author": {
        "name": "Frederik Schwarzer",
        "email": "schwarzerf@gmail.com",
        "time": "Thu Oct 16 19:02:37 2008 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Jan 06 11:28:06 2009 +0100"
      },
      "message": "trivial: fix then -\u003e than typos in comments and documentation\n\n- (better, more, bigger ...) then -\u003e (...) than\n\nSigned-off-by: Frederik Schwarzer \u003cschwarzerf@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "0a8c5395f90f06d128247844b2515c8bf3f2826b",
      "tree": "d95382dcdfa303b99d480c01763d6cb6767fdaca",
      "parents": [
        "25051158bbed127e8672b43396c71c5eb610e5f1",
        "3c92ec8ae91ecf59d88c798301833d7cf83f2179"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Dec 29 16:47:18 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Dec 29 16:47:18 2008 +1100"
      },
      "message": "[XFS] Fix merge failures\n\nMerge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tfs/xfs/linux-2.6/xfs_cred.h\n\tfs/xfs/linux-2.6/xfs_globals.h\n\tfs/xfs/linux-2.6/xfs_ioctl.c\n\tfs/xfs/xfs_vnodeops.h\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "cbacc2c7f066a1e01b33b0e27ae5efbf534bc2db",
      "tree": "90d1093131d2a3543a8b3b1f3364e7c6f4081a93",
      "parents": [
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91",
        "74192246910ff4fb95309ba1a683215644beeb62"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 25 11:40:09 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 25 11:40:09 2008 +1100"
      },
      "message": "Merge branch \u0027next\u0027 into for-linus\n"
    },
    {
      "commit": "25051158bbed127e8672b43396c71c5eb610e5f1",
      "tree": "ee93995d39c50956334157ca723f980f5d9fa7d2",
      "parents": [
        "ad1ad968f4e7b06c75741575ea077e25a87da49a"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Wed Dec 24 14:07:32 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Wed Dec 24 14:07:32 2008 +1100"
      },
      "message": "[XFS] Fix race in xfs_write() between direct and buffered I/O with DMAPI\n\nThe iolock is dropped and re-acquired around the call to XFS_SEND_NAMESP().\nWhile the iolock is released the file can become cached.  We then\n\u0027goto retry\u0027 and - if we are doing direct I/O - mapping-\u003enrpages may now be\nnon zero but need_i_mutex will be zero and we will hit the WARN_ON().\n\nSince we have dropped the I/O lock then the file size may have also changed\nso what we need to do here is \u0027goto start\u0027 like we do for the XFS_SEND_DATA()\nDMAPI event.\n\nWe also need to update the filesize before releasing the iolock so that\nneeds to be done before the XFS_SEND_NAMESP event.  If we drop the iolock\nbefore setting the filesize we could race with a truncate.\n\nReviewed-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "ad1ad968f4e7b06c75741575ea077e25a87da49a",
      "tree": "906f959fa323d9fcfc5e31d7fb2046e544b27b35",
      "parents": [
        "efc557570dc99b46e46a7be51c3c7402b485e829"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Dec 22 09:59:06 2008 -0500"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Tue Dec 23 11:54:46 2008 +1100"
      },
      "message": "[XFS] handle unaligned data in xfs_bmbt_disk_get_all\n\nIn libxfs xfs_bmbt_disk_get_all needs to handle unaligned data and thus\nhas been updated to use get_unaligned_be64.  In kernelspace we don\u0027t strictly\nneed it as the routine is only used for tracing and xfsidbg, but let\u0027s keep\nthe two implementations in sync.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "efc557570dc99b46e46a7be51c3c7402b485e829",
      "tree": "faba8c63e6bcf798ab76f7da1fcb035ece445700",
      "parents": [
        "9f6c92b9cc2fd41d6c7b493be5637cc5b5659880"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Dec 17 12:27:36 2008 -0500"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Dec 22 18:02:01 2008 +1100"
      },
      "message": "[XFS] avoid memory allocations in xfs_fs_vcmn_err\n\nxfs_fs_vcmn_err can be called under a spinlock, but does a sleeping memory\nallocation to create buffer for it\u0027s internal sprintf.  Fortunately it\u0027s\nthe only caller of icmn_err, so we can merge the two and have one single\nstatic buffer and spinlock protecting it.  While we\u0027re at it make sure\nwe proper __attribute__ format annotations so that the compiler can detect\nmismatched format strings.\n\nReported-by: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "9f6c92b9cc2fd41d6c7b493be5637cc5b5659880",
      "tree": "64ea95c3305d2bba4191f7dec831e623bff8a911",
      "parents": [
        "4fdc7781799926dca6c3a3bb6e9533a9718c4dea"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Dec 22 17:56:49 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Dec 22 17:56:49 2008 +1100"
      },
      "message": "[XFS] Fix speculative allocation beyond eof\n\nSpeculative allocation beyond eof doesn\u0027t work properly.  It was\nbroken some time ago after a code cleanup that moved what is now\nxfs_iomap_eof_align_last_fsb() and xfs_iomap_eof_want_preallocate()\nout of xfs_iomap_write_delay() into separate functions.  The code\nused to use the current file size in various checks but got changed\nto be max(file_size, i_new_size).  Since i_new_size is the result\nof \u0027offset + count\u0027 then in xfs_iomap_eof_want_preallocate() the\ncheck for \u0027(offset + count) \u003c\u003d isize\u0027 will always be true.\n\nie if \u0027offset + count\u0027 is \u003e ip-\u003ei_size then isize will be i_new_size\nand equal to \u0027offset + count\u0027.\n\nThis change fixes all the places that used to use the current file\nsize.\n\nReviewed-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "4fdc7781799926dca6c3a3bb6e9533a9718c4dea",
      "tree": "5a2aa2b3ff6f13fb8eeb4079c857f16012d7ac20",
      "parents": [
        "d415867e0abc35e3b2f0d4196e98c339d6fe29a2"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Dec 22 17:52:58 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Dec 22 17:52:58 2008 +1100"
      },
      "message": "[XFS] Remove XFS_BUF_SHUT() and friends\n\nCode does nothing so remove it.\n\nReviewed-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "d415867e0abc35e3b2f0d4196e98c339d6fe29a2",
      "tree": "b47b85fb268449e8f4afb619c82e43e51ed261e9",
      "parents": [
        "27a0464a6cb837d3a90b6e69365dfc01cb0dff2f"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Dec 22 17:50:56 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Dec 22 17:50:56 2008 +1100"
      },
      "message": "[XFS] Use the incore inode size in xfs_file_readdir()\n\nWe should be using the incore inode size here not the linux inode\nsize.  The incore inode size is always up to date for directories\nwhereas the linux inode size is not updated for directories.\n\nWe\u0027ve hit assertions in xfs_bmap() and traced it back to the linux\ninode size being zero but the incore size being correct.\n\nReviewed-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "4d9d4ebf5de848e3450e23e4db9ac74e23e5daa6",
      "tree": "2c6d2766054a925a42c1863e91fb5b8c6d0eb5cb",
      "parents": [
        "cfbe52672fbc6f333892e8dde82c35e0a76aa5f5",
        "c4cd747ee6c3ba1e7727878e3fce482d0d8c0136"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Dec 12 15:28:02 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Dec 12 15:28:02 2008 +1100"
      },
      "message": "Merge branch \u0027master\u0027 of git+ssh://git.melbourne.sgi.com/git/xfs\n"
    },
    {
      "commit": "cfbe52672fbc6f333892e8dde82c35e0a76aa5f5",
      "tree": "fa2b867d97f55a138f0bf59cadb804f40057465a",
      "parents": [
        "14d676f56fad26fd3c31eeff5d4ef8ea4a163571"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Dec 12 15:27:25 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Dec 12 15:27:25 2008 +1100"
      },
      "message": "[XFS] set b_error from bio error in xfs_buf_bio_end_io\n\nPreserve any error returned by the bio layer.\n\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Tim Shimmin \u003ctes@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "c4cd747ee6c3ba1e7727878e3fce482d0d8c0136",
      "tree": "2232d0b923fdd2095abed5cfa4ea8b7222026b74",
      "parents": [
        "4d4be482a4d78ca906f45e99fd9fdb91e907f5ad"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Dec 09 04:47:34 2008 -0500"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Dec 11 13:15:10 2008 +1100"
      },
      "message": "[XFS] use inode_change_ok for setattr permission checking\n\nInstead of implementing our own checks use inode_change_ok to check for\nnecessary permission in setattr.  There is a slight change in behaviour\nas inode_change_ok doesn\u0027t allow i_mode updates to add the suid or sgid\nwithout superuser privilegues while the old XFS code just stripped away\nthose bits from the file mode.\n\n(First sent on Semptember 29th)\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "4d4be482a4d78ca906f45e99fd9fdb91e907f5ad",
      "tree": "52974b28fecd3c11fc0596504270ffee976f1b1a",
      "parents": [
        "6d73cf133c5477f7038577bfeda603ce9946f8cb"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Dec 09 04:47:33 2008 -0500"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Dec 11 13:14:41 2008 +1100"
      },
      "message": "[XFS] add a FMODE flag to make XFS invisible I/O less hacky\n\nXFS has a mode called invisble I/O that doesn\u0027t update any of the\ntimestamps.  It\u0027s used for HSM-style applications and exposed through\nthe nasty open by handle ioctl.\n\nInstead of doing directly assignment of file operations that set an\ninternal flag for it add a new FMODE_NOCMTIME flag that we can check\nin the normal file operations.\n\n(addition of the generic VFS flag has been ACKed by Al as an interims\n solution)\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "6d73cf133c5477f7038577bfeda603ce9946f8cb",
      "tree": "68426855963fe343ae796fb490518e62a2d1b1be",
      "parents": [
        "2175dd95741bda5f438e4efe388a8c1bb5abf1cc"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Dec 09 04:47:32 2008 -0500"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Dec 11 13:14:17 2008 +1100"
      },
      "message": "[XFS] resync headers with libxfs\n\n - xfs_sb.h add the XFS_SB_VERSION2_PARENTBIT features2 that has been\n   around in userspace for some time\n - xfs_inode.h: move a few things out of __KERNEL__ that are needed by\n   userspace\n - xfs_mount.h: only include xfs_sync.h under __KERNEL__\n - xfs_inode.c: minor whitespace fixup.  I accidentaly changes this when\n   importing this file for use by userspace.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "2175dd95741bda5f438e4efe388a8c1bb5abf1cc",
      "tree": "cf861111885ed094b64d0680d4aa901c8e30cbcf",
      "parents": [
        "15ac08a8b2c129abccf1be47b6ab09491e013db2"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Dec 09 04:47:31 2008 -0500"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Dec 11 13:13:52 2008 +1100"
      },
      "message": "[XFS] simplify projid check in xfs_rename\n\nCheck for the project ID after attaching all inodes to the transaction.\nThat way the unlock in the error case is done by the transaction subsystem,\nwhich guaratees that is uses the right flags (which was wrong from day one\nof this check), and avoids having special code unlocking an array of inodes\nwith potential duplicates.  Attaching the inode first is the method used\nby xfs_rename and the other namespace methods all other error that require\nmultiple locked inodes.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "15ac08a8b2c129abccf1be47b6ab09491e013db2",
      "tree": "9b9b630fbd168d1683369c7a72e83daf3216301c",
      "parents": [
        "e055f13a6d8448d4f23121b7b11340c3fb55cce6"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Dec 09 04:47:30 2008 -0500"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Dec 11 13:13:33 2008 +1100"
      },
      "message": "[XFS] replace b_fspriv with b_mount\n\nReplace the b_fspriv pointer and it\u0027s ugly accessors with a properly types\nxfs_mount pointer.  Also switch log reocvery over to it instead of using\nb_fspriv for the mount pointer.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "e055f13a6d8448d4f23121b7b11340c3fb55cce6",
      "tree": "d74ff15e1a6fa7e6bbf68510ebd7bb4ab11ba7e9",
      "parents": [
        "14d676f56fad26fd3c31eeff5d4ef8ea4a163571"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Wed Dec 10 11:51:54 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Wed Dec 10 11:51:54 2008 +1100"
      },
      "message": "[XFS] Remove unused tracing code\n\nNone of this code appears to be used anywhere so remove it.\n\nReviewed-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "576a488a27f267af203f3ea69c700a1612335e9f",
      "tree": "8c2cad9d20c5153a3eaa0b7f0b9259ac9a4fd676",
      "parents": [
        "feaf3848a813a106f163013af6fcf6c4bfec92d9"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Dec 04 09:09:34 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Dec 05 15:39:13 2008 +1100"
      },
      "message": "[XFS] Fix hang after disallowed rename across directory quota domains\n\nWhen project quota is active and is being used for directory tree\nquota control, we disallow rename outside the current directory\ntree. This requires a check to be made after all the inodes\ninvolved in the rename are locked. We fail to unlock the inodes\ncorrectly if we disallow the rename when the target is outside the\ncurrent directory tree. This results in a hang on the next access\nto the inodes involved in failed rename.\n\nReported-by: Arkadiusz Miskiewicz \u003carekm@maven.pl\u003e\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nTested-by: Arkadiusz Miskiewicz \u003carekm@maven.pl\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "797eaed40e1df4a3b9ece6894a71ce2b568bca38",
      "tree": "930f84ddfa6cf8cb7e4ff81122cafd877489c02f",
      "parents": [
        "a5b429d41fede3a90deb532f5c2318393ed3a17b"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Dec 05 14:15:49 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Dec 05 14:15:49 2008 +1100"
      },
      "message": "[XFS] Remove unnecessary assertion\n\nHit this assert because an inode was tagged with XFS_ICI_RECLAIM_TAG but\nnot XFS_IRECLAIMABLE|XFS_IRECLAIM.  This is because xfs_iget_cache_hit()\nfirst clears XFS_IRECLAIMABLE and then calls __xfs_inode_clear_reclaim_tag()\nwhile only holding the pag_ici_lock in read mode so we can race with\nxfs_reclaim_inodes_ag().  Looks like xfs_reclaim_inodes_ag() will do the\nright thing anyway so just remove the assert.\n\nThanks to Christoph for pointing out where the problem was.\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "a5b429d41fede3a90deb532f5c2318393ed3a17b",
      "tree": "8700e7732879533d951083cacb18cb23561820ff",
      "parents": [
        "c6422617a1c0d7787e515748b01f594fe43aea98"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Dec 05 13:31:51 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Dec 05 13:31:51 2008 +1100"
      },
      "message": "[XFS] Remove unused variable in ktrace_free()\n\nentries_size is probably left over from when we used to pass the\nsize to kmem_free().\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@infradead.org\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "c6422617a1c0d7787e515748b01f594fe43aea98",
      "tree": "c9ca43adf13df72cbc4cf861da8c3b0439bc602a",
      "parents": [
        "6a0775a991d5597ce98f1e15373288ea133cc793"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Dec 05 13:16:15 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Dec 05 13:16:15 2008 +1100"
      },
      "message": "[XFS] Check return value of xfs_buf_get_noaddr()\n\nWe check the return value of all other calls to xfs_buf_get_noaddr().\nMake sense to do it here too.\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@infradead.org\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "6a0775a991d5597ce98f1e15373288ea133cc793",
      "tree": "51e6de5e4dad690e7f7583e491cc5def3fb05268",
      "parents": [
        "8bb57320f3f5dd8c2373c0b66e4950391e037109"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Dec 04 09:09:34 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Dec 05 12:50:04 2008 +1100"
      },
      "message": "[XFS] Fix hang after disallowed rename across directory quota domains\n\nWhen project quota is active and is being used for directory tree\nquota control, we disallow rename outside the current directory\ntree. This requires a check to be made after all the inodes\ninvolved in the rename are locked. We fail to unlock the inodes\ncorrectly if we disallow the rename when the target is outside the\ncurrent directory tree. This results in a hang on the next access\nto the inodes involved in failed rename.\n\nReported-by: Arkadiusz Miskiewicz \u003carekm@maven.pl\u003e\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nTested-by: Arkadiusz Miskiewicz \u003carekm@maven.pl\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "8bb57320f3f5dd8c2373c0b66e4950391e037109",
      "tree": "07424b87eda7fdb1837981b52804627475151f0d",
      "parents": [
        "5a8d0f3c7af801c7263fbba39952504d6fc7ff60"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Dec 04 14:23:27 2008 +0100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Dec 05 11:23:10 2008 +1100"
      },
      "message": "[XFS] Fix compile with CONFIG_COMPAT enabled\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "5a8d0f3c7af801c7263fbba39952504d6fc7ff60",
      "tree": "64e376493be44232ac1c0d66e2a68c5280f42ec1",
      "parents": [
        "25e41b3d521f52771354a718042a753a3e77df0a"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Dec 03 12:20:40 2008 +0100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Thu Dec 04 15:39:25 2008 +1100"
      },
      "message": "move inode tracing out of xfs_vnode.\n\nMove the inode tracing into xfs_iget.c / xfs_inode.h and kill xfs_vnode.c\nnow that it\u0027s empty.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "25e41b3d521f52771354a718042a753a3e77df0a",
      "tree": "947d169a36fad5355abb9bc512a1a488bc13439c",
      "parents": [
        "583fa586f0e4a8222dd091ce971b85c1364f3d92"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Dec 03 12:20:39 2008 +0100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Thu Dec 04 15:39:24 2008 +1100"
      },
      "message": "move vn_iowait / vn_iowake into xfs_aops.c\n\nThe whole machinery to wait on I/O completion is related to the I/O path\nand should be there instead of in xfs_vnode.c.  Also give the functions\nmore descriptive names.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "583fa586f0e4a8222dd091ce971b85c1364f3d92",
      "tree": "93ed1eee41e7e9073c9a608c2db8d931e1c03490",
      "parents": [
        "f95099ba5ae06b96a9c17ef93cc655f686d79077"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Dec 03 12:20:38 2008 +0100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Thu Dec 04 15:39:24 2008 +1100"
      },
      "message": "kill vn_ioerror\n\nThere\u0027s just one caller of this helper, and it\u0027s much cleaner to just merge\nthe xfs_do_force_shutdown call into it.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "f95099ba5ae06b96a9c17ef93cc655f686d79077",
      "tree": "000e5aa4db7386439cbe1d932d7639978a7c87c0",
      "parents": [
        "e57481dc269cd3773b22f53bfb869308780a7bf1"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Dec 03 12:20:37 2008 +0100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Thu Dec 04 15:39:24 2008 +1100"
      },
      "message": "kill xfs_unmount_flush\n\nThere\u0027s almost nothing left in this function, instead remove the IRELE\non the real times inodes and the call to XFS_QM_UNMOUNT into xfs_unmountfs.\n\nFor the regular unmount case that means it now also happenes after dmapi\nnotification, but otherwise there is no difference in behaviour.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "e57481dc269cd3773b22f53bfb869308780a7bf1",
      "tree": "0f93e375521a9afc49a8b5e143a0cff1945fc365",
      "parents": [
        "070c4616ec62fc207e2aeef9d0f28af294c651d0"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Dec 03 12:20:36 2008 +0100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Thu Dec 04 15:39:23 2008 +1100"
      },
      "message": "no explicit xfs_iflush for special inodes during unmount\n\nCurrently we explicitly call xfs_iflush on the quota, real-time and root\ninodes from xfs_unmount_flush.  But we just called xfs_sync_inodes with\nSYNC_ATTR and do an XFS_bflush aka xfs_flush_buftarg to make sure all inodes\nare on disk already, so there is no need for these special cases.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "070c4616ec62fc207e2aeef9d0f28af294c651d0",
      "tree": "9d74cca3eb75c65d2cbb2bcaa320b8c8f408404c",
      "parents": [
        "b56757becf8bc62292263a24a23cf55edb4be55f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Dec 03 12:20:35 2008 +0100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Thu Dec 04 15:39:23 2008 +1100"
      },
      "message": "use xfs_trans_ijoin in xfs_trans_iget\n\nUse xfs_trans_ijoin in xfs_trans_iget in case we need to join an inode into\na transaction instead of opencoding it.  Based on a discussion with and an\nincomplete patch from Niv Sardi.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "b56757becf8bc62292263a24a23cf55edb4be55f",
      "tree": "05940d51ed3819d59fdc78d8241128e7c27d1607",
      "parents": [
        "e88f11abe09d14718b82a991db118c5e485aa897"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Dec 03 12:20:34 2008 +0100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Thu Dec 04 15:39:23 2008 +1100"
      },
      "message": "remove leftovers of shared read-only support\n\nWe never supported shared read-only filesystems, so remove the dead\ncode left over from IRIX for it.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "e88f11abe09d14718b82a991db118c5e485aa897",
      "tree": "55ff791979d1f739285c8f52641d45743238d92e",
      "parents": [
        "6bd16ff27060819d16b3e7abe59b6644b349aea3"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Dec 03 12:20:33 2008 +0100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Thu Dec 04 15:39:22 2008 +1100"
      },
      "message": "remove unused m_inode_quiesce member from struct xfs_mount\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "6bd16ff27060819d16b3e7abe59b6644b349aea3",
      "tree": "6a7250063b8d727f35887bfe188a4dc7802fa181",
      "parents": [
        "5efcbb853bc2f051d720a191268f8dd901fea9c2"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Dec 03 12:20:32 2008 +0100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Thu Dec 04 15:39:22 2008 +1100"
      },
      "message": "kill dead inode flags\n\nThere are a few inode flags around that aren\u0027t used anywhere, so remove\nthem.  Also update xfsidbg to display all used inode flags correctly.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "5efcbb853bc2f051d720a191268f8dd901fea9c2",
      "tree": "ba744360e303517ccf21d568c03625941d16d9bf",
      "parents": [
        "df6771bde14551eceeacf331666a92735e0773ac"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Dec 03 12:20:31 2008 +0100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Thu Dec 04 15:39:22 2008 +1100"
      },
      "message": "cleanup xfs_sb.h feature flag helpers\n\nThe various inlines in xfs_sb.h that deal with the superblock version\nand fature flags were converted from macros a while ago, and this\nshow by the odd coding style full of useless braces and backslashes\nand the avoidance of conditionals.\n\nClean these up to look like normal C code.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Donald Douwsma \u003cdonaldd@sgi.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "df6771bde14551eceeacf331666a92735e0773ac",
      "tree": "d8fb41c8916099b09091484b4502a7223668536b",
      "parents": [
        "63ad2a5c4cf37e3242142eee8a8dcd4a8515302e"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Dec 03 12:20:30 2008 +0100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Thu Dec 04 15:39:22 2008 +1100"
      },
      "message": "kill dead quota flags\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "63ad2a5c4cf37e3242142eee8a8dcd4a8515302e",
      "tree": "1aa443cc021aebc11c66c6a66bda1f107e767b88",
      "parents": [
        "39e2defe73106ca2e1c85e5286038a0a13f49513"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Dec 03 12:20:29 2008 +0100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Thu Dec 04 15:39:21 2008 +1100"
      },
      "message": "remove dead code from sv_t implementation\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "39e2defe73106ca2e1c85e5286038a0a13f49513",
      "tree": "2a2f5c12d92ff8170f8e7f89bda56b1311b51a8d",
      "parents": [
        "d9424b3c4a1e96f87c6cfd4d8dd2f8d9bbb4dcc5"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Dec 03 12:20:28 2008 +0100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Thu Dec 04 15:39:21 2008 +1100"
      },
      "message": "reduce l_icloglock roundtrips\n\nAll but one caller of xlog_state_want_sync drop and re-acquire\nl_icloglock around the call to it, just so that xlog_state_want_sync can\nacquire and drop it.\n\nMove all lock operation out of l_icloglock and assert that the lock is\nheld when it is called.\n\nNote that it would make sense to extende this scheme to\nxlog_state_release_iclog, but the locking in there is more complicated\nand we\u0027d like to keep the atomic_dec_and_lock optmization for those\ncallers not having l_icloglock yet.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "d9424b3c4a1e96f87c6cfd4d8dd2f8d9bbb4dcc5",
      "tree": "5f849561a23be97f4d90512551405c79f4b44748",
      "parents": [
        "5d765b976c3a41faf9a73718fb8cc5833990a8ef"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Dec 03 12:20:27 2008 +0100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Thu Dec 04 15:39:21 2008 +1100"
      },
      "message": "stop using igrab in xfs_vn_link\n\n-\u003elink is guranteed to get an already reference inode passed so we\ncan do a simple increment of i_count instead of using igrab and thus\navoid banging on the global inode_lock.  This is what most filesystems\nalready do.\n\nAlso move the increment after the call to xfs_link to simplify error\nhandling.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "5d765b976c3a41faf9a73718fb8cc5833990a8ef",
      "tree": "05ece6cc9b8b9cbcd1775ecbd9df72ff0e855926",
      "parents": [
        "5cafdeb2891a415a5dbf0ad80f0afedf8369e6bb"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Dec 03 12:20:26 2008 +0100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Thu Dec 04 15:39:20 2008 +1100"
      },
      "message": "kill xfs_buf_iostart\n\nxfs_buf_iostart is a \"shared\" helper for xfs_buf_read_flags,\nxfs_bawrite, and xfs_bdwrite - except that there isn\u0027t much shared\ncode but rather special cases for each caller.\n\nSo remove this function and move the functionality to the caller.\nxfs_bawrite and xfs_bdwrite are now big enough to be moved out of\nline and the xfs_buf_read_flags is moved into a new helper called\n_xfs_buf_read.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "5cafdeb2891a415a5dbf0ad80f0afedf8369e6bb",
      "tree": "f1d6653c4dee098e46f4bdc4ddda60cf4a6d35fd",
      "parents": [
        "ccd0be6cfc6943c4e0b3e3cdb598e0b7354a2d78"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Dec 03 12:20:25 2008 +0100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Thu Dec 04 15:39:20 2008 +1100"
      },
      "message": "cleanup the inode reclaim path\n\nMerge xfs_iextract and xfs_idestroy into xfs_ireclaim as they are never\ncalled individually.  Also rewrite most comments in this area as they\nwere severly out of date.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "ccd0be6cfc6943c4e0b3e3cdb598e0b7354a2d78",
      "tree": "b3957afbf4a6eac06ec115a07cb25395d3e52d75",
      "parents": [
        "73e6335c14209e508bec8ca7985d1fbde183bd1f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Dec 03 12:20:24 2008 +0100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Thu Dec 04 15:39:20 2008 +1100"
      },
      "message": "remove unused prototypes for xfs_ihash_init / xfs_ihash_free\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "73e6335c14209e508bec8ca7985d1fbde183bd1f",
      "tree": "9e649faaadb599eb85c673578d6082a320d23962",
      "parents": [
        "2234d54d3d855d6ffae88a24772a9389d6755e0c"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Dec 03 12:20:23 2008 +0100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Thu Dec 04 15:39:19 2008 +1100"
      },
      "message": "remove unused behvavior cruft in xfs_super.h\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "2234d54d3d855d6ffae88a24772a9389d6755e0c",
      "tree": "7b08b29770cc9aa80d34b55ec811d190dd2ba70e",
      "parents": [
        "ddcd856d81861a523d79d077facd875da1f66792"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Dec 03 12:20:22 2008 +0100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Thu Dec 04 15:39:19 2008 +1100"
      },
      "message": "remove useless mnt_want_write call in xfs_write\n\nWhen mnt_want_write was introduced a call to it was added around\nxfs_ichgtime, but there is no need for this because a file can\u0027t be open\nread/write on a r/o mount, and a mount can\u0027t degrade r/o while we still\nhave files open for writing.  As the mnt_want_write changes were never\nmerged into the CVS tree this patch is for mainline only.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "ddcd856d81861a523d79d077facd875da1f66792",
      "tree": "11468a4a8f35584654e129fe3e64865acefe580c",
      "parents": [
        "e5d412f17846b0aea9e5250926f994ab2e4e1006"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Dec 03 07:55:34 2008 -0500"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Dec 04 13:07:29 2008 +1100"
      },
      "message": "[XFS] fix compile on 32 bit systems\n\nThe recent compat patches make xfs_file.c include xfs_ioctl32.h unconditional,\nwhich breaks the build on 32 bit systems which don\u0027t have the various compat\ndefintions.\n\nRemove the include and move the defintion of xfs_file_compat_ioctl to\nxfs_ioctl.h so that we can avoid including all the compat defintions in\nxfs_file.c\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nTested-by: Kamalesh Babulal \u003ckamalesh@linux.vnet.ibm.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "e5d412f17846b0aea9e5250926f994ab2e4e1006",
      "tree": "5d68f5076b24994edeac89b5f8e3822586d13795",
      "parents": [
        "710d62aaaf17c841b8bdbc7a775f8910a7160248"
      ],
      "author": {
        "name": "sandeen@sandeen.net",
        "email": "sandeen@sandeen.net",
        "time": "Tue Nov 25 21:20:17 2008 -0600"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Tue Dec 02 17:18:21 2008 +1100"
      },
      "message": "[XFS] Reorder xfs_ioctl32.c for some tidiness\n\nPut things in IMHO a more readable order, now\nthat it\u0027s all done; add some comments.\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "710d62aaaf17c841b8bdbc7a775f8910a7160248",
      "tree": "52bd778a094fa5ade3a0ea4a5cc9a0bd39c35c60",
      "parents": [
        "28750975ace79c547407a84d3969cbed516be8f8"
      ],
      "author": {
        "name": "sandeen@sandeen.net",
        "email": "sandeen@sandeen.net",
        "time": "Tue Nov 25 21:20:16 2008 -0600"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Tue Dec 02 17:17:43 2008 +1100"
      },
      "message": "[XFS] Hook up compat XFS_IOC_FSSETDM_BY_HANDLE ioctl handler\n\nAdd a compat handler for XFS_IOC_FSSETDM_BY_HANDLE.\n\nI haven\u0027t tested this, lacking dmapi tools to do so\n(unless xfsqa magically gets this somehow?)\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "28750975ace79c547407a84d3969cbed516be8f8",
      "tree": "79707c1e3c304ec7a11ea920cda38760d0248d5c",
      "parents": [
        "ebeecd2b04645a4b79e1bc00d69cf4f98e03a684"
      ],
      "author": {
        "name": "sandeen@sandeen.net",
        "email": "sandeen@sandeen.net",
        "time": "Tue Nov 25 21:20:15 2008 -0600"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Tue Dec 02 17:17:07 2008 +1100"
      },
      "message": "[XFS] Hook up compat XFS_IOC_ATTRMULTI_BY_HANDLE ioctl handler\n\nAdd a compat handler for XFS_IOC_ATTRMULTI_BY_HANDLE\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "ebeecd2b04645a4b79e1bc00d69cf4f98e03a684",
      "tree": "a605e3645d5573f6f1dc2a6cdaa5f026416bddec",
      "parents": [
        "af819d27637119105213433881f158931e29620b"
      ],
      "author": {
        "name": "sandeen@sandeen.net",
        "email": "sandeen@sandeen.net",
        "time": "Tue Nov 25 21:20:14 2008 -0600"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Tue Dec 02 17:16:45 2008 +1100"
      },
      "message": "[XFS] Hook up compat XFS_IOC_ATTRLIST_BY_HANDLE ioctl handler\n\nAdd a compat handler for XFS_IOC_ATTRLIST_BY_HANDLE\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "af819d27637119105213433881f158931e29620b",
      "tree": "306b641d6be0ebd7d88ee6df7d1a53d56dc830f4",
      "parents": [
        "65fbaf2489c667bf79ae1f20403f30c66568d445"
      ],
      "author": {
        "name": "sandeen@sandeen.net",
        "email": "sandeen@sandeen.net",
        "time": "Tue Nov 25 21:20:13 2008 -0600"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Tue Dec 02 17:16:24 2008 +1100"
      },
      "message": "[XFS] Fix compat XFS_IOC_FSBULKSTAT_SINGLE ioctl\n\nThe XFS_IOC_FSBULKSTAT_SINGLE ioctl passes in the\ndesired inode number, while XFS_IOC_FSBULKSTAT passes\nin the previous/last-stat\u0027d inode number.  The\ncompat handler wasn\u0027t differentiating these, so\nwhen a XFS_IOC_FSBULKSTAT_SINGLE request for inode\n128 was sent in, stat information for 131 was sent out.\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "65fbaf2489c667bf79ae1f20403f30c66568d445",
      "tree": "9694dd8017f997730755dec5e58a2324361cf577",
      "parents": [
        "2ee4fa5cb716eba104a4ef8efe159e1007a2aef6"
      ],
      "author": {
        "name": "sandeen@sandeen.net",
        "email": "sandeen@sandeen.net",
        "time": "Tue Nov 25 21:20:12 2008 -0600"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Tue Dec 02 17:16:03 2008 +1100"
      },
      "message": "[XFS] Fix xfs_bulkstat_one size checks \u0026 error handling\n\nThe 32-bit xfs_blkstat_one handler was failing because\na size check checked whether the remaining (32-bit)\nuser buffer was less than the (64-bit) bulkstat buffer,\nand failed with ENOMEM if so.  Move this check\ninto the respective handlers so that they check the\ncorrect sizes.\n\nAlso, the formatters were returning negative errors\nor positive bytes copied; this was odd in the positive\nerror value world of xfs, and handled wrong by at least\nsome of the callers, which treated the bytes returned\nas an error value.  Move the bytes-used assignment\ninto the formatters.\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "2ee4fa5cb716eba104a4ef8efe159e1007a2aef6",
      "tree": "943c9966c8daa913dff42216bcdc1cc4c1c835da",
      "parents": [
        "471d59103167c84f17b9bcfee22ed10b44ff206e"
      ],
      "author": {
        "name": "sandeen@sandeen.net",
        "email": "sandeen@sandeen.net",
        "time": "Tue Nov 25 21:20:11 2008 -0600"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Tue Dec 02 17:15:36 2008 +1100"
      },
      "message": "[XFS] Make the bulkstat_one compat ioctl handling more sane\n\nCurrently the compat formatter was handled by passing\nin \"private_data\" for the xfs_bulkstat_one formatter,\nwhich was really just another formatter... IMHO this\ngot confusing.\n\nInstead, just make a new xfs_bulkstat_one_compat\nformatter for xfs_bulkstat, and call it via a wrapper.\n\nAlso, don\u0027t translate the ioctl nrs into their native\ncounterparts, that just clouds the issue; we\u0027re in a\ncompat handler anyway, just switch on the 32-bit cmds.\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "471d59103167c84f17b9bcfee22ed10b44ff206e",
      "tree": "cca786d598f2d4c12f50ea6d8fbc6bdb057eeec1",
      "parents": [
        "e94fc4a43e5c39f689e83caf6d2f0939081f5e6b"
      ],
      "author": {
        "name": "sandeen@sandeen.net",
        "email": "sandeen@sandeen.net",
        "time": "Tue Nov 25 21:20:10 2008 -0600"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Tue Dec 02 17:15:09 2008 +1100"
      },
      "message": "[XFS] Add compat handlers for data \u0026 rt growfs ioctls\n\nThe args for XFS_IOC_FSGROWFSDATA and XFS_IOC_FSGROWFSRTA\nhave padding on the end on intel, so add arg copyin functions,\nand then just call the growfs ioctl helpers.\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "e94fc4a43e5c39f689e83caf6d2f0939081f5e6b",
      "tree": "8c076b71376488d7829f6c992d5e5ee545be9e19",
      "parents": [
        "d5547f9feea459dfc9e7313bd1d561394e2c129f"
      ],
      "author": {
        "name": "sandeen@sandeen.net",
        "email": "sandeen@sandeen.net",
        "time": "Tue Nov 25 21:20:09 2008 -0600"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Tue Dec 02 17:10:04 2008 +1100"
      },
      "message": "[XFS] Add compat handlers for swapext ioctl\n\nThe big hitter here was the bstat field, which contains\ndifferent sized time_t on 32 vs. 64 bit.  Add a copyin\nfunction to translate the 32-bit arg to 64-bit, and\ncall the swapext ioctl helper.\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "d5547f9feea459dfc9e7313bd1d561394e2c129f",
      "tree": "70ef06acb6247176df74974794fcb039400b79cd",
      "parents": [
        "ffae263a640b736a7206a0d7bd14ab44eb58cd28"
      ],
      "author": {
        "name": "sandeen@sandeen.net",
        "email": "sandeen@sandeen.net",
        "time": "Tue Nov 25 21:20:08 2008 -0600"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Tue Dec 02 17:09:43 2008 +1100"
      },
      "message": "[XFS] Clean up some existing compat ioctl calls\n\nCreate a new xfs_ioctl.h file which has prototypes for\nioctl helpers that may be called in compat mode.\n\nChange several compat ioctl cases which are IOW to simply copy\nin the userspace argument, then call the common ioctl helper.\n\nThis also fixes xfs_compat_ioc_fsgeometry_v1(), which had\nit backwards before; it copied in an (empty) arg, then copied\nout the native result, which probably corrupted userspace.  It\nshould be translating on the copyout.\n\nAlso, a bit of formatting cleanup for consistency, and conversion\nof all error returns to use XFS_ERROR().\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "ffae263a640b736a7206a0d7bd14ab44eb58cd28",
      "tree": "50befe3c25e6f01459d9968a4139f171e2e097b0",
      "parents": [
        "743bb4650da9e2595d6cedd01c680b5b9398c74a"
      ],
      "author": {
        "name": "sandeen@sandeen.net",
        "email": "sandeen@sandeen.net",
        "time": "Tue Nov 25 21:20:07 2008 -0600"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Tue Dec 02 17:08:44 2008 +1100"
      },
      "message": "[XFS] Move compat ioctl structs \u0026 numbers into xfs_ioctl32.h\n\nThis makes the c file less cluttered and a bit more\nreadable.   Consistently name the ioctl number\nmacros with \"_32\" and the compatibility stuctures\nwith \"_compat.\"  Rename the helpers which simply\ncopy in the arg with \"_copyin\" for easy identification.\n\nFinally, for a few of the existing helpers, modify them\nso that they directly call the native ioctl helper\nafter userspace argument fixup.\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "743bb4650da9e2595d6cedd01c680b5b9398c74a",
      "tree": "d0bf4740672bdd77a7cd2dde0af7a564fcfe62d6",
      "parents": [
        "0e446673a15a4e9c336b67c1a638eb12c21d0993"
      ],
      "author": {
        "name": "sandeen@sandeen.net",
        "email": "sandeen@sandeen.net",
        "time": "Tue Nov 25 21:20:06 2008 -0600"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Tue Dec 02 17:08:01 2008 +1100"
      },
      "message": "[XFS] Move copy_from_user calls out of ioctl helpers into ioctl switch.\n\nMoving the copy_from_user out of some of the ioctl helpers will\nmake it easier for the compat ioctl switch to copy in the right\nstruct, then just pass to the underlying helper.\n\nAlso, move common access checks into the helpers themselves,\nand out of the native ioctl switch code, to reduce code\nduplication between native \u0026 compat ioctl callers.\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "0e446673a15a4e9c336b67c1a638eb12c21d0993",
      "tree": "3da13a58ef93add05e33ef14fba73ed03dd58e01",
      "parents": [
        "24f211bad09a31f19dda0c3faffe0244f4f235f5"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Nov 28 14:23:42 2008 +1100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Mon Dec 01 11:38:22 2008 +1100"
      },
      "message": "[XFS] fix error handling in xlog_recover_process_one_iunlink\n\nIf we fail after xfs_iget we have to drop the reference count, spotted\nby Dave Chinner.  Also remove some useless asserts and stop trying to\ndeal with di_mode \u003d\u003d 0 inodes because never gets those without passing\nthe IGET_CREATE flag to xfs_iget.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "24f211bad09a31f19dda0c3faffe0244f4f235f5",
      "tree": "3554243712a41729df866e348a3925ffdf950b8c",
      "parents": [
        "b48d8d64377f39913663a06f4757f3b8c6fc6d87"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Nov 28 14:23:42 2008 +1100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Mon Dec 01 11:38:17 2008 +1100"
      },
      "message": "[XFS] move inode allocation out xfs_iread\n\nAllocate the inode in xfs_iget_cache_miss and pass it into xfs_iread.  This\nsimplifies the error handling and allows xfs_iread to be shared with userspace\nwhich already uses these semantics.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "b48d8d64377f39913663a06f4757f3b8c6fc6d87",
      "tree": "fc85231bfa3bd58a3f3aa4dbd564b590e3ac0a8a",
      "parents": [
        "92bfc6e7c4eabbbd15e7d6d49123b296d05dcfd1"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Nov 28 14:23:41 2008 +1100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Mon Dec 01 11:38:13 2008 +1100"
      },
      "message": "[XFS] kill the XFS_IMAP_BULKSTAT flag\n\nJust pass down the XFS_IGET_* flags all the way down to xfs_imap instead\nof translating them mid-way.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "92bfc6e7c4eabbbd15e7d6d49123b296d05dcfd1",
      "tree": "4b409ecbc4b0704189b05989fae0a423bb557efd",
      "parents": [
        "94e1b69d1abd108d306e926c3012ec89e481c0da"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Nov 28 14:23:41 2008 +1100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Mon Dec 01 11:38:08 2008 +1100"
      },
      "message": "[XFS] embededd struct xfs_imap into xfs_inode\n\nMost uses of struct xfs_imap are to map and inode to a buffer.  To avoid\ncopying around the inode location information we should just embedd a\nstrcut xfs_imap into the xfs_inode.  To make sure it doesn\u0027t bloat an\ninode the im_len is changed to a ushort, which is fine as that\u0027s what\nthe users exepect anyway.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "94e1b69d1abd108d306e926c3012ec89e481c0da",
      "tree": "d7fb02a0c855729831dcddbef6afcb518d3ed870",
      "parents": [
        "a1941895034cda2bffa23ba845607c82138ccf52"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Nov 28 14:23:41 2008 +1100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Mon Dec 01 11:38:03 2008 +1100"
      },
      "message": "[XFS] merge xfs_imap into xfs_dilocate\n\nxfs_imap is the only caller of xfs_dilocate and doesn\u0027t add any significant\nvalue.  Merge the two functions and document the various cases we have for\ninode cluster lookup in the new xfs_imap.\n\nAlso remove the unused im_agblkno and im_ioffset fields from struct xfs_imap\nwhile we\u0027re at it.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "a1941895034cda2bffa23ba845607c82138ccf52",
      "tree": "604c916884caa4ae2d97e6e47ac0d304cd70d1b4",
      "parents": [
        "76d8b277f7b715f78ee3cb09ee112563639693a5"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Nov 28 14:23:40 2008 +1100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Mon Dec 01 11:37:58 2008 +1100"
      },
      "message": "[XFS] remove dead code for old inode item recovery\n\nWe have removed the support for old-style inode items a while ago and\nxlog_recover_do_inode_trans is now only called for XFS_LI_INODE items.\nThat means we can remove the call to xfs_imap there and with it the\nXFS_IMAP_LOOKUP that is set by all other callers.  We can also mark\nxfs_imap static now.\n\n(First sent on October 21st)\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "76d8b277f7b715f78ee3cb09ee112563639693a5",
      "tree": "49d4e3ae1d579e4fa353cfd32150c11512df7a78",
      "parents": [
        "23fac50f959a87febf7ce4ae9d47525121f10c7a"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Nov 28 14:23:40 2008 +1100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Mon Dec 01 11:37:52 2008 +1100"
      },
      "message": "[XFS] stop using xfs_itobp in xfs_iread\n\nThe only caller of xfs_itobp that doesn\u0027t have i_blkno setup is now\nthe initial inode read.  It needs access to the whole xfs_imap so using\nxfs_inotobp is not an option.  Instead opencode the buffer lookup in\nxfs_iread and kill all the functionality for the initial map from\nxfs_itobp.\n\n(First sent on October 21st)\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "23fac50f959a87febf7ce4ae9d47525121f10c7a",
      "tree": "80bb7d8f37664c33d55e2a106fcee872ba99080c",
      "parents": [
        "51ce16d519da0bc3c548e0facef7cb3aab1ac8cc"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Nov 28 14:23:40 2008 +1100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Mon Dec 01 11:37:48 2008 +1100"
      },
      "message": "[XFS] split up xlog_recover_process_iunlinks\n\nSplit out the body of the main loop into a separate helper to make the\ncode readable.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "51ce16d519da0bc3c548e0facef7cb3aab1ac8cc",
      "tree": "ef01910a32368377514f0d61022b1d9b1de7c41d",
      "parents": [
        "81591fe2db19d0fc1ec2aaaa6a790a5ab97ac3ab"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Nov 28 14:23:39 2008 +1100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Mon Dec 01 11:37:42 2008 +1100"
      },
      "message": "[XFS] kill XFS_DINODE_VERSION_ defines\n\nThese names don\u0027t add any value at all over just using the numerical\nvalues.\n\n(First sent on October 9th)\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "81591fe2db19d0fc1ec2aaaa6a790a5ab97ac3ab",
      "tree": "254b73b8f0b19bfbadda0e89021767f04dd20308",
      "parents": [
        "d42f08f61c5e7f0ed4c6b6df4c9987ddb85ec66e"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Nov 28 14:23:39 2008 +1100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Mon Dec 01 11:37:35 2008 +1100"
      },
      "message": "[XFS] kill xfs_dinode_core_t\n\nNow that we have a separate xfs_icdinode_t for the in-core inode which\ngets logged there is no need anymore for the xfs_dinode vs xfs_dinode_core\nsplit - the fact that part of the structure gets logged through the inode\nlog item and a small part not can better be described in a comment.\n\nAll sizeof operations on the dinode_core either really wanted the\nicdinode and are switched to that one, or had already added the size\nof the agi unlinked list pointer.  Later both will be replaced with\nhelpers once we get the larger CRC-enabled dinode.\n\nRemoving the data and attribute fork unions also has the advantage that\nxfs_dinode.h doesn\u0027t need to pull in every header under the sun.\n\nWhile we\u0027re at it also add some more comments describing the dinode\nstructure.\n\n(First sent on October 7th)\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "d42f08f61c5e7f0ed4c6b6df4c9987ddb85ec66e",
      "tree": "dfba895d780bf54bb60c284a3b8e702d20719fa4",
      "parents": [
        "b28708d6a0a3ed65a68f0dcd8e6d1c09f14e5cf3"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Nov 28 14:23:38 2008 +1100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Mon Dec 01 11:37:31 2008 +1100"
      },
      "message": "[XFS] kill xfs_ialloc_log_di\n\nxfs_ialloc_log_di is only used to log the full inode core + di_next_unlinked.\nThat means all the offset magic is not nessecary and we can simply use\nxfs_trans_log_buf directly.  Also add a comment describing what we should do\nhere instead.\n\n(First sent on October 7th)\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "b28708d6a0a3ed65a68f0dcd8e6d1c09f14e5cf3",
      "tree": "991ac374564600a60bb940e9c8c4b1315101fa14",
      "parents": [
        "4805621a37d9b2b16641b5c68597651419e9e252"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Nov 28 14:23:38 2008 +1100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Mon Dec 01 11:37:25 2008 +1100"
      },
      "message": "[XFS] sanitize xlog_in_core_t definition\n\nMove all fields from xlog_iclog_fields_t into xlog_in_core_t instead of having\nthem in a substructure and the using #defines to make it look like they were\ndirectly in xlog_in_core_t.  Also document that xlog_in_core_2_t is grossly\nmisnamed, and make all references to it typesafe.\n\n(First sent on Semptember 15th)\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "4805621a37d9b2b16641b5c68597651419e9e252",
      "tree": "a3c63689100a8c7ca2eb72efe4036f7863c34e12",
      "parents": [
        "5e1be0fb1a3950597aeda448698e85b0595a2e92"
      ],
      "author": {
        "name": "From: Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Nov 28 14:23:38 2008 +1100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Mon Dec 01 11:37:20 2008 +1100"
      },
      "message": "[XFS] factor out xfs_read_agf helper\n\nAdd a helper to read the AGF header and perform basic verification.\nBased on hunks from a larger patch from Dave Chinner.\n\n(First sent on Juli 23rd)\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "5e1be0fb1a3950597aeda448698e85b0595a2e92",
      "tree": "e9cb423d6f253b689a9e0cfb4a1d429de37959cd",
      "parents": [
        "26c5295135d10fc90cbf160adfda392d91f58279"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Nov 28 14:23:37 2008 +1100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Mon Dec 01 11:37:15 2008 +1100"
      },
      "message": "[XFS] factor out xfs_read_agi helper\n\nAdd a helper to read the AGI header and perform basic verification.\nBased on hunks from a larger patch from Dave Chinner.\n\n(First sent on Juli 23rd)\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "26c5295135d10fc90cbf160adfda392d91f58279",
      "tree": "783ec22542fc70bd2bcab6c111205dc62b214e71",
      "parents": [
        "207fcfad58482c7c9f92939a1f6df9f7e8873a34"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Fri Nov 28 14:23:37 2008 +1100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Mon Dec 01 11:37:10 2008 +1100"
      },
      "message": "[XFS] remove i_gen from incore inode\n\ni_gen is incremented in directory operations when the\ndirectory is changed. It is never read or otherwise used\nso it should be removed to help reduce the size of the\nstruct xfs_inode.\n\nThe patch also removes a duplicate logging of the directory\ninode core. We only need to do this once per transaction\nso kill the one associated with the i_gen increment.\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "207fcfad58482c7c9f92939a1f6df9f7e8873a34",
      "tree": "d3864de8126e42d362d07603655ab80f7b333dbb",
      "parents": [
        "2b5decd09e9f98c4e361f97f3e32d80164774f75"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Nov 28 14:23:37 2008 +1100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Mon Dec 01 11:37:06 2008 +1100"
      },
      "message": "[XFS] remove xfs_vfsops.h\n\nThe only thing left is xfs_do_force_shutdown which already has a defintion\nin xfs_mount.h.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    }
  ],
  "next": "2b5decd09e9f98c4e361f97f3e32d80164774f75"
}
