xfs: skip stale inodes in xfs_iflush_cluster
authorDave Chinner <dchinner@redhat.com>
Wed, 18 May 2016 03:54:23 +0000 (13:54 +1000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 8 Jun 2016 01:14:38 +0000 (18:14 -0700)
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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/xfs/xfs_inode.c

index 611987c7542cb05f82b2ac60661e7c5f0177d08a..f0ce28cd311d48c08127be700c2ae593e472fbb8 100644 (file)
@@ -3222,6 +3222,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;