diff options
Diffstat (limited to 'fs')
-rw-r--r-- | fs/btrfs/extent-tree.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c index 7c644f810816..f3de211173ad 100644 --- a/fs/btrfs/extent-tree.c +++ b/fs/btrfs/extent-tree.c | |||
@@ -5744,7 +5744,13 @@ int btrfs_orphan_reserve_metadata(struct btrfs_trans_handle *trans, | |||
5744 | struct inode *inode) | 5744 | struct inode *inode) |
5745 | { | 5745 | { |
5746 | struct btrfs_root *root = BTRFS_I(inode)->root; | 5746 | struct btrfs_root *root = BTRFS_I(inode)->root; |
5747 | struct btrfs_block_rsv *src_rsv = get_block_rsv(trans, root); | 5747 | /* |
5748 | * We always use trans->block_rsv here as we will have reserved space | ||
5749 | * for our orphan when starting the transaction, using get_block_rsv() | ||
5750 | * here will sometimes make us choose the wrong block rsv as we could be | ||
5751 | * doing a reloc inode for a non refcounted root. | ||
5752 | */ | ||
5753 | struct btrfs_block_rsv *src_rsv = trans->block_rsv; | ||
5748 | struct btrfs_block_rsv *dst_rsv = root->orphan_block_rsv; | 5754 | struct btrfs_block_rsv *dst_rsv = root->orphan_block_rsv; |
5749 | 5755 | ||
5750 | /* | 5756 | /* |