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
next prev 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