all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH-SERIES container/storage] migration fixes for containers
@ 2022-03-03 12:31 Fabian Ebner
  2022-03-03 12:31 ` [pve-devel] [PATCH container 1/2] migrate: also set targetsid for unreferenced disks Fabian Ebner
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Fabian Ebner @ 2022-03-03 12:31 UTC (permalink / raw)
  To: pve-devel

The recent changes to support setting target storage and allow
renaming led to two problems with unused and unreferenced disks, as
well as exposing a bug in ZFSPoolPlugin.pm's volume_import.


container:

Fabian Ebner (2):
  migrate: also set targetsid for unreferenced disks
  config: print volume: support printing unused volume

 src/PVE/LXC/Config.pm  | 9 +++++++++
 src/PVE/LXC/Migrate.pm | 1 +
 2 files changed, 10 insertions(+)


storage:

Fabian Ebner (1):
  zfs: volume import: use correct format for renaming

 PVE/Storage/ZFSPoolPlugin.pm | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

-- 
2.30.2





^ permalink raw reply	[flat|nested] 5+ messages in thread

* [pve-devel] [PATCH container 1/2] migrate: also set targetsid for unreferenced disks
  2022-03-03 12:31 [pve-devel] [PATCH-SERIES container/storage] migration fixes for containers Fabian Ebner
@ 2022-03-03 12:31 ` Fabian Ebner
  2022-03-03 12:31 ` [pve-devel] [PATCH container 2/2] config: print volume: support printing unused volume Fabian Ebner
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Fabian Ebner @ 2022-03-03 12:31 UTC (permalink / raw)
  To: pve-devel

It's expected to be set further below. Reported in the community
forum: https://forum.proxmox.com/threads/105685

Fixes: e90ddc4 ("fix #1532: add target-storage support to migration")
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
---
 src/PVE/LXC/Migrate.pm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/PVE/LXC/Migrate.pm b/src/PVE/LXC/Migrate.pm
index 64bdd38..2ef1cce 100644
--- a/src/PVE/LXC/Migrate.pm
+++ b/src/PVE/LXC/Migrate.pm
@@ -220,6 +220,7 @@ sub phase1 {
 	    my ($volid, $sid, $volname) = @_;
 
 	    $volhash->{$volid}->{ref} = 'storage';
+	    $volhash->{$volid}->{targetsid} = $targetsid;
 	});
     }
 
-- 
2.30.2





^ permalink raw reply	[flat|nested] 5+ messages in thread

* [pve-devel] [PATCH container 2/2] config: print volume: support printing unused volume
  2022-03-03 12:31 [pve-devel] [PATCH-SERIES container/storage] migration fixes for containers Fabian Ebner
  2022-03-03 12:31 ` [pve-devel] [PATCH container 1/2] migrate: also set targetsid for unreferenced disks Fabian Ebner
