From bd46e59b5d6dba1739f4286d589944fbd32b67a3 Mon Sep 17 00:00:00 2001 From: Fabian Ebner Date: Wed, 6 Oct 2021 11:18:42 +0200 Subject: [PATCH] diskmanage: wipe blockdev: also change partition type when called with a partition. Since get_disks uses the partition type (among other things) to detect LVM and ZFS volumes, such volumes would still be seen as in-use after wiping. Thus, also change the partition type and simply use 0x83 "Linux filesystem". Signed-off-by: Fabian Ebner --- PVE/Diskmanage.pm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/PVE/Diskmanage.pm b/PVE/Diskmanage.pm index 9d5b037..5041fb3 100644 --- a/PVE/Diskmanage.pm +++ b/PVE/Diskmanage.pm @@ -927,6 +927,7 @@ sub change_parttype { } # Wipes all labels and the first 200 MiB of a disk/partition (or the whole if it is smaller). +# If called with a partition, also sets the partition type to 0x83 'Linux filesystem'. # Expected to be called with a result of verify_blockdev_path(). sub wipe_blockdev { my ($devpath) = @_; @@ -959,6 +960,11 @@ sub wipe_blockdev { ['dd', 'if=/dev/zero', "of=${devpath}", 'bs=1M', 'conv=fdatasync', "count=${count}"], errmsg => "error wiping '${devpath}'", ); + + if (is_partition($devpath)) { + eval { change_parttype($devpath, '8300'); }; + warn $@ if $@; + } } 1; -- 2.39.2