aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/file.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/btrfs/file.c')
-rw-r--r--fs/btrfs/file.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c
index 2234e88cf674..bcfb4a27ddd4 100644
--- a/fs/btrfs/file.c
+++ b/fs/btrfs/file.c
@@ -1629,13 +1629,11 @@ again:
1629 * managed to copy. 1629 * managed to copy.
1630 */ 1630 */
1631 if (num_sectors > dirty_sectors) { 1631 if (num_sectors > dirty_sectors) {
1632 /* 1632
1633 * we round down because we don't want to count 1633 /* release everything except the sectors we dirtied */
1634 * any partial blocks actually sent through the 1634 release_bytes -= dirty_sectors <<
1635 * IO machines 1635 root->fs_info->sb->s_blocksize_bits;
1636 */ 1636
1637 release_bytes = round_down(release_bytes - copied,
1638 root->sectorsize);
1639 if (copied > 0) { 1637 if (copied > 0) {
1640 spin_lock(&BTRFS_I(inode)->lock); 1638 spin_lock(&BTRFS_I(inode)->lock);
1641 BTRFS_I(inode)->outstanding_extents++; 1639 BTRFS_I(inode)->outstanding_extents++;
@@ -2479,7 +2477,7 @@ static int btrfs_punch_hole(struct inode *inode, loff_t offset, loff_t len)
2479 } 2477 }
2480 2478
2481 ret = btrfs_block_rsv_migrate(&root->fs_info->trans_block_rsv, rsv, 2479 ret = btrfs_block_rsv_migrate(&root->fs_info->trans_block_rsv, rsv,
2482 min_size); 2480 min_size, 0);
2483 BUG_ON(ret); 2481 BUG_ON(ret);
2484 trans->block_rsv = rsv; 2482 trans->block_rsv = rsv;
2485 2483
@@ -2522,7 +2520,7 @@ static int btrfs_punch_hole(struct inode *inode, loff_t offset, loff_t len)
2522 } 2520 }
2523 2521
2524 ret = btrfs_block_rsv_migrate(&root->fs_info->trans_block_rsv, 2522 ret = btrfs_block_rsv_migrate(&root->fs_info->trans_block_rsv,
2525 rsv, min_size); 2523 rsv, min_size, 0);
2526 BUG_ON(ret); /* shouldn't happen */ 2524 BUG_ON(ret); /* shouldn't happen */
2527 trans->block_rsv = rsv; 2525 trans->block_rsv = rsv;
2528 2526