summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/free-space-cache.c
diff options
context:
space:
mode:
authorJosef Bacik <josef@redhat.com>2011-08-29 20:06:00 +0200
committerJosef Bacik <josef@redhat.com>2011-10-19 21:12:41 +0200
commit300e4f8a56f263797568c95b71c949f9f02e4534 (patch)
treeecb4f4ba0cd499f73876476f92c3fc6306aaa140 /fs/btrfs/free-space-cache.c
parentBtrfs: set truncate block rsv's size (diff)
downloadlinux-300e4f8a56f263797568c95b71c949f9f02e4534.tar.xz
linux-300e4f8a56f263797568c95b71c949f9f02e4534.zip
Btrfs: put the block group cache after we commit the super
In moving some enospc stuff around I noticed that when we unmount we are often evicting the free space cache inodes before we do our last commit. This isn't bad, but it makes us constantly have to re-read the inodes back. So instead don't evict the cache until after we do our last commit, this will make things a little less crappy and makes a future enospc change work properly. Thanks, Signed-off-by: Josef Bacik <josef@redhat.com>
Diffstat (limited to 'fs/btrfs/free-space-cache.c')
-rw-r--r--fs/btrfs/free-space-cache.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/btrfs/free-space-cache.c b/fs/btrfs/free-space-cache.c
index 701ef5951e3f..1ea10731797a 100644
--- a/fs/btrfs/free-space-cache.c
+++ b/fs/btrfs/free-space-cache.c
@@ -105,7 +105,7 @@ struct inode *lookup_free_space_inode(struct btrfs_root *root,
block_group->disk_cache_state = BTRFS_DC_CLEAR;
}
- if (!btrfs_fs_closing(root->fs_info)) {
+ if (!block_group->iref) {
block_group->inode = igrab(inode);
block_group->iref = 1;
}