public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: "Max R. Carrara" <m.carrara@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [PATCH pve-storage v1 39/54] plugin: correct comment in get_subdir_files helper
Date: Wed, 22 Apr 2026 13:13:05 +0200	[thread overview]
Message-ID: <20260422111322.257380-40-m.carrara@proxmox.com> (raw)
In-Reply-To: <20260422111322.257380-1-m.carrara@proxmox.com>

The comment in the branch for 'backup' volume types in the
`get_subdir_files()` helper states that the condition below checks for
"false positives", apparently meaning that the VMID in the parent
directory might have been matched.

Challenge this claim by adding several new test cases that try to
cause the parser to return a wrong result.

As it turns out, the check the comment refers to is not (anymore)
there to check for "false positives" or VMIDs appearing in the parent
directory, but instead simply filters out backups that do not belong
to the provided VMID.

Note that if a backup has an arbitrary file name, that is, it's not
named something like "vzdump-qemu-1337-$TIMESTAMP.vma", that backup is
still returned in all cases.

Therefore, also include test cases for a plain "some-backup.tar.gz"
file and ensure that it is included in the expected output.

Signed-off-by: Max R. Carrara <m.carrara@proxmox.com>
---
 src/PVE/Storage/Plugin.pm     |   4 +-
 src/test/list_volumes_test.pm | 466 ++++++++++++++++++++++++++++++++++
 2 files changed, 468 insertions(+), 2 deletions(-)

diff --git a/src/PVE/Storage/Plugin.pm b/src/PVE/Storage/Plugin.pm
index 3853682b..101e0b6d 100644
--- a/src/PVE/Storage/Plugin.pm
+++ b/src/PVE/Storage/Plugin.pm
@@ -1702,8 +1702,8 @@ my sub get_subdir_files {
             my $format = $parts->{ext};
             my $volume_path = $parts->{path};

-            # Check if parsed VMID matched provided VMID in order to avoid
-            # false positives (VMID in parent directory name)
+            # Check if parsed VMID matches provided VMID in order to avoid
+            # returning backups of other guests
             my $parsed_vmid = $parts->{vmid};
             if (defined($vmid) && defined($parsed_vmid)) {
                 return if $vmid ne $parsed_vmid;
diff --git a/src/test/list_volumes_test.pm b/src/test/list_volumes_test.pm
index 455fb227..ce35c782 100644
--- a/src/test/list_volumes_test.pm
+++ b/src/test/list_volumes_test.pm
@@ -566,6 +566,284 @@ my $test_param_list = [
             },
         ],
     },
+    {
+        description => 'VMID: none, backups of all guests',
+        storeid => $DEFAULT_STOREID,
+        scfg => $DEFAULT_SCFG,
+        vmid => undef,
+        vtypes => ['backup'],
+        cases => [
+            {
+                file =>
+                    "$DEFAULT_STORAGE_PATH/dump/vzdump-qemu-16110-2020_03_30-21_11_40.vma.gz",
+                expected => {
+                    content => 'backup',
+                    ctime => 1585602700,
+                    format => 'vma.gz',
+                    size => $DEFAULT_SIZE,
+                    subtype => 'qemu',
+                    vmid => '16110',
+                    volid => 'local:backup/vzdump-qemu-16110-2020_03_30-21_11_40.vma.gz',
+                },
+            },
+            {
+                file =>
+                    "$DEFAULT_STORAGE_PATH/dump/vzdump-qemu-16110-2020_03_30-21_12_45.vma.lzo",
+                expected => {
+                    content => 'backup',
+                    ctime => 1585602765,
+                    format => 'vma.lzo',
+                    size => $DEFAULT_SIZE,
+                    subtype => 'qemu',
+                    vmid => '16110',
+                    volid => 'local:backup/vzdump-qemu-16110-2020_03_30-21_12_45.vma.lzo',
+                },
+            },
+            {
+                file => "$DEFAULT_STORAGE_PATH/dump/vzdump-qemu-16110-2020_03_30-21_13_55.vma",
+                expected => {
+                    content => 'backup',
+                    ctime => 1585602835,
+                    format => 'vma',
+                    size => $DEFAULT_SIZE,
+                    subtype => 'qemu',
+                    vmid => '16110',
+                    volid => 'local:backup/vzdump-qemu-16110-2020_03_30-21_13_55.vma',
+                },
+            },
+            {
+                file =>
+                    "$DEFAULT_STORAGE_PATH/dump/vzdump-lxc-16112-2020_03_30-21_39_30.tar.lzo",
+                expected => {
+                    content => 'backup',
+                    ctime => 1585604370,
+                    format => 'tar.lzo',
+                    size => $DEFAULT_SIZE,
+                    subtype => 'lxc',
+                    vmid => '16112',
+                    volid => 'local:backup/vzdump-lxc-16112-2020_03_30-21_39_30.tar.lzo',
+                },
+            },
+            {
+                file =>
+                    "$DEFAULT_STORAGE_PATH/dump/vzdump-lxc-16112-2020_03_30-21_49_30.tar.gz",
+                expected => {
+                    content => 'backup',
+                    ctime => 1585604970,
+                    format => 'tar.gz',
+                    size => $DEFAULT_SIZE,
+                    subtype => 'lxc',
+                    vmid => '16112',
+                    volid => 'local:backup/vzdump-lxc-16112-2020_03_30-21_49_30.tar.gz',
+                },
+            },
+            {
+                file =>
+                    "$DEFAULT_STORAGE_PATH/dump/vzdump-lxc-16112-2020_03_30-21_49_30.tar.zst",
+                expected => {
+                    content => 'backup',
+                    ctime => 1585604970,
+                    format => 'tar.zst',
+                    size => $DEFAULT_SIZE,
+                    subtype => 'lxc',
+                    vmid => '16112',
+                    volid => 'local:backup/vzdump-lxc-16112-2020_03_30-21_49_30.tar.zst',
+                },
+            },
+            {
+                file => "$DEFAULT_STORAGE_PATH/dump/vzdump-lxc-16112-2020_03_30-21_59_30.tgz",
+                expected => {
+                    content => 'backup',
+                    ctime => 1585605570,
+                    format => 'tgz',
+                    size => $DEFAULT_SIZE,
+                    subtype => 'lxc',
+                    vmid => '16112',
+                    volid => 'local:backup/vzdump-lxc-16112-2020_03_30-21_59_30.tgz',
+                },
+            },
+            {
+                file =>
+                    "$DEFAULT_STORAGE_PATH/dump/vzdump-openvz-16112-2020_03_30-21_39_30.tar.bz2",
+                expected => {
+                    content => 'backup',
+                    ctime => 1585604370,
+                    format => 'tar.bz2',
+                    size => $DEFAULT_SIZE,
+                    subtype => 'openvz',
+                    vmid => '16112',
+                    volid => 'local:backup/vzdump-openvz-16112-2020_03_30-21_39_30.tar.bz2',
+                },
+            },
+            {
+                file =>
+                    "$DEFAULT_STORAGE_PATH/dump/vzdump-qemu-16110-2020_03_30-21_13_55.vma.zst",
+                expected => {
+                    content => 'backup',
+                    ctime => 1585602835,
+                    format => 'vma.zst',
+                    size => $DEFAULT_SIZE,
+                    subtype => 'qemu',
+                    vmid => '16110',
+                    volid => 'local:backup/vzdump-qemu-16110-2020_03_30-21_13_55.vma.zst',
+                },
+            },
+            {
+                file =>
+                    "$DEFAULT_STORAGE_PATH/dump/vzdump-lxc-19253-2020_02_03-19_57_43.tar.gz",
+                expected => {
+                    content => 'backup',
+                    ctime => 1580759863,
+                    format => 'tar.gz',
+                    size => $DEFAULT_SIZE,
+                    subtype => 'lxc',
+                    vmid => '19253',
+                    volid => 'local:backup/vzdump-lxc-19253-2020_02_03-19_57_43.tar.gz',
+                },
+            },
+            {
+                file => "$DEFAULT_STORAGE_PATH/dump/vzdump-lxc-19254-2019_01_21-19_29_19.tar",
+                expected => {
+                    content => 'backup',
+                    ctime => 1548098959,
+                    format => 'tar',
+                    size => $DEFAULT_SIZE,
+                    subtype => 'lxc',
+                    vmid => '19254',
+                    volid => 'local:backup/vzdump-lxc-19254-2019_01_21-19_29_19.tar',
+                },
+            },
+            # Arbitrary backups are always included.
+            # Note that in this case, the 'vmid' key does not exist at all,
+            # instead of being set to undef.
+            {
+                file => "$DEFAULT_STORAGE_PATH/dump/some-backup.tar.gz",
+                expected => {
+                    content => 'backup',
+                    ctime => $DEFAULT_CTIME,
+                    format => 'tar.gz',
+                    size => $DEFAULT_SIZE,
+                    subtype => 'unknown',
+                    volid => 'local:backup/some-backup.tar.gz',
+                },
+            },
+        ],
+    },
+    {
+        description => 'VMID: 16112, backups of specific guest',
+        storeid => $DEFAULT_STOREID,
+        scfg => $DEFAULT_SCFG,
+        vmid => 16112,
+        vtypes => ['backup'],
+        cases => [
+            {
+                file =>
+                    "$DEFAULT_STORAGE_PATH/dump/vzdump-qemu-16110-2020_03_30-21_11_40.vma.gz",
+                expected => undef,
+            },
+            {
+                file =>
+                    "$DEFAULT_STORAGE_PATH/dump/vzdump-qemu-16110-2020_03_30-21_12_45.vma.lzo",
+                expected => undef,
+            },
+            {
+                file => "$DEFAULT_STORAGE_PATH/dump/vzdump-qemu-16110-2020_03_30-21_13_55.vma",
+                expected => undef,
+            },
+            {
+                file =>
+                    "$DEFAULT_STORAGE_PATH/dump/vzdump-lxc-16112-2020_03_30-21_39_30.tar.lzo",
+                expected => {
+                    content => 'backup',
+                    ctime => 1585604370,
+                    format => 'tar.lzo',
+                    size => $DEFAULT_SIZE,
+                    subtype => 'lxc',
+                    vmid => '16112',
+                    volid => 'local:backup/vzdump-lxc-16112-2020_03_30-21_39_30.tar.lzo',
+                },
+            },
+            {
+                file =>
+                    "$DEFAULT_STORAGE_PATH/dump/vzdump-lxc-16112-2020_03_30-21_49_30.tar.gz",
+                expected => {
+                    content => 'backup',
+                    ctime => 1585604970,
+                    format => 'tar.gz',
+                    size => $DEFAULT_SIZE,
+                    subtype => 'lxc',
+                    vmid => '16112',
+                    volid => 'local:backup/vzdump-lxc-16112-2020_03_30-21_49_30.tar.gz',
+                },
+            },
+            {
+                file =>
+                    "$DEFAULT_STORAGE_PATH/dump/vzdump-lxc-16112-2020_03_30-21_49_30.tar.zst",
+                expected => {
+                    content => 'backup',
+                    ctime => 1585604970,
+                    format => 'tar.zst',
+                    size => $DEFAULT_SIZE,
+                    subtype => 'lxc',
+                    vmid => '16112',
+                    volid => 'local:backup/vzdump-lxc-16112-2020_03_30-21_49_30.tar.zst',
+                },
+            },
+            {
+                file => "$DEFAULT_STORAGE_PATH/dump/vzdump-lxc-16112-2020_03_30-21_59_30.tgz",
+                expected => {
+                    content => 'backup',
+                    ctime => 1585605570,
+                    format => 'tgz',
+                    size => $DEFAULT_SIZE,
+                    subtype => 'lxc',
+                    vmid => '16112',
+                    volid => 'local:backup/vzdump-lxc-16112-2020_03_30-21_59_30.tgz',
+                },
+            },
+            {
+                file =>
+                    "$DEFAULT_STORAGE_PATH/dump/vzdump-openvz-16112-2020_03_30-21_39_30.tar.bz2",
+                expected => {
+                    content => 'backup',
+                    ctime => 1585604370,
+                    format => 'tar.bz2',
+                    size => $DEFAULT_SIZE,
+                    subtype => 'openvz',
+                    vmid => '16112',
+                    volid => 'local:backup/vzdump-openvz-16112-2020_03_30-21_39_30.tar.bz2',
+                },
+            },
+            {
+                file =>
+                    "$DEFAULT_STORAGE_PATH/dump/vzdump-qemu-16110-2020_03_30-21_13_55.vma.zst",
+                expected => undef,
+            },
+            {
+                file =>
+                    "$DEFAULT_STORAGE_PATH/dump/vzdump-lxc-19253-2020_02_03-19_57_43.tar.gz",
+                expected => undef,
+            },
+            {
+                file => "$DEFAULT_STORAGE_PATH/dump/vzdump-lxc-19254-2019_01_21-19_29_19.tar",
+                expected => undef,
+            },
+            # Arbitrary backups are always included.
+            # In this case the 'vmid' also gets set to the provided one.
+            {
+                file => "$DEFAULT_STORAGE_PATH/dump/some-backup.tar.gz",
+                expected => {
+                    content => 'backup',
+                    ctime => $DEFAULT_CTIME,
+                    format => 'tar.gz',
+                    size => $DEFAULT_SIZE,
+                    subtype => 'unknown',
+                    vmid => 16112,
+                    volid => 'local:backup/some-backup.tar.gz',
+                },
+            },
+        ],
+    },
     {
         description => 'VMID: none, parent, non-matching',
         storeid => $DEFAULT_STOREID,
@@ -1020,6 +1298,194 @@ my $test_param_list = [
     },
 ];

+# Additional test cases that cannot be constructed within the list above
+{
+    my $file_name = "vzdump-qemu-16110-2020_03_30-21_13_55.vma";
+    my $storage_path = File::Temp->newdir() . '/' . $file_name;
+
+    my $backup_vmid_test_params = {
+        description => "VMID: 16110, file name in path of storage",
+        storeid => $DEFAULT_STOREID,
+        scfg => {
+            type => 'dir',
+            path => $storage_path,
+            shared => 0,
+            content => {
+                backup => 1,
+            },
+        },
+        vmid => 16110,
+        vtypes => ['backup'],
+        cases => [
+            {
+                file => "$storage_path/dump/$file_name",
+                expected => {
+                    content => 'backup',
+                    ctime => 1585602835,
+                    format => 'vma',
+                    size => $DEFAULT_SIZE,
+                    subtype => 'qemu',
+                    vmid => '16110',
+                    volid => "local:backup/$file_name",
+                },
+            },
+        ],
+    };
+
+    push($test_param_list->@*, $backup_vmid_test_params);
+}
+
+{
+    my $file_name = "vzdump-qemu-16110-2020_03_30-21_13_55.vma";
+    my $storage_path = File::Temp->newdir();
+
+    my $backup_vmid_test_params = {
+        description => "VMID: 16110, file name in vtype subdir of 'backup' vtype",
+        storeid => $DEFAULT_STOREID,
+        scfg => {
+            type => 'dir',
+            path => $storage_path,
+            shared => 0,
+            content => {
+                backup => 1,
+            },
+            'content-dirs' => {
+                backup => $file_name,
+            },
+        },
+        vmid => 16110,
+        vtypes => ['backup'],
+        cases => [
+            {
+                file => "$storage_path/$file_name/$file_name",
+                expected => {
+                    content => 'backup',
+                    ctime => 1585602835,
+                    format => 'vma',
+                    size => $DEFAULT_SIZE,
+                    subtype => 'qemu',
+                    vmid => '16110',
+                    volid => "local:backup/$file_name",
+                },
+            },
+        ],
+    };
+
+    push($test_param_list->@*, $backup_vmid_test_params);
+}
+
+{
+    my $file_name = "vzdump-qemu-16110-2020_03_30-21_13_55.vma";
+    my $storage_path = File::Temp->newdir() . '/' . $file_name;
+
+    my $backup_vmid_test_params = {
+        description => "VMID: 16110, file name in storage path and subdir of 'backup' vtype",
+        storeid => $DEFAULT_STOREID,
+        scfg => {
+            type => 'dir',
+            path => $storage_path,
+            shared => 0,
+            content => {
+                backup => 1,
+            },
+            'content-dirs' => {
+                backup => $file_name,
+            },
+        },
+        vmid => 16110,
+        vtypes => ['backup'],
+        cases => [
+            {
+                file => "$storage_path/$file_name/$file_name",
+                expected => {
+                    content => 'backup',
+                    ctime => 1585602835,
+                    format => 'vma',
+                    size => $DEFAULT_SIZE,
+                    subtype => 'qemu',
+                    vmid => '16110',
+                    volid => "local:backup/$file_name",
+                },
+            },
+        ],
+    };
+
+    push($test_param_list->@*, $backup_vmid_test_params);
+}
+
+{
+    my $file_name = "vzdump-qemu-16110-2020_03_30-21_13_55.vma";
+    my $storage_path = File::Temp->newdir() . '/' . $file_name;
+
+    my $backup_vmid_test_params = {
+        description =>
+            "VMID: 19253, file name with different VMID in storage path and subdir of 'backup' vtype",
+        storeid => $DEFAULT_STOREID,
+        scfg => {
+            type => 'dir',
+            path => $storage_path,
+            shared => 0,
+            content => {
+                backup => 1,
+            },
+            'content-dirs' => {
+                backup => $file_name,
+            },
+        },
+        vmid => 19253,
+        vtypes => ['backup'],
+        cases => [
+            {
+                file => "$storage_path/$file_name/vzdump-lxc-19253-2020_02_03-19_57_43.tar.gz",
+                expected => {
+                    content => 'backup',
+                    ctime => 1580759863,
+                    format => 'tar.gz',
+                    size => $DEFAULT_SIZE,
+                    subtype => 'lxc',
+                    vmid => '19253',
+                    volid => 'local:backup/vzdump-lxc-19253-2020_02_03-19_57_43.tar.gz',
+                },
+            },
+        ],
+    };
+
+    push($test_param_list->@*, $backup_vmid_test_params);
+}
+
+{
+    my $file_name = "vzdump-qemu-16110-2020_03_30-21_13_55.vma";
+    my $storage_path = File::Temp->newdir() . '/' . $file_name;
+
+    my $backup_vmid_test_params = {
+        description =>
+            "VMID: none, file name in storage path and subdir of 'backup' vtype, no backups",
+        storeid => $DEFAULT_STOREID,
+        scfg => {
+            type => 'dir',
+            path => $storage_path,
+            shared => 0,
+            content => {
+                backup => 1,
+                snippets => 1,
+            },
+            'content-dirs' => {
+                backup => $file_name,
+            },
+        },
+        vmid => 19253,
+        vtypes => ['backup'],
+        cases => [
+            {
+                file => "$storage_path/snippets/hookscript.pl",
+                expected => undef,
+            },
+        ],
+    };
+
+    push($test_param_list->@*, $backup_vmid_test_params);
+}
+
 # provide static vmlist for tests
 my $mock_cluster = Test::MockModule->new('PVE::Cluster', no_auto => 1);
 $mock_cluster->redefine(get_vmlist => sub { return $mocked_vmlist; });
