all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Fabian Ebner <f.ebner@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH v2 storage 6/6] api: disks: create: set correct partition type
Date: Wed,  6 Oct 2021 11:18:46 +0200	[thread overview]
Message-ID: <20211006091853.82237-7-f.ebner@proxmox.com> (raw)
In-Reply-To: <20211006091853.82237-1-f.ebner@proxmox.com>

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

No changes from v1.

 PVE/API2/Disks/Directory.pm |  5 ++++-
 PVE/API2/Disks/LVM.pm       |  5 +++++
 PVE/API2/Disks/LVMThin.pm   |  5 +++++
 PVE/API2/Disks/ZFS.pm       | 11 +++++++++++
 4 files changed, 25 insertions(+), 1 deletion(-)

diff --git a/PVE/API2/Disks/Directory.pm b/PVE/API2/Disks/Directory.pm
index 52f0c86..3a90a2e 100644
--- a/PVE/API2/Disks/Directory.pm
+++ b/PVE/API2/Disks/Directory.pm
@@ -216,7 +216,10 @@ __PACKAGE__->register_method ({
 
 		my $part = $dev;
 
-		if (!PVE::Diskmanage::is_partition($dev)) {
+		if (PVE::Diskmanage::is_partition($dev)) {
+		    eval { PVE::Diskmanage::change_parttype($dev, '8300'); };
+		    warn $@ if $@;
+		} else {
 		    # create partition
 		    my $cmd = [$SGDISK, '-n1', '-t1:8300', $dev];
 		    print "# ", join(' ', @$cmd), "\n";
diff --git a/PVE/API2/Disks/LVM.pm b/PVE/API2/Disks/LVM.pm
index eb8f5c0..885e02b 100644
--- a/PVE/API2/Disks/LVM.pm
+++ b/PVE/API2/Disks/LVM.pm
@@ -156,6 +156,11 @@ __PACKAGE__->register_method ({
 	    PVE::Diskmanage::locked_disk_action(sub {
 		PVE::Diskmanage::assert_disk_unused($dev);
 
+		if (PVE::Diskmanage::is_partition($dev)) {
+		    eval { PVE::Diskmanage::change_parttype($dev, '8E00'); };
+		    warn $@ if $@;
+		}
+
 		PVE::Storage::LVMPlugin::lvm_create_volume_group($dev, $name);
 
 		# FIXME: Remove once we depend on systemd >= v249.
diff --git a/PVE/API2/Disks/LVMThin.pm b/PVE/API2/Disks/LVMThin.pm
index 2fd8484..83ebc46 100644
--- a/PVE/API2/Disks/LVMThin.pm
+++ b/PVE/API2/Disks/LVMThin.pm
@@ -110,6 +110,11 @@ __PACKAGE__->register_method ({
 	    PVE::Diskmanage::locked_disk_action(sub {
 		PVE::Diskmanage::assert_disk_unused($dev);
 
+		if (PVE::Diskmanage::is_partition($dev)) {
+		    eval { PVE::Diskmanage::change_parttype($dev, '8E00'); };
+		    warn $@ if $@;
+		}
+
 		PVE::Storage::LVMPlugin::lvm_create_volume_group($dev, $name);
 		my $pv = PVE::Storage::LVMPlugin::lvm_pv_info($dev);
 		# keep some free space just in case
diff --git a/PVE/API2/Disks/ZFS.pm b/PVE/API2/Disks/ZFS.pm
index 6486404..7f96bb7 100644
--- a/PVE/API2/Disks/ZFS.pm
+++ b/PVE/API2/Disks/ZFS.pm
@@ -375,6 +375,17 @@ __PACKAGE__->register_method ({
 		    PVE::Diskmanage::assert_disk_unused($dev);
 
 		    my $is_partition = PVE::Diskmanage::is_partition($dev);
+
+		    if ($is_partition) {
+			eval {
+			    PVE::Diskmanage::change_parttype(
+				$dev,
+				'6a898cc3-1dd2-11b2-99a6-080020736631',
+			    );
+			};
+			warn $@ if $@;
+		    }
+
 		    my $sysfsdev = $is_partition ? PVE::Diskmanage::get_blockdev($dev) : $dev;
 
 		    $sysfsdev =~ s!^/dev/!/sys/block/!;
-- 
2.30.2





  parent reply	other threads:[~2021-10-06  9:19 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-06  9:18 [pve-devel] [PATCH-SERIES v2 storage/widget-toolkit/manager] disk creation and wiping improvements Fabian Ebner
2021-10-06  9:18 ` [pve-devel] [PATCH v2 storage 1/6] diskmanage: add change_parttype and is_partition helpers Fabian Ebner
2021-10-06  9:18 ` [pve-devel] [PATCH v2 storage 2/6] diskmanage: wipe blockdev: also change partition type Fabian Ebner
2021-10-06  9:18 ` [pve-devel] [PATCH v2 storage 3/6] diskmanage: don't set usage for unused partitions Fabian Ebner
2021-10-06  9:18 ` [pve-devel] [PATCH v2 storage 4/6] api: disks: initgpt: explicitly abort for partitions Fabian Ebner
2021-10-06  9:18 ` [pve-devel] [PATCH v2 storage 5/6] partially fix #2285: api: disks: allow partitions for creation paths Fabian Ebner
2021-10-06  9:18 ` Fabian Ebner [this message]
2021-10-06  9:18 ` [pve-devel] [PATCH v2 widget-toolkit 1/1] disk list: allow wiping individual partitions Fabian Ebner
2021-11-11 20:42   ` [pve-devel] applied: " Thomas Lamprecht
2021-10-06  9:18 ` [pve-devel] [PATCH v2 manager 1/6] api: ceph: create osd: set correct parttype for DB/WAL Fabian Ebner
2021-10-06  9:18 ` [pve-devel] [RFC v2 manager 2/6] partially fix #2285: api: ceph: create osd: allow using partitions Fabian Ebner
2021-10-06  9:18 ` [pve-devel] [RFC v2 manager 3/6] api: ceph: create osd: set correct partition type Fabian Ebner
2021-10-06  9:18 ` [pve-devel] [RFC v2 manager 4/6] partially fix #2285: ui: ceph: allow selecting partitions Fabian Ebner
2021-10-06  9:18 ` [pve-devel] [PATCH v2 manager 5/6] ui: zfs create: switch to using widget-toolkit's multiDiskSelector Fabian Ebner
2021-10-06  9:18 ` [pve-devel] [PATCH v2 manager 6/6] partially fix #2285: ui: disk create: allow selecting partitions Fabian Ebner
2021-10-07 13:28 ` [pve-devel] partially-applied: [PATCH-SERIES v2 storage/widget-toolkit/manager] disk creation and wiping improvements Thomas Lamprecht
2021-11-12 15:06 ` [pve-devel] applied-series: " Thomas Lamprecht

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211006091853.82237-7-f.ebner@proxmox.com \
    --to=f.ebner@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal