Skip to content

Commit

Permalink
Btrfs: remove bytes argument from do_chunk_alloc
Browse files Browse the repository at this point in the history
Everybody is just making stuff up, and it's just used to see if we really do
need to alloc a chunk, and since we do this when we already know we really
do it's just a waste of space.  Thanks,

Signed-off-by: Josef Bacik <jbacik@fusionio.com>
  • Loading branch information
Josef Bacik authored and Chris Mason committed Oct 1, 2012
1 parent ea658ba commit 698d008
Showing 1 changed file with 10 additions and 15 deletions.
25 changes: 10 additions & 15 deletions fs/btrfs/extent-tree.c
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,8 @@ static int alloc_reserved_tree_block(struct btrfs_trans_handle *trans,
u64 flags, struct btrfs_disk_key *key,
int level, struct btrfs_key *ins);
static int do_chunk_alloc(struct btrfs_trans_handle *trans,
struct btrfs_root *extent_root, u64 alloc_bytes,
u64 flags, int force);
struct btrfs_root *extent_root, u64 flags,
int force);
static int find_next_key(struct btrfs_path *path, int level,
struct btrfs_key *key);
static void dump_space_info(struct btrfs_space_info *info, u64 bytes,
Expand Down Expand Up @@ -3404,7 +3404,6 @@ int btrfs_check_data_free_space(struct inode *inode, u64 bytes)
return PTR_ERR(trans);

ret = do_chunk_alloc(trans, root->fs_info->extent_root,
bytes + 2 * 1024 * 1024,
alloc_target,
CHUNK_ALLOC_NO_FORCE);
btrfs_end_transaction(trans, root);
Expand Down Expand Up @@ -3486,8 +3485,7 @@ static void force_metadata_allocation(struct btrfs_fs_info *info)
}

static int should_alloc_chunk(struct btrfs_root *root,
struct btrfs_space_info *sinfo, u64 alloc_bytes,
int force)
struct btrfs_space_info *sinfo, int force)
{
struct btrfs_block_rsv *global_rsv = &root->fs_info->global_block_rsv;
u64 num_bytes = sinfo->total_bytes - sinfo->bytes_readonly;
Expand Down Expand Up @@ -3518,7 +3516,7 @@ static int should_alloc_chunk(struct btrfs_root *root,
return 1;
}

if (num_allocated + alloc_bytes < div_factor(num_bytes, 8))
if (num_allocated + 2 * 1024 * 1024 < div_factor(num_bytes, 8))
return 0;
return 1;
}
Expand Down Expand Up @@ -3568,8 +3566,7 @@ static void check_system_chunk(struct btrfs_trans_handle *trans,
}

static int do_chunk_alloc(struct btrfs_trans_handle *trans,
struct btrfs_root *extent_root, u64 alloc_bytes,
u64 flags, int force)
struct btrfs_root *extent_root, u64 flags, int force)
{
struct btrfs_space_info *space_info;
struct btrfs_fs_info *fs_info = extent_root->fs_info;
Expand All @@ -3593,7 +3590,7 @@ static int do_chunk_alloc(struct btrfs_trans_handle *trans,
return 0;
}

if (!should_alloc_chunk(extent_root, space_info, alloc_bytes, force)) {
if (!should_alloc_chunk(extent_root, space_info, force)) {
spin_unlock(&space_info->lock);
return 0;
} else if (space_info->chunk_alloc) {
Expand Down Expand Up @@ -3869,7 +3866,6 @@ static int flush_space(struct btrfs_root *root,
break;
}
ret = do_chunk_alloc(trans, root->fs_info->extent_root,
num_bytes,
btrfs_get_alloc_profile(root, 0),
CHUNK_ALLOC_NO_FORCE);
btrfs_end_transaction(trans, root);
Expand Down Expand Up @@ -5868,8 +5864,7 @@ static noinline int find_free_extent(struct btrfs_trans_handle *trans,
index = 0;
loop++;
if (loop == LOOP_ALLOC_CHUNK) {
ret = do_chunk_alloc(trans, root, num_bytes +
2 * 1024 * 1024, data,
ret = do_chunk_alloc(trans, root, data,
CHUNK_ALLOC_FORCE);
/*
* Do not bail out on ENOSPC since we
Expand Down Expand Up @@ -7269,7 +7264,7 @@ int btrfs_set_block_group_ro(struct btrfs_root *root,

alloc_flags = update_block_group_flags(root, cache->flags);
if (alloc_flags != cache->flags) {
ret = do_chunk_alloc(trans, root, 2 * 1024 * 1024, alloc_flags,
ret = do_chunk_alloc(trans, root, alloc_flags,
CHUNK_ALLOC_FORCE);
if (ret < 0)
goto out;
Expand All @@ -7279,7 +7274,7 @@ int btrfs_set_block_group_ro(struct btrfs_root *root,
if (!ret)
goto out;
alloc_flags = get_alloc_profile(root, cache->space_info->flags);
ret = do_chunk_alloc(trans, root, 2 * 1024 * 1024, alloc_flags,
ret = do_chunk_alloc(trans, root, alloc_flags,
CHUNK_ALLOC_FORCE);
if (ret < 0)
goto out;
Expand All @@ -7293,7 +7288,7 @@ int btrfs_force_chunk_alloc(struct btrfs_trans_handle *trans,
struct btrfs_root *root, u64 type)
{
u64 alloc_flags = get_alloc_profile(root, type);
return do_chunk_alloc(trans, root, 2 * 1024 * 1024, alloc_flags,
return do_chunk_alloc(trans, root, alloc_flags,
CHUNK_ALLOC_FORCE);
}

Expand Down

0 comments on commit 698d008

Please sign in to comment.