Commit 61b520a9d0083b9b361638e456af45fd75150c87
Committed by
Chris Mason
1 parent
3254c87618
Exists in
master
and in
6 other branches
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, |