Commit 61b520a9d0083b9b361638e456af45fd75150c87

Authored by Miao Xie
Committed by Chris Mason
1 parent 3254c87618

Btrfs: Abstract similar code for btrfs_block_rsv_add{, _noflush}

btrfs_block_rsv_add{, _noflush}() have similar code, so abstract that code.

Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>

Showing 1 changed file with 12 additions and 16 deletions Side-by-side Diff

fs/btrfs/extent-tree.c
... ... @@ -3796,16 +3796,16 @@
3796 3796 kfree(rsv);
3797 3797 }
3798 3798  
3799   -int btrfs_block_rsv_add(struct btrfs_root *root,
3800   - struct btrfs_block_rsv *block_rsv,
3801   - u64 num_bytes)
  3799 +static inline int __block_rsv_add(struct btrfs_root *root,
  3800 + struct btrfs_block_rsv *block_rsv,
  3801 + u64 num_bytes, int flush)
3802 3802 {
3803 3803 int ret;
3804 3804  
3805 3805 if (num_bytes == 0)
3806 3806 return 0;
3807 3807  
3808   - ret = reserve_metadata_bytes(root, block_rsv, num_bytes, 1);
  3808 + ret = reserve_metadata_bytes(root, block_rsv, num_bytes, flush);
3809 3809 if (!ret) {
3810 3810 block_rsv_add_bytes(block_rsv, num_bytes, 1);
3811 3811 return 0;
3812 3812  
... ... @@ -3814,22 +3814,18 @@
3814 3814 return ret;
3815 3815 }
3816 3816  
  3817 +int btrfs_block_rsv_add(struct btrfs_root *root,
  3818 + struct btrfs_block_rsv *block_rsv,
  3819 + u64 num_bytes)
  3820 +{
  3821 + return __block_rsv_add(root, block_rsv, num_bytes, 1);
  3822 +}
  3823 +
3817 3824 int btrfs_block_rsv_add_noflush(struct btrfs_root *root,
3818 3825 struct btrfs_block_rsv *block_rsv,
3819 3826 u64 num_bytes)
3820 3827 {
3821   - int ret;
3822   -
3823   - if (num_bytes == 0)
3824   - return 0;
3825   -
3826   - ret = reserve_metadata_bytes(root, block_rsv, num_bytes, 0);
3827   - if (!ret) {
3828   - block_rsv_add_bytes(block_rsv, num_bytes, 1);
3829   - return 0;
3830   - }
3831   -
3832   - return ret;
  3828 + return __block_rsv_add(root, block_rsv, num_bytes, 0);
3833 3829 }
3834 3830  
3835 3831 int btrfs_block_rsv_check(struct btrfs_root *root,