summaryrefslogtreecommitdiff
path: root/device_mapper
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2022-10-27 23:58:42 +0200
committerZdenek Kabelac <zkabelac@redhat.com>2022-11-02 13:59:34 +0100
commit36a923926c2c27c1a8a5ac262387d2a4d3e620f8 (patch)
tree96a00c09530a478dd3246428f2aa13bd3e4833d6 /device_mapper
parent2e79b005c2013fb03d8a48a3cfd8e70a982dd65b (diff)
downloadlvm2-36a923926c2c27c1a8a5ac262387d2a4d3e620f8.tar.gz
device_mapper: vdo V4 avoid messaging
With V4 format build table line with compression and deduplication and skip sending any messages to set up these parameters.
Diffstat (limited to 'device_mapper')
-rw-r--r--device_mapper/libdm-deptree.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/device_mapper/libdm-deptree.c b/device_mapper/libdm-deptree.c
index 0445e1b4b..02a56c8e3 100644
--- a/device_mapper/libdm-deptree.c
+++ b/device_mapper/libdm-deptree.c
@@ -2894,12 +2894,15 @@ static int _vdo_emit_segment_line(struct dm_task *dmt,
(seg->vdo_params.write_policy == DM_VDO_WRITE_POLICY_ASYNC_UNSAFE) ? "async-unsafe" : "auto", // policy
seg->vdo_name);
} else {
- EMIT_PARAMS(pos, "V4 %s " FMTu64 " %u " FMTu64 " %u ",
+ EMIT_PARAMS(pos, "V4 %s " FMTu64 " %u " FMTu64 " %u "
+ "deduplication %s compression %s ",
data_dev,
seg->vdo_data_size / 8, // this parameter is in 4K units
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.block_map_era_length,
+ seg->vdo_params.use_deduplication ? "on" : "off",
+ seg->vdo_params.use_compression ? "on" : "off");
}
EMIT_PARAMS(pos, "maxDiscard %u ack %u bio %u bioRotationInterval %u cpu %u hash %u logical %u physical %u",
@@ -4376,7 +4379,8 @@ int dm_tree_node_add_vdo_target(struct dm_tree_node *node,
seg->vdo_name = vdo_pool_name;
seg->vdo_data_size = data_size;
- node->props.send_messages = 2;
+ if (seg->vdo_version < 4)
+ node->props.send_messages = 2;
return 1;
}