summaryrefslogtreecommitdiff
path: root/tools/lvcreate.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/lvcreate.c')
-rw-r--r--tools/lvcreate.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/tools/lvcreate.c b/tools/lvcreate.c
index d19047e8c..e52d751f6 100644
--- a/tools/lvcreate.c
+++ b/tools/lvcreate.c
@@ -848,6 +848,8 @@ static int _lvcreate_params(struct cmd_context *cmd,
poolmetadataspare_ARG
#define RAID_ARGS \
+ integrity_ARG,\
+ integritysettings_ARG,\
maxrecoveryrate_ARG,\
minrecoveryrate_ARG,\
raidmaxrecoveryrate_ARG,\
@@ -1220,7 +1222,7 @@ static int _lvcreate_params(struct cmd_context *cmd,
}
}
- if (seg_is_integrity(lp)) {
+ if (seg_is_integrity(lp) || seg_is_raid(lp)) {
if (!get_integrity_options(cmd, &lp->integrity_arg, &lp->integrity_meta_name, &lp->integrity_settings))
return 0;
}
@@ -1808,11 +1810,15 @@ int lvcreate(struct cmd_context *cmd, int argc, char **argv)
_destroy_lvcreate_params(&lp);
destroy_processing_handle(cmd, handle);
- if (lp.integrity_bytes_to_zero) {
+ /*
+ * When set, the final LV should be zeroed (set by add_integrity
+ * to intialize integrity metadata/checksums).
+ */
+ if (lp.zero_data_sectors) {
if (!lp.zero)
log_warn("WARNING: not zeroing integrity LV, read errors are possible.");
else
- zero_lv_name(cmd, lp.vg_name, lp.lv_name, lp.integrity_bytes_to_zero);
+ zero_lv_name(cmd, lp.vg_name, lp.lv_name, lp.zero_data_sectors);
}
return ret;