forked from Mirrors/btrfs-progs
btrfs-progs: Refactor sectorsize users in volumes.c
Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>master
parent
a124232f5d
commit
aca37c7915
17
volumes.c
17
volumes.c
|
@ -1060,9 +1060,9 @@ again:
|
||||||
btrfs_set_stack_chunk_num_stripes(chunk, num_stripes);
|
btrfs_set_stack_chunk_num_stripes(chunk, num_stripes);
|
||||||
btrfs_set_stack_chunk_io_align(chunk, stripe_len);
|
btrfs_set_stack_chunk_io_align(chunk, stripe_len);
|
||||||
btrfs_set_stack_chunk_io_width(chunk, stripe_len);
|
btrfs_set_stack_chunk_io_width(chunk, stripe_len);
|
||||||
btrfs_set_stack_chunk_sector_size(chunk, extent_root->sectorsize);
|
btrfs_set_stack_chunk_sector_size(chunk, info->sectorsize);
|
||||||
btrfs_set_stack_chunk_sub_stripes(chunk, sub_stripes);
|
btrfs_set_stack_chunk_sub_stripes(chunk, sub_stripes);
|
||||||
map->sector_size = extent_root->sectorsize;
|
map->sector_size = info->sectorsize;
|
||||||
map->stripe_len = stripe_len;
|
map->stripe_len = stripe_len;
|
||||||
map->io_align = stripe_len;
|
map->io_align = stripe_len;
|
||||||
map->io_width = stripe_len;
|
map->io_width = stripe_len;
|
||||||
|
@ -1123,7 +1123,7 @@ int btrfs_alloc_data_chunk(struct btrfs_trans_handle *trans,
|
||||||
key.objectid = BTRFS_FIRST_CHUNK_TREE_OBJECTID;
|
key.objectid = BTRFS_FIRST_CHUNK_TREE_OBJECTID;
|
||||||
key.type = BTRFS_CHUNK_ITEM_KEY;
|
key.type = BTRFS_CHUNK_ITEM_KEY;
|
||||||
if (convert) {
|
if (convert) {
|
||||||
if (*start != round_down(*start, extent_root->sectorsize)) {
|
if (*start != round_down(*start, info->sectorsize)) {
|
||||||
error("DATA chunk start not sectorsize aligned: %llu",
|
error("DATA chunk start not sectorsize aligned: %llu",
|
||||||
(unsigned long long)*start);
|
(unsigned long long)*start);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
@ -1188,9 +1188,9 @@ int btrfs_alloc_data_chunk(struct btrfs_trans_handle *trans,
|
||||||
btrfs_set_stack_chunk_num_stripes(chunk, num_stripes);
|
btrfs_set_stack_chunk_num_stripes(chunk, num_stripes);
|
||||||
btrfs_set_stack_chunk_io_align(chunk, stripe_len);
|
btrfs_set_stack_chunk_io_align(chunk, stripe_len);
|
||||||
btrfs_set_stack_chunk_io_width(chunk, stripe_len);
|
btrfs_set_stack_chunk_io_width(chunk, stripe_len);
|
||||||
btrfs_set_stack_chunk_sector_size(chunk, extent_root->sectorsize);
|
btrfs_set_stack_chunk_sector_size(chunk, info->sectorsize);
|
||||||
btrfs_set_stack_chunk_sub_stripes(chunk, sub_stripes);
|
btrfs_set_stack_chunk_sub_stripes(chunk, sub_stripes);
|
||||||
map->sector_size = extent_root->sectorsize;
|
map->sector_size = info->sectorsize;
|
||||||
map->stripe_len = stripe_len;
|
map->stripe_len = stripe_len;
|
||||||
map->io_align = stripe_len;
|
map->io_align = stripe_len;
|
||||||
map->io_width = stripe_len;
|
map->io_width = stripe_len;
|
||||||
|
@ -1686,6 +1686,7 @@ int btrfs_check_chunk_valid(struct btrfs_root *root,
|
||||||
u16 sub_stripes;
|
u16 sub_stripes;
|
||||||
u64 type;
|
u64 type;
|
||||||
u32 chunk_ondisk_size;
|
u32 chunk_ondisk_size;
|
||||||
|
u32 sectorsize = root->fs_info->sectorsize;
|
||||||
|
|
||||||
length = btrfs_chunk_length(leaf, chunk);
|
length = btrfs_chunk_length(leaf, chunk);
|
||||||
stripe_len = btrfs_chunk_stripe_len(leaf, chunk);
|
stripe_len = btrfs_chunk_stripe_len(leaf, chunk);
|
||||||
|
@ -1696,16 +1697,16 @@ int btrfs_check_chunk_valid(struct btrfs_root *root,
|
||||||
/*
|
/*
|
||||||
* These valid checks may be insufficient to cover every corner cases.
|
* These valid checks may be insufficient to cover every corner cases.
|
||||||
*/
|
*/
|
||||||
if (!IS_ALIGNED(logical, root->sectorsize)) {
|
if (!IS_ALIGNED(logical, sectorsize)) {
|
||||||
error("invalid chunk logical %llu", logical);
|
error("invalid chunk logical %llu", logical);
|
||||||
return -EIO;
|
return -EIO;
|
||||||
}
|
}
|
||||||
if (btrfs_chunk_sector_size(leaf, chunk) != root->sectorsize) {
|
if (btrfs_chunk_sector_size(leaf, chunk) != sectorsize) {
|
||||||
error("invalid chunk sectorsize %llu",
|
error("invalid chunk sectorsize %llu",
|
||||||
(unsigned long long)btrfs_chunk_sector_size(leaf, chunk));
|
(unsigned long long)btrfs_chunk_sector_size(leaf, chunk));
|
||||||
return -EIO;
|
return -EIO;
|
||||||
}
|
}
|
||||||
if (!length || !IS_ALIGNED(length, root->sectorsize)) {
|
if (!length || !IS_ALIGNED(length, sectorsize)) {
|
||||||
error("invalid chunk length %llu", length);
|
error("invalid chunk length %llu", length);
|
||||||
return -EIO;
|
return -EIO;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue