summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/extent-tree.c
diff options
context:
space:
mode:
authorJosef Bacik <josef@toxicpanda.com>2019-06-18 16:09:23 -0400
committerDavid Sterba <dsterba@suse.com>2019-07-02 06:30:53 -0400
commitc2a67a76ec87579a46a16c49fc9997737b7fa844 (patch)
treef6f97908dea4cf1e26878f82d02ea66da6885e72 /fs/btrfs/extent-tree.c
parentb338b013e18a28341aaf9e665ac1edc9fae518d1 (diff)
btrfs: export block_rsv_use_bytes
We are going to need this to move the metadata reservation stuff to space_info.c. Reviewed-by: Nikolay Borisov <nborisov@suse.com> Signed-off-by: Josef Bacik <josef@toxicpanda.com> Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/extent-tree.c')
-rw-r--r--fs/btrfs/extent-tree.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index 7b4a287e0c5c..b0cd367994a8 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -53,8 +53,6 @@ static int find_next_key(struct btrfs_path *path, int level,
53static void dump_space_info(struct btrfs_fs_info *fs_info, 53static void dump_space_info(struct btrfs_fs_info *fs_info,
54 struct btrfs_space_info *info, u64 bytes, 54 struct btrfs_space_info *info, u64 bytes,
55 int dump_block_groups); 55 int dump_block_groups);
56static int block_rsv_use_bytes(struct btrfs_block_rsv *block_rsv,
57 u64 num_bytes);
58 56
59static noinline int 57static noinline int
60block_group_cache_done(struct btrfs_block_group_cache *cache) 58block_group_cache_done(struct btrfs_block_group_cache *cache)
@@ -5031,7 +5029,7 @@ static int reserve_metadata_bytes(struct btrfs_root *root,
5031 if (ret == -ENOSPC && 5029 if (ret == -ENOSPC &&
5032 unlikely(root->orphan_cleanup_state == ORPHAN_CLEANUP_STARTED)) { 5030 unlikely(root->orphan_cleanup_state == ORPHAN_CLEANUP_STARTED)) {
5033 if (block_rsv != global_rsv && 5031 if (block_rsv != global_rsv &&
5034 !block_rsv_use_bytes(global_rsv, orig_bytes)) 5032 !btrfs_block_rsv_use_bytes(global_rsv, orig_bytes))
5035 ret = 0; 5033 ret = 0;
5036 } 5034 }
5037 if (ret == -ENOSPC) { 5035 if (ret == -ENOSPC) {
@@ -5067,8 +5065,7 @@ static struct btrfs_block_rsv *get_block_rsv(
5067 return block_rsv; 5065 return block_rsv;
5068} 5066}
5069 5067
5070static int block_rsv_use_bytes(struct btrfs_block_rsv *block_rsv, 5068int btrfs_block_rsv_use_bytes(struct btrfs_block_rsv *block_rsv, u64 num_bytes)
5071 u64 num_bytes)
5072{ 5069{
5073 int ret = -ENOSPC; 5070 int ret = -ENOSPC;
5074 spin_lock(&block_rsv->lock); 5071 spin_lock(&block_rsv->lock);
@@ -5265,7 +5262,7 @@ int btrfs_block_rsv_migrate(struct btrfs_block_rsv *src,
5265{ 5262{
5266 int ret; 5263 int ret;
5267 5264
5268 ret = block_rsv_use_bytes(src, num_bytes); 5265 ret = btrfs_block_rsv_use_bytes(src, num_bytes);
5269 if (ret) 5266 if (ret)
5270 return ret; 5267 return ret;
5271 5268
@@ -8134,7 +8131,7 @@ use_block_rsv(struct btrfs_trans_handle *trans,
8134 if (unlikely(block_rsv->size == 0)) 8131 if (unlikely(block_rsv->size == 0))
8135 goto try_reserve; 8132 goto try_reserve;
8136again: 8133again:
8137 ret = block_rsv_use_bytes(block_rsv, blocksize); 8134 ret = btrfs_block_rsv_use_bytes(block_rsv, blocksize);
8138 if (!ret) 8135 if (!ret)
8139 return block_rsv; 8136 return block_rsv;
8140 8137
@@ -8172,7 +8169,7 @@ try_reserve:
8172 */ 8169 */
8173 if (block_rsv->type != BTRFS_BLOCK_RSV_GLOBAL && 8170 if (block_rsv->type != BTRFS_BLOCK_RSV_GLOBAL &&
8174 block_rsv->space_info == global_rsv->space_info) { 8171 block_rsv->space_info == global_rsv->space_info) {
8175 ret = block_rsv_use_bytes(global_rsv, blocksize); 8172 ret = btrfs_block_rsv_use_bytes(global_rsv, blocksize);
8176 if (!ret) 8173 if (!ret)
8177 return global_rsv; 8174 return global_rsv;
8178 } 8175 }