diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c index 55b537fcb81a2d53aad897194117a6fb07cd3c16..54ee542c705ea5f1c651f4f4e737c7d772433cbb 100644 --- a/fs/btrfs/extent-tree.c +++ b/fs/btrfs/extent-tree.c @@ -3317,10 +3317,9 @@ int btrfs_write_dirty_block_groups(struct btrfs_trans_handle *trans, last = cache->key.objectid + cache->key.offset; err = write_one_cache_group(trans, root, path, cache); + btrfs_put_block_group(cache); if (err) /* File system offline */ goto out; - - btrfs_put_block_group(cache); } while (1) {