--
2.47.3





  parent reply	other threads:[~2026-04-22 11:17 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-22 11:12 [PATCH pve-storage, pve-manager v1 00/54] Fix #2884: Implement Subdirectory Scanning for Dir-Based Storage Types Max R. Carrara
2026-04-22 11:12 ` [PATCH pve-storage v1 01/54] test: plugin tests: run tests with at most 4 jobs Max R. Carrara
2026-04-22 11:12 ` [PATCH pve-storage v1 02/54] plugin, common: remove superfluous use of =pod command paragraph Max R. Carrara
2026-04-22 11:12 ` [PATCH pve-storage v1 03/54] common: add POD headings for groups of helpers Max R. Carrara
2026-04-22 11:12 ` [PATCH pve-storage v1 04/54] common: use Exporter module for PVE::Storage::Common Max R. Carrara
2026-04-22 11:12 ` [PATCH pve-storage v1 05/54] plugin: make get_subdir_files a proper subroutine and update style Max R. Carrara
2026-04-22 11:12 ` [PATCH pve-storage v1 06/54] plugin api: replace helpers w/ standalone subs, bump API version & age Max R. Carrara
2026-04-22 11:12 ` [PATCH pve-storage v1 07/54] common: prevent autovivification in plugin_get_vtype_subdir helper Max R. Carrara
2026-04-22 11:12 ` [PATCH pve-storage v1 08/54] plugin: break up needless if-elsif chain into separate if-blocks Max R. Carrara
2026-04-22 11:12 ` [PATCH pve-storage v1 09/54] plugin: adapt get_subdir_files helper of list_volumes API method Max R. Carrara
2026-04-22 11:12 ` [PATCH pve-storage v1 10/54] plugin: update code style of list_volumes plugin " Max R. Carrara
2026-04-22 11:12 ` [PATCH pve-storage v1 11/54] plugin: use closure for obtaining raw volume data in list_volumes Max R. Carrara
2026-04-22 11:12 ` [PATCH pve-storage v1 12/54] plugin: use closure for inner loop logic " Max R. Carrara
2026-04-22 11:12 ` [PATCH pve-storage v1 13/54] storage: update code style in function path_to_volume_id Max R. Carrara
2026-04-22 11:12 ` [PATCH pve-storage v1 14/54] storage: break up needless if-elsif chain in path_to_volume_id Max R. Carrara
2026-04-22 11:12 ` [PATCH pve-storage v1 15/54] storage: heave vtype file path parsing logic inside loop into helper Max R. Carrara
2026-04-22 11:12 ` [PATCH pve-storage v1 16/54] storage: clean up code that was moved into helper in path_to_volume_id Max R. Carrara
2026-04-22 11:12 ` [PATCH pve-storage v1 17/54] api: status: move content type assert for up-/downloads into helper Max R. Carrara
2026-04-22 11:12 ` [PATCH pve-storage v1 18/54] api: status: use helper from common module to get content directory Max R. Carrara
2026-04-22 11:12 ` [PATCH pve-storage v1 19/54] api: status: move up-/download file path parsing code into helper Max R. Carrara
2026-04-22 11:12 ` [PATCH pve-storage v1 20/54] api: status: simplify file content assertion logic for up-/download Max R. Carrara
2026-04-22 11:12 ` [PATCH pve-storage v1 21/54] test: guest import: add tests for PVE::GuestImport Max R. Carrara
2026-04-22 11:12 ` [PATCH pve-storage v1 22/54] tree-wide: introduce parsing module and replace usages of ISO_EXT_RE_0 Max R. Carrara
2026-04-22 11:12 ` [PATCH pve-storage v1 23/54] common: test: set up parser testing code, add tests for 'iso' vtype Max R. Carrara
2026-04-22 11:12 ` [PATCH pve-storage v1 24/54] tree-wide: replace usages of VZTMPL_EXT_RE_1 with parsing functions Max R. Carrara
2026-04-22 11:12 ` [PATCH pve-storage v1 25/54] tree-wide: replace usages of BACKUP_EXT_RE_2 " Max R. Carrara
2026-04-22 11:12 ` [PATCH pve-storage v1 26/54] tree-wide: replace usages of inline regexes for snippets with parsers Max R. Carrara
2026-04-22 11:12 ` [PATCH pve-storage v1 27/54] tree-wide: partially replace usages of regexes for 'import' vtype Max R. Carrara
2026-04-22 11:12 ` [PATCH pve-storage v1 28/54] tree-wide: replace remaining " Max R. Carrara
2026-04-22 11:12 ` [PATCH pve-storage v1 29/54] plugin: simplify recently refactored logic in parse_volname method Max R. Carrara
2026-04-22 11:12 ` [PATCH pve-storage v1 30/54] plugin: simplify recently refactored logic in get_subdir_files helper Max R. Carrara
2026-04-22 11:12 ` [PATCH pve-storage v1 31/54] storage: simplify recently refactored logic in path_to_volume_id sub Max R. Carrara
2026-04-22 11:12 ` [PATCH pve-storage v1 32/54] api: status: simplify recently added parsing helper for file transfers Max R. Carrara
2026-04-22 11:12 ` [PATCH pve-storage v1 33/54] plugin: use parsing helper in parse_volume_id sub Max R. Carrara
2026-04-22 11:13 ` [PATCH pve-storage v1 34/54] test: list volumes: reorganize and modernize test running code Max R. Carrara
2026-04-22 11:13 ` [PATCH pve-storage v1 35/54] test: list volumes: fix broken test checking for vmlist modifications Max R. Carrara
2026-04-22 11:13 ` [PATCH pve-storage v1 36/54] test: list volumes: introduce new format for test cases Max R. Carrara
2026-04-22 11:13 ` [PATCH pve-storage v1 37/54] test: list volumes: remove legacy code and migrate cases to new format Max R. Carrara
2026-04-22 11:13 ` [PATCH pve-storage v1 38/54] test: list volumes: document behavior wrt. undeclared content types Max R. Carrara
2026-04-22 11:13 ` Max R. Carrara [this message]
2026-04-22 11:13 ` [PATCH pve-storage v1 40/54] test: parse volname: modernize code Max R. Carrara
2026-04-22 11:13 ` [PATCH pve-storage v1 41/54] test: parse volname: adapt tests regarding 'import' volume type Max R. Carrara
2026-04-22 11:13 ` [PATCH pve-storage v1 42/54] test: parse volname: move VM disk test creation into separate block Max R. Carrara
2026-04-22 11:13 ` [PATCH pve-storage v1 43/54] test: parse volname: move backup file test creation into sep. block Max R. Carrara
2026-04-22 11:13 ` [PATCH pve-storage v1 44/54] test: parse volname: parameterize test case creation for some vtypes Max R. Carrara
2026-04-22 11:13 ` [PATCH pve-storage v1 45/54] test: volume id: modernize code Max R. Carrara
2026-04-22 11:13 ` [PATCH pve-storage v1 46/54] test: volume id: rename 'volname' test case parameter to 'file' Max R. Carrara
2026-04-22 11:13 ` [PATCH pve-storage v1 47/54] test: filesystem path: modernize code Max R. Carrara
2026-04-22 11:13 ` [PATCH pve-storage v1 48/54] fix #2884: implement nested subdir scanning and support 'iso' vtype Max R. Carrara
2026-04-22 11:13 ` [PATCH pve-storage v1 49/54] fix #2884: support nested subdir scanning for 'vztmpl' volume type Max R. Carrara
2026-04-22 11:13 ` [PATCH pve-storage v1 50/54] fix #2884: support nested subdir scanning for 'snippets' vtype Max R. Carrara
2026-04-22 11:13 ` [PATCH pve-storage v1 51/54] test: add more tests for 'import' vtype & guard against nested subdirs Max R. Carrara
2026-04-22 11:13 ` [PATCH pve-storage v1 52/54] test: add tests guarding against subdir scanning for vtypes Max R. Carrara
2026-04-22 11:13 ` [PATCH pve-storage v1 53/54] storage api: mark old public regexes for removal, bump APIVER & APIAGE Max R. Carrara
2026-04-22 11:13 ` [PATCH pve-manager v1 54/54] fix #2884: ui: storage: add field for 'max-scan-depth' property Max R. Carrara

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=20260422111322.257380-40-m.carrara@proxmox.com \
    --to=m.carrara@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