btrfs-progs: Remove convert param from btrfs_alloc_data_chunk

Convert is always set to true so there's no point in having it as a
function parameter or using it as a predicate inside
btrfs_alloc_data_chunk.  Remove it and all relevant code which would
have never been executed.  No semantics changes.

Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Nikolay Borisov <nborisov@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
master
Nikolay Borisov 2019-10-30 14:22:27 +02:00 committed by David Sterba
parent f28a5a1673
commit beef042d50
3 changed files with 16 additions and 34 deletions

View File

@ -942,8 +942,7 @@ static int make_convert_data_block_groups(struct btrfs_trans_handle *trans,
len = min(max_chunk_size,
cache->start + cache->size - cur);
ret = btrfs_alloc_data_chunk(trans, fs_info,
&cur_backup, len, 1);
ret = btrfs_alloc_data_chunk(trans, fs_info, &cur_backup, len);
if (ret < 0)
break;
ret = btrfs_make_block_group(trans, fs_info, 0,

View File

@ -1238,14 +1238,11 @@ out_chunk:
/*
* Alloc a DATA chunk with SINGLE profile.
*
* If 'convert' is set, it will alloc a chunk with 1:1 mapping
* (btrfs logical bytenr == on-disk bytenr)
* For that case, caller must make sure the chunk and dev_extent are not
* occupied.
* It allocates a chunk with 1:1 mapping (btrfs logical bytenr == on-disk bytenr)
* Caller must make sure the chunk and dev_extent are not occupied.
*/
int btrfs_alloc_data_chunk(struct btrfs_trans_handle *trans,
struct btrfs_fs_info *info, u64 *start,
u64 num_bytes, int convert)
struct btrfs_fs_info *info, u64 *start, u64 num_bytes)
{
u64 dev_offset;
struct btrfs_root *extent_root = info->extent_root;
@ -1264,24 +1261,17 @@ int btrfs_alloc_data_chunk(struct btrfs_trans_handle *trans,
int stripe_len = BTRFS_STRIPE_LEN;
struct btrfs_key key;
if (*start != round_down(*start, info->sectorsize)) {
error("DATA chunk start not sectorsize aligned: %llu",
(unsigned long long)*start);
return -EINVAL;
}
key.objectid = BTRFS_FIRST_CHUNK_TREE_OBJECTID;
key.type = BTRFS_CHUNK_ITEM_KEY;
if (convert) {
if (*start != round_down(*start, info->sectorsize)) {
error("DATA chunk start not sectorsize aligned: %llu",
(unsigned long long)*start);
return -EINVAL;
}
key.offset = *start;
dev_offset = *start;
} else {
u64 tmp;
ret = find_next_chunk(info, &tmp);
key.offset = tmp;
if (ret)
return ret;
}
key.offset = *start;
dev_offset = *start;
chunk = kmalloc(btrfs_chunk_item_size(num_stripes), GFP_NOFS);
if (!chunk)
@ -1303,12 +1293,8 @@ int btrfs_alloc_data_chunk(struct btrfs_trans_handle *trans,
while (index < num_stripes) {
struct btrfs_stripe *stripe;
if (convert)
ret = btrfs_insert_dev_extent(trans, device, key.offset,
calc_size, dev_offset);
else
ret = btrfs_alloc_dev_extent(trans, device, key.offset,
calc_size, &dev_offset);
ret = btrfs_insert_dev_extent(trans, device, key.offset, calc_size,
dev_offset);
BUG_ON(ret);
device->bytes_used += calc_size;
@ -1345,8 +1331,6 @@ int btrfs_alloc_data_chunk(struct btrfs_trans_handle *trans,
ret = btrfs_insert_item(trans, chunk_root, &key, chunk,
btrfs_chunk_item_size(num_stripes));
BUG_ON(ret);
if (!convert)
*start = key.offset;
map->ce.start = key.offset;
map->ce.size = num_bytes;

View File

@ -271,8 +271,7 @@ int btrfs_alloc_chunk(struct btrfs_trans_handle *trans,
struct btrfs_fs_info *fs_info, u64 *start,
u64 *num_bytes, u64 type);
int btrfs_alloc_data_chunk(struct btrfs_trans_handle *trans,
struct btrfs_fs_info *fs_info, u64 *start,
u64 num_bytes, int convert);
struct btrfs_fs_info *fs_info, u64 *start, u64 num_bytes);
int btrfs_open_devices(struct btrfs_fs_devices *fs_devices,
int flags);
int btrfs_close_devices(struct btrfs_fs_devices *fs_devices);