xfs: skip stale inodes in xfs_iflush_cluster
authorDave Chinner <dchinner@redhat.com>
Wed, 18 May 2016 03:54:23 +0000 (13:54 +1000)
committerSasha Levin <sasha.levin@oracle.com>
Mon, 6 Jun 2016 23:12:26 +0000 (19:12 -0400)
[ Upstream commit 7d3aa7fe970791f1a674b14572a411accf2f4d4e ]

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: Sasha Levin <sasha.levin@oracle.com>
fs/xfs/xfs_inode.c

index c9f86373517fcfb1fea543d4bba62b6c23cbb0f6..c29f34253e2b92317f63674bc15dfc0ece335220 100644 (file)
@@ -3238,6 +3238,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;