diff options
| author | Jens Axboe <jens.axboe@oracle.com> | 2010-02-22 13:48:51 +0100 |
|---|---|---|
| committer | Jens Axboe <jens.axboe@oracle.com> | 2010-02-22 13:48:51 +0100 |
| commit | f11cbd74c5ff3614f6390b4de67a6ffdc614c378 (patch) | |
| tree | 6a30920ade9eeaac5bf6d6263b5d09712e882eb0 /fs/xfs/linux-2.6/xfs_super.c | |
| parent | 429c42c9d246f5bda868495c09974312a0177328 (diff) | |
| parent | aea187c46f7d03ce985e55eb1398d0776a15b928 (diff) | |
Merge branch 'master' into for-2.6.34
Diffstat (limited to 'fs/xfs/linux-2.6/xfs_super.c')
| -rw-r--r-- | fs/xfs/linux-2.6/xfs_super.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/fs/xfs/linux-2.6/xfs_super.c b/fs/xfs/linux-2.6/xfs_super.c index 09783cc444a..77414db10dc 100644 --- a/fs/xfs/linux-2.6/xfs_super.c +++ b/fs/xfs/linux-2.6/xfs_super.c @@ -954,16 +954,14 @@ xfs_fs_destroy_inode( ASSERT_ALWAYS(!xfs_iflags_test(ip, XFS_IRECLAIM)); /* - * If we have nothing to flush with this inode then complete the - * teardown now, otherwise delay the flush operation. + * We always use background reclaim here because even if the + * inode is clean, it still may be under IO and hence we have + * to take the flush lock. The background reclaim path handles + * this more efficiently than we can here, so simply let background + * reclaim tear down all inodes. */ - if (!xfs_inode_clean(ip)) { - xfs_inode_set_reclaim_tag(ip); - return; - } - out_reclaim: - xfs_ireclaim(ip); + xfs_inode_set_reclaim_tag(ip); } /* |
