aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_sync.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2012-04-23 01:58:32 -0400
committerBen Myers <bpm@sgi.com>2012-05-14 17:20:25 -0400
commit32ce90a4b79155a155de2b284d8b69023e5e8fea (patch)
tree1280a85dea9061a8089a39fccc8a5ce0fc222e62 /fs/xfs/xfs_sync.c
parentdea9609527a55b65638a6323894269334dfe6ec5 (diff)
xfs: remove log item from AIL in xfs_iflush after a shutdown
If a filesystem has been forced shutdown we are never going to write inodes to disk, which means the inode items will stay in the AIL until we free the inode. Currently that is not a problem, but a pending change requires us to empty the AIL before shutting down the filesystem. In that case leaving the inode in the AIL is lethal. Make sure to remove the log item from the AIL to allow emptying the AIL on shutdown filesystems. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Mark Tinguely <tinguely@sgi.com> Signed-off-by: Ben Myers <bpm@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_sync.c')
-rw-r--r--fs/xfs/xfs_sync.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/xfs/xfs_sync.c b/fs/xfs/xfs_sync.c
index c318d8a4a631..7648776e0a9e 100644
--- a/fs/xfs/xfs_sync.c
+++ b/fs/xfs/xfs_sync.c
@@ -782,6 +782,7 @@ restart:
782 goto reclaim; 782 goto reclaim;
783 if (XFS_FORCED_SHUTDOWN(ip->i_mount)) { 783 if (XFS_FORCED_SHUTDOWN(ip->i_mount)) {
784 xfs_iunpin_wait(ip); 784 xfs_iunpin_wait(ip);
785 xfs_iflush_abort(ip);
785 goto reclaim; 786 goto reclaim;
786 } 787 }
787 if (xfs_ipincount(ip)) { 788 if (xfs_ipincount(ip)) {