@ 2022-03-03 12:31 ` Fabian Ebner
  2022-03-03 12:31 ` [pve-devel] [PATCH storage 1/1] zfs: volume import: use correct format for renaming Fabian Ebner
  2022-03-03 13:40 ` [pve-devel] applied series: [PATCH-SERIES container/storage] migration fixes for containers Wolfgang Bumiller
  3 siblings, 0 replies; 5+ messages in thread
From: Fabian Ebner @ 2022-03-03 12:31 UTC (permalink / raw)
  To: pve-devel

In particular, fixes migration with an unused disk, where calling
update_volume_ids() failed previously.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
---
 src/PVE/LXC/Config.pm | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/PVE/LXC/Config.pm b/src/PVE/LXC/Config.pm
index 0ed7bd2..d5b49d3 100644
--- a/src/PVE/LXC/Config.pm
+++ b/src/PVE/LXC/Config.pm
@@ -1207,6 +1207,13 @@ sub print_ct_mountpoint {
     return PVE::JSONSchema::print_property_string($info, $mp_desc, $skip);
 }
 
+sub print_ct_unused {
+    my ($class, $info) = @_;
+
+    my $skip = [ 'type' ];
+    return PVE::JSONSchema::print_property_string($info, $unused_desc, $skip);
+}
+
 sub parse_volume {
     my ($class, $key, $volume_string, $noerr) = @_;
 
@@ -1228,6 +1235,8 @@ sub parse_volume {
 sub print_volume {
     my ($class, $key, $volume) = @_;
 
+    return $class->print_ct_unused($volume) if $key =~ m/^unused(\d+)$/;
+
     return $class->print_ct_mountpoint($volume, $key eq 'rootfs');
 }
 
-- 
2.30.2





^ permalink raw reply	[flat|nested] 5+ messages in thread

* [pve-devel] [PATCH storage 1/1] zfs: volume import: use correct format for renaming
  2022-03-03 12:31 [pve-devel] [PATCH-SERIES container/storage] migration fixes for containers Fabian Ebner
  2022-03-03 12:31 ` [pve-devel] [PATCH container 1/2] migrate: also set targetsid for unreferenced disks Fabian Ebner
  2022-03-03 12:31 ` [pve-devel] [PATCH container 2/2] config: print volume: support printing unused volume Fabian Ebner
@ 2022-03-03 12:31 ` Fabian Ebner
  2022-03-03 13:40 ` [pve-devel] applied series: [PATCH-SERIES container/storage] migration fixes for containers Wolfgang Bumiller
  3 siblings, 0 replies; 5+ messages in thread
From: Fabian Ebner @ 2022-03-03 12:31 UTC (permalink / raw)
  To: pve-devel

Previously, the transport format (which currently is always 'zfs') was
passed in, resulting in subvol-disks not to be renamed correctly.

Fixes: a97d3ee ("Introduce allow_rename parameter for pvesm import and storage_migrate")
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
---
 PVE/Storage/ZFSPoolPlugin.pm | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/PVE/Storage/ZFSPoolPlugin.pm b/PVE/Storage/ZFSPoolPlugin.pm
index e952a5c..343f833 100644
--- a/PVE/Storage/ZFSPoolPlugin.pm
+++ b/PVE/Storage/ZFSPoolPlugin.pm
@@ -770,7 +770,9 @@ sub volume_import {
     die "internal error: invalid file handle for volume_import\n"
 	if !defined($fd);
 
-    my (undef, $dataset, $vmid) = $class->parse_volname($volname);
+    my (undef, $dataset, $vmid, undef, undef, undef, $volume_format) =
+	$class->parse_volname($volname);
+
     my $zfspath = "$scfg->{pool}/$dataset";
     my $suffix = defined($base_snapshot) ? "\@$base_snapshot" : '';
     my $exists = 0 == run_command(['zfs', 'get', '-H', 'name', $zfspath.$suffix],
@@ -780,7 +782,7 @@ sub volume_import {
     } elsif ($exists) {
 	die "volume '$zfspath' already exists\n" if !$allow_rename;
 	warn "volume '$zfspath' already exists - importing with a different name\n";
-	$dataset = $class->find_free_diskname($storeid, $scfg, $vmid, $format);
+	$dataset = $class->find_free_diskname($storeid, $scfg, $vmid, $volume_format);
 	$zfspath = "$scfg->{pool}/$dataset";
     }
 
-- 
2.30.2





^ permalink raw reply	[flat|nested] 5+ messages in thread

* [pve-devel] applied series: [PATCH-SERIES container/storage] migration fixes for containers
  2022-03-03 12:31 [pve-devel] [PATCH-SERIES container/storage] migration fixes for containers Fabian Ebner
                   ` (2 preceding siblings ...)
  2022-03-03 12:31 ` [pve-devel] [PATCH storage 1/1] zfs: volume import: use correct format for renaming Fabian Ebner
@ 2022-03-03 13:40 ` Wolfgang Bumiller
  3 siblings, 0 replies; 5+ messages in thread
From: Wolfgang Bumiller @ 2022-03-03 13:40 UTC (permalink / raw)
  To: Fabian Ebner; +Cc: pve-devel

applied, thanks

On Thu, Mar 03, 2022 at 01:31:18PM +0100, Fabian Ebner wrote:
> The recent changes to support setting target storage and allow
> renaming led to two problems with unused and unreferenced disks, as
> well as exposing a bug in ZFSPoolPlugin.pm's volume_import.
> 
> 
> container:
> 
> Fabian Ebner (2):
>   migrate: also set targetsid for unreferenced disks
>   config: print volume: support printing unused volume
> 
>  src/PVE/LXC/Config.pm  | 9 +++++++++
>  src/PVE/LXC/Migrate.pm | 1 +
>  2 files changed, 10 insertions(+)
> 
> 
> storage:
> 
> Fabian Ebner (1):
>   zfs: volume import: use correct format for renaming
> 
>  PVE/Storage/ZFSPoolPlugin.pm | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> -- 
> 2.30.2




^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-03-03 13:40 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-03 12:31 [pve-devel] [PATCH-SERIES container/storage] migration fixes for containers Fabian Ebner
2022-03-03 12:31 ` [pve-devel] [PATCH container 1/2] migrate: also set targetsid for unreferenced disks Fabian Ebner
2022-03-03 12:31 ` [pve-devel] [PATCH container 2/2] config: print volume: support printing unused volume Fabian Ebner
2022-03-03 12:31 ` [pve-devel] [PATCH storage 1/1] zfs: volume import: use correct format for renaming Fabian Ebner
2022-03-03 13:40 ` [pve-devel] applied series: [PATCH-SERIES container/storage] migration fixes for containers Wolfgang Bumiller

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