diff options
Diffstat (limited to 'tools/lvconvert.c')
-rw-r--r-- | tools/lvconvert.c | 22 |
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."); |