xfs: skip stale inodes in xfs_iflush_cluster
authorDave Chinner <dchinner@redhat.com>
Wed, 18 May 2016 03:54:23 +0000 (13:54 +1000)
committerWilly Tarreau <w@1wt.eu>
Mon, 22 Aug 2016 05:31:39 +0000 (07:31 +0200)
commit 7d3aa7fe970791f1a674b14572a411accf2f4d4e upstream.

We don't write back stale inodes so we should skip them in
xfs_iflush_cluster, too.

cc: <stable@vger.kernel.org> # 3.10.x-
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: Willy Tarreau <w@1wt.eu>
fs/xfs/xfs_inode.c

index bb0d8ccebb2603afbf89c5c72ee8af3edeb78791..06dec557d2477d3487f21db804e0875092c8478f 100644 (file)
@@ -2606,6 +2606,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;