diff options
author | Josef Bacik <josef@redhat.com> | 2011-09-19 12:26:24 -0400 |
---|---|---|
committer | Josef Bacik <josef@redhat.com> | 2011-10-19 15:12:45 -0400 |
commit | 455757c322cc0a0f2a692c5625dd88aaf6a7b889 (patch) | |
tree | 1efe7eccd221b1afdaf406293102022775f68558 /fs/btrfs/extent-tree.c | |
parent | 9c8d86db9aee6f85866d480e0f9b37817264814c (diff) |
Btrfs: delay iput when deleting a block group
I kept getting warnings from evict because we were calling
btrfs_start_transaction() with a transaction already started when doing a
balance. This is because we remove a block group which requires a transaction,
and the put the last reference on the cache inode. Instead of doing this we
need to delay the iput so it is done not within a transaction having started.
This gets rid of our warnings. Thanks,
Signed-off-by: Josef Bacik <josef@redhat.com>
Diffstat (limited to 'fs/btrfs/extent-tree.c')
-rw-r--r-- | fs/btrfs/extent-tree.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c index 9bb71597aa54..5498bdacd4c3 100644 --- a/fs/btrfs/extent-tree.c +++ b/fs/btrfs/extent-tree.c | |||
@@ -7266,7 +7266,7 @@ int btrfs_remove_block_group(struct btrfs_trans_handle *trans, | |||
7266 | spin_unlock(&block_group->lock); | 7266 | spin_unlock(&block_group->lock); |
7267 | } | 7267 | } |
7268 | /* One for our lookup ref */ | 7268 | /* One for our lookup ref */ |
7269 | iput(inode); | 7269 | btrfs_add_delayed_iput(inode); |
7270 | } | 7270 | } |
7271 | 7271 | ||
7272 | key.objectid = BTRFS_FREE_SPACE_OBJECTID; | 7272 | key.objectid = BTRFS_FREE_SPACE_OBJECTID; |