aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/inode.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/btrfs/inode.c')
-rw-r--r--fs/btrfs/inode.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 5f06eb1f4384..9b4a5ab279dc 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -4211,11 +4211,20 @@ static int truncate_space_check(struct btrfs_trans_handle *trans,
4211{ 4211{
4212 int ret; 4212 int ret;
4213 4213
4214 /*
4215 * This is only used to apply pressure to the enospc system, we don't
4216 * intend to use this reservation at all.
4217 */
4214 bytes_deleted = btrfs_csum_bytes_to_leaves(root, bytes_deleted); 4218 bytes_deleted = btrfs_csum_bytes_to_leaves(root, bytes_deleted);
4219 bytes_deleted *= root->nodesize;
4215 ret = btrfs_block_rsv_add(root, &root->fs_info->trans_block_rsv, 4220 ret = btrfs_block_rsv_add(root, &root->fs_info->trans_block_rsv,
4216 bytes_deleted, BTRFS_RESERVE_NO_FLUSH); 4221 bytes_deleted, BTRFS_RESERVE_NO_FLUSH);
4217 if (!ret) 4222 if (!ret) {
4223 trace_btrfs_space_reservation(root->fs_info, "transaction",
4224 trans->transid,
4225 bytes_deleted, 1);
4218 trans->bytes_reserved += bytes_deleted; 4226 trans->bytes_reserved += bytes_deleted;
4227 }
4219 return ret; 4228 return ret;
4220 4229
4221} 4230}