Re: [GIT PULL] XFS update for 2.6.26-rc4

Christoph Hellwig
2008-05-23T08:02:32Z

This is missing the page locking fix in xfs_buf.c which causes
regressions for people out there.

On Fri, May 23, 2008 at 05:58:46PM +1000, Lachlan McIlroy wrote:
> Please pull from the for-linus branch:
> git pull git://oss.sgi.com:8090/xfs/xfs-2.6.git for-linus
>
> This will update the following files:
>
> fs/xfs/linux-2.6/xfs_file.c | 17 ++++--
> fs/xfs/linux-2.6/xfs_vnode.h | 8 ---
> fs/xfs/xfs_inode.c | 9 ++--
> fs/xfs/xfs_vnodeops.c | 112 ++++++++++++++++--------------------------
> fs/xfs/xfs_vnodeops.h | 3 +-
> 5 files changed, 59 insertions(+), 90 deletions(-)
>
> through these commits:
>
> commit c8f5f12e46f079a954d4f7163ba59dadee08ca26
> Author: David Chinner <dgc@sgi.com>
> Date: Tue May 20 11:30:15 2008 +1000
>
> [XFS] Fix inode list allocation size in writeback.
>
> We only need to allocate space for the number of inodes in the cluster
> when writing back inodes, not every byte in the inode cluster. This
> reduces the amount of memory needing to be allocated to 256 bytes instead
> of 64k.
>
> SGI-PV: 981949
> SGI-Modid: xfs-linux-melb:xfs-kern:31182a
>
> Signed-off-by: David Chinner <dgc@sgi.com>
> Signed-off-by: Christoph Hellwig <hch@infradead.org>
> Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
>
> commit 49383b0e98ad1f69ff4c816eb1961f703df12318
> Author: David Chinner <dgc@sgi.com>
> Date: Mon May 19 16:29:34 2008 +1000
>
> [XFS] Don't allow memory reclaim to wait on the filesystem in inode
> writeback
>
> If we allow memory reclaim to wait on the pages under writeback in inode
> cluster writeback we could deadlock because we are currently holding the
> ILOCK on the initial writeback inode which is needed in data I/O
> completion to change the file size or do unwritten extent conversion
> before the pages are taken out of writeback state.
>
> SGI-PV: 981091
> SGI-Modid: xfs-linux-melb:xfs-kern:31015a
>
> Signed-off-by: David Chinner <dgc@sgi.com>
> Signed-off-by: Christoph Hellwig <hch@infradead.org>
> Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
>
> commit 978b7237123d007b9fa983af6e0e2fa8f97f9934
> Author: David Chinner <dgc@sgi.com>
> Date: Mon May 19 16:29:46 2008 +1000
>
> [XFS] Fix fsync() b0rkage.
>
> xfs_fsync() fails to wait for data I/O completion before checking if the
> inode is dirty or clean to decide whether to log the inode or not. This
> misses inode size updates when the data flushed by the fsync() is
> extending the file.
>
> Hence, like fdatasync(), we need to wait for I/o completion first, then
> check the inode for cleanliness. Doing so makes the behaviour of
> xfs_fsync() identical for fsync and fdatasync and we *always* use
> synchronous semantics if the inode is dirty. Therefore also kill the
> differences and remove the unused flags from the xfs_fsync function and
> callers.
>
> SGI-PV: 981296
> SGI-Modid: xfs-linux-melb:xfs-kern:31033a
>
> Signed-off-by: David Chinner <dgc@sgi.com>
> Signed-off-by: Christoph Hellwig <hch@infradead.org>
> Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
>
>
---end quoted text---