public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Wolfgang Bumiller <w.bumiller@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH storage 25/26] update tests
Date: Tue, 29 Jul 2025 13:15:38 +0200	[thread overview]
Message-ID: <20250729111557.136012-26-w.bumiller@proxmox.com> (raw)
In-Reply-To: <20250729111557.136012-1-w.bumiller@proxmox.com>

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
---
 src/test/list_volumes_test.pm      | 73 ++++++++++++++++++++----------
 src/test/parse_volname_test.pm     | 34 ++++++++++++--
 src/test/path_to_volume_id_test.pm | 27 +++++++----
 src/test/run_test_lvmplugin.pl     | 11 +++--
 src/test/run_test_zfspoolplugin.pl | 45 ++++++++++--------
 5 files changed, 129 insertions(+), 61 deletions(-)

diff --git a/src/test/list_volumes_test.pm b/src/test/list_volumes_test.pm
index e528fc3..fcc7beb 100644
--- a/src/test/list_volumes_test.pm
+++ b/src/test/list_volumes_test.pm
@@ -71,6 +71,8 @@ my $scfg = {
         'rootdir' => 1,
         'vztmpl' => 1,
         'images' => 1,
+        'vm-vol' => 1,
+        'ct-vol' => 1,
         'snippets' => 1,
         'backup' => 1,
     },
