summaryrefslogtreecommitdiff
path: root/device_mapper
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2019-10-04 14:58:18 +0200
committerZdenek Kabelac <zkabelac@redhat.com>2019-10-04 17:31:55 +0200
commit9d8a028e8cd9aaa34030af26046b04d87149be32 (patch)
tree280b4fac147a8971e3d5531fb7e28d11004dd6af /device_mapper
parentaad91330fecd7718fe5eb66a258feabc42f73c26 (diff)
downloadlvm2-9d8a028e8cd9aaa34030af26046b04d87149be32.tar.gz
vdo: keep minimum_io_size in sectors
Diffstat (limited to 'device_mapper')
-rw-r--r--device_mapper/libdm-deptree.c2
-rw-r--r--device_mapper/vdo/target.h2
-rw-r--r--device_mapper/vdo/vdo_target.c5
3 files changed, 5 insertions, 4 deletions
diff --git a/device_mapper/libdm-deptree.c b/device_mapper/libdm-deptree.c
index 4c030fc6c..7fac6ab20 100644
--- a/device_mapper/libdm-deptree.c
+++ b/device_mapper/libdm-deptree.c
@@ -2755,7 +2755,7 @@ static int _vdo_emit_segment_line(struct dm_task *dmt,
"maxDiscard %u ack %u bio %u bioRotationInterval %u cpu %u hash %u logical %u physical %u",
data_dev,
seg->vdo_data_size / 8, // this parameter is in 4K units
- seg->vdo_params.minimum_io_size,
+ seg->vdo_params.minimum_io_size * UINT32_C(512), // sector to byte units
seg->vdo_params.block_map_cache_size_mb * UINT64_C(256), // 1MiB -> 4KiB units
seg->vdo_params.block_map_era_length,
seg->vdo_params.use_metadata_hints ? "on" : "off" ,
diff --git a/device_mapper/vdo/target.h b/device_mapper/vdo/target.h
index f83cffd86..776798389 100644
--- a/device_mapper/vdo/target.h
+++ b/device_mapper/vdo/target.h
@@ -74,7 +74,7 @@ enum dm_vdo_write_policy {
// FIXME: review whether we should use the createParams from the userlib
struct dm_vdo_target_params {
- uint32_t minimum_io_size;
+ uint32_t minimum_io_size; // in sectors
uint32_t block_map_cache_size_mb;
uint32_t block_map_era_length; // format period
diff --git a/device_mapper/vdo/vdo_target.c b/device_mapper/vdo/vdo_target.c
index 976d71af2..946be5aa7 100644
--- a/device_mapper/vdo/vdo_target.c
+++ b/device_mapper/vdo/vdo_target.c
@@ -23,8 +23,9 @@ bool dm_vdo_validate_target_params(const struct dm_vdo_target_params *vtp,
{
bool valid = true;
- if ((vtp->minimum_io_size != 512) &&
- (vtp->minimum_io_size != 4096)) {
+ /* 512 or 4096 bytes only ATM */
+ if ((vtp->minimum_io_size != 1) &&
+ (vtp->minimum_io_size != 8)) {
log_error("VDO minimum io size %u is unsupported.",
vtp->minimum_io_size);
valid = false;