[pve-devel] [PATCH manager 2/9] api: check: create osd: use wipe_blockdev from the Diskmanage package

Fabian Ebner f.ebner at proxmox.com
Tue Sep 28 13:39:54 CEST 2021


which is mostly a copy of the wipe_disks helper with the difference
that it also uses wipefs on the device and its partitions.

Remove the wipe_disks helper as no users remain.

Signed-off-by: Fabian Ebner <f.ebner at proxmox.com>
---

For this one, the dependency on libpve-storage-perl is already new
enough.

 PVE/API2/Ceph/OSD.pm |  4 ++--
 PVE/Ceph/Tools.pm    | 23 -----------------------
 2 files changed, 2 insertions(+), 25 deletions(-)

diff --git a/PVE/API2/Ceph/OSD.pm b/PVE/API2/Ceph/OSD.pm
index 83a9c932..97393912 100644
--- a/PVE/API2/Ceph/OSD.pm
+++ b/PVE/API2/Ceph/OSD.pm
@@ -473,7 +473,7 @@ __PACKAGE__->register_method ({
 		push @$cmd, '--data', $devpath;
 		push @$cmd, '--dmcrypt' if $param->{encrypted};
 
-		PVE::Ceph::Tools::wipe_disks($devpath);
+		PVE::Diskmanage::wipe_blockdev($devpath);
 
 		run_command($cmd);
 	    });
@@ -590,7 +590,7 @@ __PACKAGE__->register_method ({
 		my $partnum = PVE::Diskmanage::get_partnum($part);
 		my $devpath = PVE::Diskmanage::get_blockdev($part);
 
-		PVE::Ceph::Tools::wipe_disks($part);
+		PVE::Diskmanage::wipe_blockdev($part);
 		print "remove partition $part (disk '${devpath}', partnum $partnum)\n";
 		eval { run_command(['/sbin/sgdisk', '-d', $partnum, "${devpath}"]); };
 		warn $@ if $@;
diff --git a/PVE/Ceph/Tools.pm b/PVE/Ceph/Tools.pm
index e7124074..f54d837a 100644
--- a/PVE/Ceph/Tools.pm
+++ b/PVE/Ceph/Tools.pm
@@ -333,29 +333,6 @@ sub get_or_create_admin_keyring {
     return $pve_ckeyring_path;
 }
 
-# wipe the first 200 MB to clear off leftovers from previous use, otherwise a
-# create OSD fails.
-sub wipe_disks {
-    my (@devs) = @_;
-
-    my @wipe_cmd = qw(/bin/dd if=/dev/zero bs=1M conv=fdatasync);
-
-    foreach my $devpath (@devs) {
-	my $devname = basename($devpath);
-	my $dev_size = PVE::Tools::file_get_contents("/sys/class/block/$devname/size");
-
-	($dev_size) = $dev_size =~ m|(\d+)|; # untaint $dev_size
-	die "Coulnd't get the size of the device $devname\n" if (!defined($dev_size));
-
-	my $size = ($dev_size * 512 / 1024 / 1024);
-	my $count = ($size < 200) ? $size : 200;
-
-	print "wipe disk/partition: $devpath\n";
-	eval { run_command([@wipe_cmd, "count=$count", "of=${devpath}"]) };
-	warn $@ if $@;
-    }
-};
-
 # get ceph-volume managed osds
 sub ceph_volume_list {
     my $result = {};
-- 
2.30.2





More information about the pve-devel mailing list