@@ -87,9 +89,9 @@ my @tests = (
         description => 'VMID: 16110, VM, qcow2, backup, snippets',
         vmid => '16110',
         files => [
-            "$storage_dir/images/16110/vm-16110-disk-0.qcow2",
-            "$storage_dir/images/16110/vm-16110-disk-1.raw",
-            "$storage_dir/images/16110/vm-16110-disk-2.vmdk",
+            "$storage_dir/vms/16110/vol-vm-16110-disk-0.qcow2",
+            "$storage_dir/vms/16110/vol-vm-16110-disk-1.raw",
+            "$storage_dir/vms/16110/vol-vm-16110-disk-2.vmdk",
             "$storage_dir/dump/vzdump-qemu-16110-2020_03_30-21_11_40.vma.gz",
             "$storage_dir/dump/vzdump-qemu-16110-2020_03_30-21_12_45.vma.lzo",
             "$storage_dir/dump/vzdump-qemu-16110-2020_03_30-21_13_55.vma",
@@ -99,34 +101,37 @@ my @tests = (
         ],
         expected => [
             {
-                'content' => 'images',
+                'content' => 'vm-vol',
+                'vtype' => 'vm-vol',
                 'ctime' => DEFAULT_CTIME,
                 'format' => 'qcow2',
                 'parent' => undef,
                 'size' => DEFAULT_SIZE,
                 'used' => DEFAULT_USED,
                 'vmid' => '16110',
-                'volid' => 'local:16110/vm-16110-disk-0.qcow2',
+                'volid' => 'local:16110/vol-vm-16110-disk-0.qcow2',
             },
             {
-                'content' => 'images',
+                'content' => 'vm-vol',
+                'vtype' => 'vm-vol',
                 'ctime' => DEFAULT_CTIME,
                 'format' => 'raw',
                 'parent' => undef,
                 'size' => DEFAULT_SIZE,
                 'used' => DEFAULT_USED,
                 'vmid' => '16110',
-                'volid' => 'local:16110/vm-16110-disk-1.raw',
+                'volid' => 'local:16110/vol-vm-16110-disk-1.raw',
             },
             {
-                'content' => 'images',
+                'content' => 'vm-vol',
+                'vtype' => 'vm-vol',
                 'ctime' => DEFAULT_CTIME,
                 'format' => 'vmdk',
                 'parent' => undef,
                 'size' => DEFAULT_SIZE,
                 'used' => DEFAULT_USED,
                 'vmid' => '16110',
-                'volid' => 'local:16110/vm-16110-disk-2.vmdk',
+                'volid' => 'local:16110/vol-vm-16110-disk-2.vmdk',
             },
             {
                 'content' => 'backup',
@@ -184,7 +189,8 @@ my @tests = (
         description => 'VMID: 16112, lxc, raw, backup',
         vmid => '16112',
         files => [
-            "$storage_dir/images/16112/vm-16112-disk-0.raw",
+            "$storage_dir/cts/16112/vol-ct-16112-disk-0.raw",
+            "$storage_dir/images/16112/vm-16112-disk-1.raw",
             "$storage_dir/dump/vzdump-lxc-16112-2020_03_30-21_39_30.tar.lzo",
             "$storage_dir/dump/vzdump-lxc-16112-2020_03_30-21_49_30.tar.gz",
             "$storage_dir/dump/vzdump-lxc-16112-2020_03_30-21_49_30.tar.zst",
@@ -192,6 +198,17 @@ my @tests = (
             "$storage_dir/dump/vzdump-openvz-16112-2020_03_30-21_39_30.tar.bz2",
         ],
         expected => [
+            {
+                'content' => 'ct-vol',
+                'vtype' => 'ct-vol',
+                'ctime' => DEFAULT_CTIME,
+                'format' => 'raw',
+                'parent' => undef,
+                'size' => DEFAULT_SIZE,
+                'used' => DEFAULT_USED,
+                'vmid' => '16112',
+                'volid' => 'local:16112/vol-ct-16112-disk-0.raw',
+            },
             {
                 'content' => 'rootdir',
                 'ctime' => DEFAULT_CTIME,
@@ -200,7 +217,7 @@ my @tests = (
                 'size' => DEFAULT_SIZE,
                 'used' => DEFAULT_USED,
                 'vmid' => '16112',
-                'volid' => 'local:16112/vm-16112-disk-0.raw',
+                'volid' => 'local:16112/vm-16112-disk-1.raw',
             },
             {
                 'content' => 'backup',
@@ -254,7 +271,7 @@ my @tests = (
         vmid => '16114',
         files => [
             "$storage_dir/images/16114/vm-16114-disk-0.qcow2",
-            "$storage_dir/images/16114/vm-16114-disk-1.qcow2",
+            "$storage_dir/vms/16114/vol-vm-16114-disk-1.qcow2",
         ],
         parent => [
             "../9004/base-9004-disk-0.qcow2", "../9004/base-9004-disk-1.qcow2",
@@ -271,14 +288,15 @@ my @tests = (
                 'volid' => 'local:9004/base-9004-disk-0.qcow2/16114/vm-16114-disk-0.qcow2',
             },
             {
-                'content' => 'images',
+                'content' => 'vm-vol',
+                'vtype' => 'vm-vol',
                 'ctime' => DEFAULT_CTIME,
                 'format' => 'qcow2',
                 'parent' => '../9004/base-9004-disk-1.qcow2',
                 'size' => DEFAULT_SIZE,
                 'used' => DEFAULT_USED,
                 'vmid' => '16114',
-                'volid' => 'local:9004/base-9004-disk-1.qcow2/16114/vm-16114-disk-1.qcow2',
+                'volid' => 'local:9004/base-9004-disk-1.qcow2/16114/vol-vm-16114-disk-1.qcow2',
             },
         ],
     },
@@ -287,7 +305,7 @@ my @tests = (
         vmid => '9004',
         files => [
             "$storage_dir/images/9004/base-9004-disk-0.qcow2",
-            "$storage_dir/images/9004/base-9004-disk-1.qcow2",
+            "$storage_dir/vms/9004/base-vol-vm-9004-disk-1.qcow2",
         ],
         expected => [
             {
@@ -301,14 +319,15 @@ my @tests = (
                 'volid' => 'local:9004/base-9004-disk-0.qcow2',
             },
             {
-                'content' => 'images',
+                'content' => 'vm-vol',
+                'vtype' => 'vm-vol',
                 'ctime' => DEFAULT_CTIME,
                 'format' => 'qcow2',
                 'parent' => undef,
                 'size' => DEFAULT_SIZE,
                 'used' => DEFAULT_USED,
                 'vmid' => '9004',
-                'volid' => 'local:9004/base-9004-disk-1.qcow2',
+                'volid' => 'local:9004/base-vol-vm-9004-disk-1.qcow2',
             },
         ],
     },
@@ -428,21 +447,22 @@ my @tests = (
         #"$storage_dir/images/ssss/base-4321-disk-0.qcow2/1234/vm-1234-disk-0.qcow2",
         vmid => undef,
         files => [
-            "$storage_dir/images/1234/vm-1234-disk-0.qcow2",
+            "$storage_dir/vms/1234/vol-vm-1234-disk-0.qcow2",
         ],
         parent => [
-            "../ssss/base-4321-disk-0.qcow2",
+            "../ssss/base-vol-vm-4321-disk-0.qcow2",
         ],
         expected => [
             {
-                'content' => 'images',
+                'content' => 'vm-vol',
+                'vtype' => 'vm-vol',
                 'ctime' => DEFAULT_CTIME,
                 'format' => 'qcow2',
-                'parent' => '../ssss/base-4321-disk-0.qcow2',
+                'parent' => '../ssss/base-vol-vm-4321-disk-0.qcow2',
                 'size' => DEFAULT_SIZE,
                 'used' => DEFAULT_USED,
                 'vmid' => '1234',
-                'volid' => 'local:1234/vm-1234-disk-0.qcow2',
+                'volid' => 'local:1234/vol-vm-1234-disk-0.qcow2',
             },
         ],
     },
@@ -521,7 +541,7 @@ plan tests => $plan + 1;
 
 {
     my $sid = 'local';
-    my $types = ['rootdir', 'images', 'vztmpl', 'iso', 'backup', 'snippets'];
+    my $types = ['images', 'rootdir', 'vm-vol', 'ct-vol', 'vztmpl', 'iso', 'backup', 'snippets'];
     my @suffixes = ('qcow2', 'raw', 'vmdk', 'vhdx');
 
     # run through test cases
@@ -555,6 +575,13 @@ plan tests => $plan + 1;
         eval { $got = PVE::Storage::Plugin->list_volumes($sid, $scfg, $vmid, $types) };
         $got = $@ if $@;
 
+        sub sort_by_volid {
+            my ($data) = @_;
+            return [sort { $a->{volid} cmp $b->{volid} } @$data];
+        }
+
+        $got = sort_by_volid($got) if ref($got) && ref($got) eq 'ARRAY';
+        $expected = sort_by_volid($expected);
         is_deeply($got, $expected, $description) || diag(explain($got));
 
         # clean up after each test case, otherwise
diff --git a/src/test/parse_volname_test.pm b/src/test/parse_volname_test.pm
index 0d077a9..297e280 100644
--- a/src/test/parse_volname_test.pm
+++ b/src/test/parse_volname_test.pm
@@ -20,6 +20,19 @@ my $tests = [
     #
     {
         description => 'VM disk image, linked, qcow2, vm- as base-',
+        volname => "$vmid/vol-vm-$vmid-disk-0.qcow2/$vmid/vol-vm-$vmid-disk-0.qcow2",
+        expected => [
+            'vm-vol',
+            "vol-vm-$vmid-disk-0.qcow2",
+            "$vmid",
+            "vol-vm-$vmid-disk-0.qcow2",
+            "$vmid",
+            !!0,
+            'qcow2',
+        ],
+    },
+    {
+        description => 'VM disk image, legacy, linked, qcow2, vm- as base-',
         volname => "$vmid/vm-$vmid-disk-0.qcow2/$vmid/vm-$vmid-disk-0.qcow2",
         expected => [
             'images',
@@ -27,11 +40,21 @@ my $tests = [
             "$vmid",
             "vm-$vmid-disk-0.qcow2",
             "$vmid",
-            undef,
+            !!0,
             'qcow2',
         ],
     },
     #
+    # Container volumes
+    #
+    {
+        description => 'CT rootdir image',
+        volname => "$vmid/vol-ct-$vmid-disk-0.raw",
+        expected => [
+            'ct-vol', "vol-ct-$vmid-disk-0.raw", "$vmid", undef, undef, !!0, 'raw',
+        ],
+    },
+    #
     # iso
     #
     {
@@ -94,7 +117,7 @@ my $tests = [
         description => 'Container rootdir, subvol',
         volname => "$vmid/subvol-$vmid-disk-0.subvol",
         expected =>
-            ['images', "subvol-$vmid-disk-0.subvol", "$vmid", undef, undef, undef, 'subvol'],
+            ['images', "subvol-$vmid-disk-0.subvol", "$vmid", undef, undef, !!0, 'subvol'],
     },
     {
         description => 'Backup archive, no virtualization type',
@@ -209,7 +232,7 @@ foreach my $s (@$disk_suffix) {
             description => "VM disk image, $s",
             volname => "$vmid/vm-$vmid-disk-1.$s",
             expected => [
-                'images', "vm-$vmid-disk-1.$s", "$vmid", undef, undef, undef, "$s",
+                'images', "vm-$vmid-disk-1.$s", "$vmid", undef, undef, !!0, "$s",
             ],
         },
         {
@@ -221,7 +244,7 @@ foreach my $s (@$disk_suffix) {
                 "$vmid",
                 "base-$vmid-disk-0.$s",
                 "$vmid",
-                undef,
+                !!0,
                 "$s",
             ],
         },
@@ -229,7 +252,7 @@ foreach my $s (@$disk_suffix) {
             description => "VM disk image, base, $s",
             volname => "$vmid/base-$vmid-disk-0.$s",
             expected => [
-                'images', "base-$vmid-disk-0.$s", "$vmid", undef, undef, 'base-', "$s",
+                'images', "base-$vmid-disk-0.$s", "$vmid", undef, undef, !!1, "$s",
             ],
         },
     );
@@ -295,6 +318,7 @@ plan tests => scalar @$tests + 1;
 
 my $seen_vtype;
 my $vtype_subdirs = { map { $_ => 1 } keys %{ PVE::Storage::Plugin::get_vtype_subdirs() } };
+delete $vtype_subdirs->{rootdir}; # this one cannot be observed, it maps to the 'ct-vol' type.
 
 foreach my $t (@$tests) {
     my $description = $t->{description};
diff --git a/src/test/path_to_volume_id_test.pm b/src/test/path_to_volume_id_test.pm
index ab7e276..bb2d47f 100644
--- a/src/test/path_to_volume_id_test.pm
+++ b/src/test/path_to_volume_id_test.pm
@@ -25,8 +25,9 @@ my $scfg = {
             'maxfiles' => 0,
             'content' => {
                 'snippets' => 1,
-                'rootdir' => 1,
                 'images' => 1,
+                'vm-vol' => 1,
+                'ct-vol' => 1,
                 'iso' => 1,
                 'backup' => 1,
                 'vztmpl' => 1,
@@ -44,24 +45,31 @@ my $scfg = {
 # expected    => the result that path_to_volume_id should return
 my @tests = (
     {
-        description => 'Image, qcow2',
+        description => 'Image, qcow2, legacy naming',
         volname => "$storage_dir/images/16110/vm-16110-disk-0.qcow2",
         expected => [
             'images', 'local:16110/vm-16110-disk-0.qcow2',
         ],
     },
+    {
+        description => 'Image, qcow2',
+        volname => "$storage_dir/vms/16110/vol-vm-16110-disk-0.qcow2",
+        expected => [
+            'vm-vol', 'local:16110/vol-vm-16110-disk-0.qcow2',
+        ],
+    },
     {
         description => 'Image, raw',
-        volname => "$storage_dir/images/16112/vm-16112-disk-0.raw",
+        volname => "$storage_dir/vms/16112/vol-vm-16112-disk-0.raw",
         expected => [
-            'images', 'local:16112/vm-16112-disk-0.raw',
+            'vm-vol', 'local:16112/vol-vm-16112-disk-0.raw',
         ],
     },
     {
         description => 'Image template, qcow2',
-        volname => "$storage_dir/images/9004/base-9004-disk-0.qcow2",
+        volname => "$storage_dir/vms/9004/base-vol-vm-9004-disk-0.qcow2",
         expected => [
-            'images', 'local:9004/base-9004-disk-0.qcow2',
+            'vm-vol', 'local:9004/base-vol-vm-9004-disk-0.qcow2',
         ],
     },
 
@@ -141,14 +149,14 @@ my @tests = (
         description => 'Rootdir, folder subvol, legacy naming',
         volname => "$storage_dir/images/1234/subvol-1234-disk-0.subvol/", # fileparse needs / at the end
         expected => [
-            'ct-vol', 'local:1234/subvol-1234-disk-0.subvol',
+            'images', 'local:1234/subvol-1234-disk-0.subvol',
         ],
     },
     {
         description => 'Rootdir, folder subvol',
-        volname => "$storage_dir/images/1234/subvol-1234-disk-0.subvol/", # fileparse needs / at the end
+        volname => "$storage_dir/cts/1234/vol-ct-1234-disk-0.subvol/", # fileparse needs / at the end
         expected => [
-            'images', 'local:1234/subvol-1234-disk-0.subvol',
+            'ct-vol', 'local:1234/vol-ct-1234-disk-0.subvol',
         ],
     },
     {
@@ -239,6 +247,7 @@ plan tests => scalar @tests + 1;
 
 my $seen_vtype;
 my $vtype_subdirs = { map { $_ => 1 } keys %{ PVE::Storage::Plugin::get_vtype_subdirs() } };
+delete $vtype_subdirs->{rootdir}; # this one cannot be observed, it maps to the 'ct-vol' type.
 
 foreach my $tt (@tests) {
     my $file = $tt->{volname};
diff --git a/src/test/run_test_lvmplugin.pl b/src/test/run_test_lvmplugin.pl
index e87a3de..92e8d6e 100755
--- a/src/test/run_test_lvmplugin.pl
+++ b/src/test/run_test_lvmplugin.pl
@@ -159,7 +159,7 @@ my $test7 = sub {
 
     eval {
         my $tmp_volid =
-            PVE::Storage::vdisk_alloc($cfg, $storagename, "112", "raw", undef, 1024 * 1024);
+            PVE::Storage::vdisk_alloc($cfg, $storagename, "112", "raw", undef, 1024 * 1024, undef);
 
         if ($tmp_volid ne "$storagename:vm-112-disk-0") {
             die "volname:$tmp_volid don't match\n";
@@ -186,15 +186,16 @@ my $test7 = sub {
     }
 
     eval {
-        my $tmp_volid =
-            PVE::Storage::vdisk_alloc($cfg, $storagename, "112", "raw", undef, 2048 * 1024);
+        my $tmp_volid = PVE::Storage::vdisk_alloc(
+            $cfg, $storagename, "112", "raw", undef, 2048 * 1024, 'vm-vol',
+        );
 
-        if ($tmp_volid ne "$storagename:vm-112-disk-1") {
+        if ($tmp_volid ne "$storagename:vol-vm-112-disk-1") {
             die "volname:$tmp_volid don't match\n";
         }
         eval {
             run_command(
-                "lvs --noheadings -o lv_size $vgname/vm-112-disk-1",
+                "lvs --noheadings -o lv_size $vgname/vol-vm-112-disk-1",
                 outfunc => sub {
                     my $tmp = shift;
                     if ($tmp !~ m/2\.00g/) {
diff --git a/src/test/run_test_zfspoolplugin.pl b/src/test/run_test_zfspoolplugin.pl
index 9bd70a8..99ab6e2 100755
--- a/src/test/run_test_zfspoolplugin.pl
+++ b/src/test/run_test_zfspoolplugin.pl
@@ -580,7 +580,7 @@ my $test13 = sub {
 
     eval {
         my $tmp_volid =
-            PVE::Storage::vdisk_alloc($cfg, $storagename, "112", "raw", undef, 1024 * 1024);
+            PVE::Storage::vdisk_alloc($cfg, $storagename, "112", "raw", undef, 1024 * 1024, undef);
 
         if ($tmp_volid ne "$storagename:vm-112-disk-0") {
             die "volname:$tmp_volid don't match\n";
@@ -607,18 +607,19 @@ my $test13 = sub {
     }
 
     eval {
-        my $tmp_volid =
-            PVE::Storage::vdisk_alloc($cfg, $storagename, "112", "raw", undef, 2048 * 1024);
+        my $tmp_volid = PVE::Storage::vdisk_alloc(
+            $cfg, $storagename, "112", "raw", undef, 2048 * 1024, 'vm-vol',
+        );
 
-        if ($tmp_volid ne "$storagename:vm-112-disk-1") {
+        if ($tmp_volid ne "$storagename:vol-vm-112-disk-1") {
             die "volname:$tmp_volid don't match\n";
         }
         eval {
             run_command(
-                "zfs get -H volsize $zpath\/vm-112-disk-1",
+                "zfs get -H volsize $zpath\/vol-vm-112-disk-1",
                 outfunc => sub {
                     my $tmp = shift;
-                    if ($tmp !~ m/^$zpath\/vm-112-disk-1.*volsize.*2G.*$/) {
+                    if ($tmp !~ m/^$zpath\/vol-vm-112-disk-1.*volsize.*2G.*$/) {
                         die "size don't match\n";
                     }
                 },
@@ -635,8 +636,9 @@ my $test13 = sub {
     }
 
     eval {
-        my $tmp_volid =
-            PVE::Storage::vdisk_alloc($cfg, $storagename, "113", "subvol", undef, 1024 * 1024);
+        my $tmp_volid = PVE::Storage::vdisk_alloc(
+            $cfg, $storagename, "113", "subvol", undef, 1024 * 1024, undef,
+        );
 
         if ($tmp_volid ne "$storagename:subvol-113-disk-0") {
             die "volname:$tmp_volid  don't match\n";
@@ -663,18 +665,19 @@ my $test13 = sub {
     }
 
     eval {
-        my $tmp_volid =
-            PVE::Storage::vdisk_alloc($cfg, $storagename, "113", "subvol", undef, 2048 * 1024);
+        my $tmp_volid = PVE::Storage::vdisk_alloc(
+            $cfg, $storagename, "113", "subvol", undef, 2048 * 1024, 'ct-vol',
+        );
 
-        if ($tmp_volid ne "$storagename:subvol-113-disk-1") {
+        if ($tmp_volid ne "$storagename:subvol-ct-113-disk-1") {
             die "volname:$tmp_volid  don't match\n";
         }
         eval {
             run_command(
-                "zfs get -H refquota $zpath\/subvol-113-disk-1",
+                "zfs get -H refquota $zpath\/subvol-ct-113-disk-1",
                 outfunc => sub {
                     my $tmp = shift;
-                    if ($tmp !~ m/^$zpath\/subvol-113-disk-1.*refquota.*G.*$/) {
+                    if ($tmp !~ m/^$zpath\/subvol-ct-113-disk-1.*refquota.*G.*$/) {
                         die "size don't match\n";
                     }
                 },
@@ -778,7 +781,7 @@ my $test11 = sub {
 
     print "\nrun test11 \"volume_is_base\"\n";
 
-    eval { PVE::Storage::vdisk_clone($cfg, "$storagename:$vmdisk", 110); };
+    eval { PVE::Storage::vdisk_clone($cfg, "$storagename:$vmdisk", 110, undef, undef); };
     if (!$@) {
         $count++;
         warn "Test11 a: clone_image only works on base images";
@@ -786,7 +789,7 @@ my $test11 = sub {
 
     eval {
         if ("$storagename:$vmbase\/vm-110-disk-0" ne
-            PVE::Storage::vdisk_clone($cfg, "$storagename:$vmbase", 110, '__base__')
+            PVE::Storage::vdisk_clone($cfg, "$storagename:$vmbase", 110, '__base__', undef)
         ) {
             $count++;
             warn "Test11 b";
@@ -806,13 +809,15 @@ my $test11 = sub {
         warn "Test11 b: $@";
     }
 
-    eval { PVE::Storage::vdisk_clone($cfg, "$storagename:$vmbase\/$vmlinked", 111); };
+    eval {
+        PVE::Storage::vdisk_clone($cfg, "$storagename:$vmbase\/$vmlinked", 111, undef, undef);
+    };
     if (!$@) {
         $count++;
         warn "Test11 c: clone_image only works on base images";
     }
 
-    eval { PVE::Storage::vdisk_clone($cfg, "$storagename:$ctdisk", 110); };
+    eval { PVE::Storage::vdisk_clone($cfg, "$storagename:$ctdisk", 110, undef, undef); };
     if (!$@) {
         $count++;
         warn "Test11 d: clone_image only works on base images";
@@ -820,7 +825,7 @@ my $test11 = sub {
 
     eval {
         if ("$storagename:$ctbase\/subvol-210-disk-0" ne
-            PVE::Storage::vdisk_clone($cfg, "$storagename:$ctbase", 210, '__base__')
+            PVE::Storage::vdisk_clone($cfg, "$storagename:$ctbase", 210, '__base__', undef)
         ) {
             $count++;
             warn "Test11 e";
@@ -840,7 +845,9 @@ my $test11 = sub {
         warn "Test11 e: $@";
     }
 
-    eval { PVE::Storage::vdisk_clone($cfg, "$storagename:$ctbase\/$ctlinked", 211); };
+    eval {
+        PVE::Storage::vdisk_clone($cfg, "$storagename:$ctbase\/$ctlinked", 211, undef, undef);
+    };
     if (!$@) {
         $count++;
         warn "Test11 f: clone_image only works on base images";
-- 
2.47.2



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


  parent reply	other threads:[~2025-07-29 11:18 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-29 11:15 [pve-devel] [RFC storage 00/26+10+3] unify vtype and content-type and Wolfgang Bumiller
2025-07-29 11:15 ` [pve-devel] [PATCH storage 01/26] btrfs: remove unnecessary mkpath call Wolfgang Bumiller
2025-07-29 11:15 ` [pve-devel] [PATCH storage 02/26] parse_volname: remove openvz 'rootdir' case Wolfgang Bumiller
2025-07-29 11:15 ` [pve-devel] [PATCH storage 03/26] drop rootdir case in path_to_volume_id Wolfgang Bumiller
2025-07-29 11:15 ` [pve-devel] [PATCH storage 04/26] escape dirs in path_to_volume_id regexes Wolfgang Bumiller
2025-07-29 11:15 ` [pve-devel] [PATCH storage 05/26] tests: drop rootdir/ tests Wolfgang Bumiller
2025-07-29 11:15 ` [pve-devel] [PATCH storage 06/26] common: use v5.36 Wolfgang Bumiller
2025-07-29 13:59   ` Fiona Ebner
2025-07-29 14:42     ` Thomas Lamprecht
2025-07-29 11:15 ` [pve-devel] [PATCH storage 07/26] common: add pve-storage-vtype standard option with new types Wolfgang Bumiller
2025-07-29 13:50   ` Fiona Ebner
2025-07-29 11:15 ` [pve-devel] [PATCH storage 08/26] prepare for vm-vol and ct-vol content and vtypes Wolfgang Bumiller
2025-07-30  8:38   ` Fabian Grünbichler
2025-08-08 12:01     ` Wolfgang Bumiller
2025-07-30  9:14   ` Fabian Grünbichler
2025-08-08 12:05     ` Wolfgang Bumiller
2025-07-29 11:15 ` [pve-devel] [PATCH storage 09/26] plugins: add new content types to all plugindata Wolfgang Bumiller
2025-07-30  8:38   ` Fabian Grünbichler
2025-08-08 12:10     ` Wolfgang Bumiller
2025-07-29 11:15 ` [pve-devel] [PATCH storage 10/26] plugins: update volname parsing for new naming convention Wolfgang Bumiller
2025-07-30  8:37   ` Fabian Grünbichler
2025-07-30  8:53     ` Wolfgang Bumiller
2025-07-30  8:58       ` Fabian Grünbichler
2025-07-29 11:15 ` [pve-devel] [PATCH storage 11/26] plugin: add vm/ct-vol to 'local' storage default content types Wolfgang Bumiller
2025-07-29 11:15 ` [pve-devel] [PATCH storage 12/26] plugin: support new vtypes in activate_storage checks Wolfgang Bumiller
2025-07-30  8:36   ` Fabian Grünbichler
2025-08-08 13:16     ` Wolfgang Bumiller
2025-07-29 11:15 ` [pve-devel] [PATCH storage 13/26] plugin, btrfs: update list_images and list_volumes Wolfgang Bumiller
2025-07-30  8:36   ` Fabian Grünbichler
2025-07-30  8:41     ` Fiona Ebner
2025-07-29 11:15 ` [pve-devel] [PATCH storage 14/26] plugins: update image/volume listing to support new types Wolfgang Bumiller
2025-07-30  8:36   ` Fabian Grünbichler
2025-07-29 11:15 ` [pve-devel] [PATCH storage 15/26] common: add is_volume_type and is_type_change_allowed helpers Wolfgang Bumiller
2025-07-30  9:01   ` Fabian Grünbichler
2025-07-29 11:15 ` [pve-devel] [PATCH storage 16/26] common: add volume_type_from_name convenience helper Wolfgang Bumiller
2025-07-30  8:36   ` Fabian Grünbichler
2025-07-30  9:09     ` Wolfgang Bumiller
2025-07-29 11:15 ` [pve-devel] [PATCH storage 17/26] plugins: add vtype parameter to alloc_image Wolfgang Bumiller
2025-07-30  9:24   ` Fabian Grünbichler
2025-07-30 14:00   ` Max R. Carrara
2025-07-30 14:05     ` Max R. Carrara
2025-07-30 14:26       ` Fabian Grünbichler
2025-07-30 14:49         ` Max R. Carrara
2025-07-30 15:01           ` Fabian Grünbichler
2025-07-29 11:15 ` [pve-devel] [PATCH storage 18/26] plugins: update create_base methods Wolfgang Bumiller
2025-07-29 11:15 ` [pve-devel] [PATCH storage 19/26] plugins: update clone_image methods Wolfgang Bumiller
2025-07-29 11:15 ` [pve-devel] [PATCH storage 20/26] plugins: update rename_volumes methods Wolfgang Bumiller
2025-07-29 11:15 ` [pve-devel] [PATCH storage 21/26] plugins: update volume_import methods Wolfgang Bumiller
2025-07-29 11:15 ` [pve-devel] [PATCH storage 22/26] zfs: update 'path' method for new naming scheme Wolfgang Bumiller
2025-07-30  9:31   ` Fabian Grünbichler
2025-07-29 11:15 ` [pve-devel] [PATCH storage 23/26] pvesm: add vtype parameter to import command Wolfgang Bumiller
2025-07-29 11:15 ` [pve-devel] [PATCH storage 24/26] api: add vtype parameter to create call Wolfgang Bumiller
2025-07-29 11:15 ` Wolfgang Bumiller [this message]
2025-07-29 16:33   ` [pve-devel] [PATCH storage 25/26] update tests Max R. Carrara
2025-07-29 11:15 ` [pve-devel] [PATCH storage 26/26] update ApiChangeLog Wolfgang Bumiller
2025-07-29 11:15 ` [pve-devel] [PATCH container 1/3] add vtype to vdisk_alloc and vdisk_clone calls Wolfgang Bumiller
2025-07-29 11:15 ` [pve-devel] [PATCH container 2/3] expect 'vm-vol' vtype in get_replicatable_volumes Wolfgang Bumiller
2025-07-29 11:15 ` [pve-devel] [PATCH container 3/3] add vtype to rename_volume call Wolfgang Bumiller
2025-07-29 11:15 ` [pve-devel] [PATCH qemu-server 01/10] add vtype to vdisk_alloc and vdisk_clone calls Wolfgang Bumiller
2025-07-29 11:15 ` [pve-devel] [PATCH qemu-server 02/10] add vtype parameter to rename_volume call Wolfgang Bumiller
2025-07-29 11:15 ` [pve-devel] [PATCH qemu-server 03/10] expect 'vm-vol' vtype in get_replicatable_volumes Wolfgang Bumiller
2025-07-29 11:15 ` [pve-devel] [PATCH qemu-server 04/10] expect 'vm-vol' vtype wherever 'images' was expected Wolfgang Bumiller
2025-07-30  8:40   ` Fabian Grünbichler
2025-07-30  9:17   ` Fiona Ebner
2025-07-30  9:33     ` Fiona Ebner
2025-07-29 11:15 ` [pve-devel] [PATCH qemu-server 05/10] tests: update QmMock to support vtypes Wolfgang Bumiller
2025-07-29 11:15 ` [pve-devel] [PATCH qemu-server 06/10] tests: scripted: update tests to new vtypes and paths Wolfgang Bumiller
2025-07-29 14:13   ` Max R. Carrara
2025-07-29 11:15 ` [pve-devel] [PATCH qemu-server 07/10] make tidy Wolfgang Bumiller
2025-07-29 11:15 ` [pve-devel] [PATCH qemu-server 08/10] tests: fixup restore test to use new volume naming scheme Wolfgang Bumiller
2025-07-29 11:15 ` [pve-devel] [PATCH qemu-server 09/10] tests: update remaining tests to new snapshot paths Wolfgang Bumiller
2025-07-29 11:15 ` [pve-devel] [PATCH qemu-server 10/10] tests: regenerate cfg2cmd files Wolfgang Bumiller
2025-07-29 14:19   ` Max R. Carrara
2025-07-29 15:34 ` [pve-devel] partially-applied: [RFC storage 00/26+10+3] unify vtype and content-type and Fiona Ebner

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=20250729111557.136012-26-w.bumiller@proxmox.com \
    --to=w.bumiller@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal