summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Chinner <dchinner@redhat.com>2016-05-18 06:54:23 +0300
committerJiri Slaby <jslaby@suse.cz>2016-06-15 10:32:19 +0300
commit77b3964ccf07da318dcdec09d6d211ca2e793813 (patch)
treee1aa9cb0d8983d49f13a54d598c3f93677324999
parent44597cbfb6b6c3a8429ccbadc1bc57c9a2691ba9 (diff)
downloadlinux-77b3964ccf07da318dcdec09d6d211ca2e793813.tar.xz
xfs: skip stale inodes in xfs_iflush_cluster
commit 7d3aa7fe970791f1a674b14572a411accf2f4d4e upstream. We don't write back stale inodes so we should skip them in xfs_iflush_cluster, too. Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Brian Foster <bfoster@redhat.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Dave Chinner <david@fromorbit.com> Signed-off-by: Jiri Slaby <jslaby@suse.cz>
-rw-r--r--fs/xfs/xfs_inode.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c
index 363bcd8eabf6..5d667f740eff 100644
--- a/fs/xfs/xfs_inode.c
+++ b/fs/xfs/xfs_inode.c
@@ -2902,6 +2902,7 @@ xfs_iflush_cluster(
*/
spin_lock(&iq->i_flags_lock);
if (!iq->i_ino ||
+ __xfs_iflags_test(iq, XFS_ISTALE) ||
(XFS_INO_TO_AGINO(mp, iq->i_ino) & mask) != first_index) {
spin_unlock(&iq->i_flags_lock);
continue;