diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c index 660e742dd..7576eaeba 100644 --- a/lib/metadata/lv_manip.c +++ b/lib/metadata/lv_manip.c @@ -7244,6 +7244,7 @@ int wipe_lv(struct logical_volume *lv, struct wipe_params wp) log_debug("Metadata logical volume %s will be fully zeroed.", display_lvname(lv)); zero_sectors = lv->size; + wp.zero_value = 0; } else { if (wp.is_metadata) /* Verbosely notify metadata will not be fully zeroed */ log_verbose("Metadata logical volume %s not fully zeroed and may contain stale data.", @@ -7260,11 +7261,7 @@ int wipe_lv(struct logical_volume *lv, struct wipe_params wp) display_size(lv->vg->cmd, zero_sectors), display_lvname(lv), wp.zero_value); - if ((!wp.is_metadata && - wp.zero_value && !dev_set_bytes(dev, UINT64_C(0), - (size_t) zero_sectors << SECTOR_SHIFT, - (uint8_t)wp.zero_value)) || - !dev_write_zeros(dev, UINT64_C(0), (size_t) zero_sectors << SECTOR_SHIFT)) { + if (!dev_set_bytes(dev, UINT64_C(0), (size_t) zero_sectors << SECTOR_SHIFT, wp.zero_value)) { log_error("Failed to initialize %s of logical volume %s with value %d.", display_size(lv->vg->cmd, zero_sectors), display_lvname(lv), wp.zero_value);