]> git.proxmox.com Git - pve-storage.git/commitdiff
diskmanage: wipe blockdev: also change partition type
authorFabian Ebner <f.ebner@proxmox.com>
Wed, 6 Oct 2021 09:18:42 +0000 (11:18 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Thu, 7 Oct 2021 12:39:26 +0000 (14:39 +0200)
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 <f.ebner@proxmox.com>
PVE/Diskmanage.pm

index 9d5b037a0bb54c1220de1eaee85d918362d27f23..5041fb393f20670a2c9c94223eb492a41cb52cc8 100644 (file)
@@ -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;