summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2020-07-08 10:38:36 +0200
committerZdenek Kabelac <zkabelac@redhat.com>2020-07-08 11:12:54 +0200
commitfe78cd4082cb9af10580180d61898fcef93dc624 (patch)
treed0662cacee57cdc6f0ae17e3477847d011c9244f
parent40266faaab07f5578d137f9e400fbc9190edabcd (diff)
downloadlvm2-fe78cd4082cb9af10580180d61898fcef93dc624.tar.gz
wipe_lv: always zero at least 4K
When zero_sectors passed value like 1 - we could zero only 1 sector. Reinstantiate we always zero at least 4K block.
-rw-r--r--lib/metadata/lv_manip.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c
index d96137aff..5956d032c 100644
--- a/lib/metadata/lv_manip.c
+++ b/lib/metadata/lv_manip.c
@@ -7642,7 +7642,9 @@ int wipe_lv(struct logical_volume *lv, struct wipe_params wp)
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.",
display_lvname(lv));
- zero_sectors = wp.zero_sectors ? : UINT64_C(4096) >> SECTOR_SHIFT;
+ zero_sectors = UINT64_C(4096) >> SECTOR_SHIFT;
+ if (wp.zero_sectors > zero_sectors)
+ zero_sectors = wp.zero_sectors;
if (zero_sectors > lv->size)
zero_sectors = lv->size;