summaryrefslogtreecommitdiff
path: root/tools/lvconvert.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/lvconvert.c')
-rw-r--r--tools/lvconvert.c22
1 files changed, 6 insertions, 16 deletions
diff --git a/tools/lvconvert.c b/tools/lvconvert.c
index 028781fe4..2b3c3eabf 100644
--- a/tools/lvconvert.c
+++ b/tools/lvconvert.c
@@ -2003,19 +2003,9 @@ static int _lvconvert_snapshot(struct cmd_context *cmd,
if (!zero || !(lv->status & LVM_WRITE))
log_warn("WARNING: %s not zeroed.", snap_name);
- else {
- lv->status |= LV_TEMPORARY;
- if (!activate_lv_excl_local(cmd, lv) ||
- !wipe_lv(lv, (struct wipe_params) { .do_zero = 1 })) {
- log_error("Aborting. Failed to wipe snapshot exception store.");
- return 0;
- }
- lv->status &= ~LV_TEMPORARY;
- /* Deactivates cleared metadata LV */
- if (!deactivate_lv(lv->vg->cmd, lv)) {
- log_error("Failed to deactivate zeroed snapshot exception store.");
- return 0;
- }
+ else if (!activate_and_wipe_lv(lv, 0)) {
+ log_error("Aborting. Failed to wipe snapshot exception store.");
+ return 0;
}
if (!archive(lv->vg))
@@ -3176,12 +3166,12 @@ static int _lvconvert_to_pool(struct cmd_context *cmd,
goto_bad;
if (zero_metadata) {
- metadata_lv->status |= LV_TEMPORARY;
- if (!activate_lv_excl_local(cmd, metadata_lv)) {
+ metadata_lv->status |= LV_ACTIVATION_SKIP;
+ if (!activate_lv(cmd, metadata_lv)) {
log_error("Aborting. Failed to activate metadata lv.");
goto bad;
}
- metadata_lv->status &= ~LV_TEMPORARY;
+ metadata_lv->status &= ~LV_ACTIVATION_SKIP;
if (!wipe_lv(metadata_lv, (struct wipe_params) { .do_zero = 1 })) {
log_error("Aborting. Failed to wipe metadata lv.");