@@ -2467,6 +2467,7 @@ static inline u64 btrfs_calc_trunc_metadata_size(struct btrfs_fs_info *fs_info,
int btrfs_add_excluded_extent(struct btrfs_fs_info *fs_info,
u64 start, u64 num_bytes);
void btrfs_free_excluded_extents(struct btrfs_block_group_cache *cache);
+u64 btrfs_get_alloc_profile(struct btrfs_fs_info *fs_info, u64 orig_flags);
int btrfs_run_delayed_refs(struct btrfs_trans_handle *trans,
unsigned long count);
void btrfs_cleanup_ref_head_accounting(struct btrfs_fs_info *fs_info,
@@ -3255,7 +3255,7 @@ static u64 btrfs_reduce_alloc_profile(struct btrfs_fs_info *fs_info, u64 flags)
return extended_to_chunk(flags | allowed);
}
-static u64 get_alloc_profile(struct btrfs_fs_info *fs_info, u64 orig_flags)
+u64 btrfs_get_alloc_profile(struct btrfs_fs_info *fs_info, u64 orig_flags)
{
unsigned seq;
u64 flags;
@@ -3288,23 +3288,23 @@ static u64 get_alloc_profile_by_root(struct btrfs_root *root, int data)
else
flags = BTRFS_BLOCK_GROUP_METADATA;
- ret = get_alloc_profile(fs_info, flags);
+ ret = btrfs_get_alloc_profile(fs_info, flags);
return ret;
}
u64 btrfs_data_alloc_profile(struct btrfs_fs_info *fs_info)
{
- return get_alloc_profile(fs_info, BTRFS_BLOCK_GROUP_DATA);
+ return btrfs_get_alloc_profile(fs_info, BTRFS_BLOCK_GROUP_DATA);
}
u64 btrfs_metadata_alloc_profile(struct btrfs_fs_info *fs_info)
{
- return get_alloc_profile(fs_info, BTRFS_BLOCK_GROUP_METADATA);
+ return btrfs_get_alloc_profile(fs_info, BTRFS_BLOCK_GROUP_METADATA);
}
u64 btrfs_system_alloc_profile(struct btrfs_fs_info *fs_info)
{
- return get_alloc_profile(fs_info, BTRFS_BLOCK_GROUP_SYSTEM);
+ return btrfs_get_alloc_profile(fs_info, BTRFS_BLOCK_GROUP_SYSTEM);
}
static void force_metadata_allocation(struct btrfs_fs_info *info)
@@ -6950,7 +6950,7 @@ int btrfs_inc_block_group_ro(struct btrfs_block_group_cache *cache)
ret = __btrfs_inc_block_group_ro(cache, 0);
if (!ret)
goto out;
- alloc_flags = get_alloc_profile(fs_info, cache->space_info->flags);
+ alloc_flags = btrfs_get_alloc_profile(fs_info, cache->space_info->flags);
ret = btrfs_chunk_alloc(trans, alloc_flags, CHUNK_ALLOC_FORCE);
if (ret < 0)
goto out;
@@ -6970,7 +6970,7 @@ int btrfs_inc_block_group_ro(struct btrfs_block_group_cache *cache)
int btrfs_force_chunk_alloc(struct btrfs_trans_handle *trans, u64 type)
{
- u64 alloc_flags = get_alloc_profile(trans->fs_info, type);
+ u64 alloc_flags = btrfs_get_alloc_profile(trans->fs_info, type);
return btrfs_chunk_alloc(trans, alloc_flags, CHUNK_ALLOC_FORCE);
}
@@ -7495,7 +7495,7 @@ int btrfs_read_block_groups(struct btrfs_fs_info *info)
}
list_for_each_entry_rcu(space_info, &info->space_info, list) {
- if (!(get_alloc_profile(info, space_info->flags) &
+ if (!(btrfs_get_alloc_profile(info, space_info->flags) &
(BTRFS_BLOCK_GROUP_RAID10 |
BTRFS_BLOCK_GROUP_RAID1_MASK |
BTRFS_BLOCK_GROUP_RAID56_MASK |
This gets used directly by a bunch of the block group code, export it to make it easier to move things around. Signed-off-by: Josef Bacik <josef@toxicpanda.com> --- fs/btrfs/ctree.h | 1 + fs/btrfs/extent-tree.c | 16 ++++++++-------- 2 files changed, 9 insertions(+), 8 deletions(-)