question - do we also want to add them to existing configs on updates? or on RMW cycles, always implying that as long as images is set vm-vol is also set, and same for rootdir ct-vol (but obviously not the other way round ;))?
that might allow us to get rid of some of the extra compat mapping in code.. On July 29, 2025 1:15 pm, Wolfgang Bumiller wrote: > Signed-off-by: Wolfgang Bumiller <w.bumil...@proxmox.com> > --- > src/PVE/Storage/BTRFSPlugin.pm | 4 +++- > src/PVE/Storage/CIFSPlugin.pm | 4 +++- > src/PVE/Storage/DirPlugin.pm | 4 +++- > src/PVE/Storage/ISCSIDirectPlugin.pm | 2 +- > src/PVE/Storage/ISCSIPlugin.pm | 2 +- > src/PVE/Storage/LVMPlugin.pm | 10 +++++++++- > src/PVE/Storage/LvmThinPlugin.pm | 15 ++++++++++++++- > src/PVE/Storage/NFSPlugin.pm | 4 +++- > src/PVE/Storage/RBDPlugin.pm | 10 +++++++++- > src/PVE/Storage/ZFSPlugin.pm | 2 +- > src/PVE/Storage/ZFSPoolPlugin.pm | 15 ++++++++++++++- > 11 files changed, 61 insertions(+), 11 deletions(-) > > diff --git a/src/PVE/Storage/BTRFSPlugin.pm b/src/PVE/Storage/BTRFSPlugin.pm > index bd2c0bf..d1c0cf9 100644 > --- a/src/PVE/Storage/BTRFSPlugin.pm > +++ b/src/PVE/Storage/BTRFSPlugin.pm > @@ -35,6 +35,8 @@ sub plugindata { > { > images => 1, > rootdir => 1, > + 'vm-vol' => 1, > + 'ct-vol' => 1, > vztmpl => 1, > iso => 1, > backup => 1, > @@ -42,7 +44,7 @@ sub plugindata { > none => 1, > import => 1, > }, > - { images => 1, rootdir => 1 }, > + { 'vm-vol' => 1, 'ct-vol' => 1, images => 1, rootdir => 1 }, > ], > format => [{ raw => 1, subvol => 1 }, 'raw'], > 'sensitive-properties' => {}, > diff --git a/src/PVE/Storage/CIFSPlugin.pm b/src/PVE/Storage/CIFSPlugin.pm > index 75d89c1..5d59c7c 100644 > --- a/src/PVE/Storage/CIFSPlugin.pm > +++ b/src/PVE/Storage/CIFSPlugin.pm > @@ -102,13 +102,15 @@ sub plugindata { > { > images => 1, > rootdir => 1, > + 'vm-vol' => 1, > + 'ct-vol' => 1, > vztmpl => 1, > iso => 1, > backup => 1, > snippets => 1, > import => 1, > }, > - { images => 1 }, > + { 'vm-vol' => 1, images => 1 }, > ], > format => [{ raw => 1, qcow2 => 1, vmdk => 1 }, 'raw'], > 'sensitive-properties' => { password => 1 }, > diff --git a/src/PVE/Storage/DirPlugin.pm b/src/PVE/Storage/DirPlugin.pm > index 9d15f33..53aded3 100644 > --- a/src/PVE/Storage/DirPlugin.pm > +++ b/src/PVE/Storage/DirPlugin.pm > @@ -28,6 +28,8 @@ sub plugindata { > { > images => 1, > rootdir => 1, > + 'vm-vol' => 1, > + 'ct-vol' => 1, > vztmpl => 1, > iso => 1, > backup => 1, > @@ -35,7 +37,7 @@ sub plugindata { > none => 1, > import => 1, > }, > - { images => 1, rootdir => 1 }, > + { 'vm-vol' => 1, 'ct-vol' => 1, images => 1, rootdir => 1 }, > ], > format => [{ raw => 1, qcow2 => 1, vmdk => 1, subvol => 1 }, 'raw'], > 'sensitive-properties' => {}, > diff --git a/src/PVE/Storage/ISCSIDirectPlugin.pm > b/src/PVE/Storage/ISCSIDirectPlugin.pm > index 62e9026..069a41f 100644 > --- a/src/PVE/Storage/ISCSIDirectPlugin.pm > +++ b/src/PVE/Storage/ISCSIDirectPlugin.pm > @@ -64,7 +64,7 @@ sub type { > > sub plugindata { > return { > - content => [{ images => 1, none => 1 }, { images => 1 }], > + content => [{ 'vm-vol' => 1, images => 1, none => 1 }, { 'vm-vol' => > 1, images => 1 }], > select_existing => 1, > 'sensitive-properties' => {}, > }; > diff --git a/src/PVE/Storage/ISCSIPlugin.pm b/src/PVE/Storage/ISCSIPlugin.pm > index 7691ec6..7b30955 100644 > --- a/src/PVE/Storage/ISCSIPlugin.pm > +++ b/src/PVE/Storage/ISCSIPlugin.pm > @@ -334,7 +334,7 @@ sub type { > > sub plugindata { > return { > - content => [{ images => 1, none => 1 }, { images => 1 }], > + content => [{ 'vm-vol' => 1, images => 1, none => 1 }, { 'vm-vol' => > 1, images => 1 }], > select_existing => 1, > 'sensitive-properties' => {}, > }; > diff --git a/src/PVE/Storage/LVMPlugin.pm b/src/PVE/Storage/LVMPlugin.pm > index c1f5474..6694cf2 100644 > --- a/src/PVE/Storage/LVMPlugin.pm > +++ b/src/PVE/Storage/LVMPlugin.pm > @@ -354,7 +354,15 @@ sub type { > > sub plugindata { > return { > - content => [{ images => 1, rootdir => 1 }, { images => 1 }], > + content => [ > + { > + 'vm-vol' => 1, > + 'ct-vol' => 1, > + images => 1, > + rootdir => 1, > + }, > + { 'vm-vol' => 1, images => 1 }, > + ], > format => [{ raw => 1, qcow2 => 1 }, 'raw'], > 'sensitive-properties' => {}, > }; > diff --git a/src/PVE/Storage/LvmThinPlugin.pm > b/src/PVE/Storage/LvmThinPlugin.pm > index ccefd0e..cdf0fd0 100644 > --- a/src/PVE/Storage/LvmThinPlugin.pm > +++ b/src/PVE/Storage/LvmThinPlugin.pm > @@ -30,7 +30,20 @@ sub type { > > sub plugindata { > return { > - content => [{ images => 1, rootdir => 1 }, { images => 1, rootdir => > 1 }], > + content => [ > + { > + 'vm-vol' => 1, > + 'ct-vol' => 1, > + images => 1, > + rootdir => 1, > + }, > + { > + 'vm-vol' => 1, > + 'ct-vol' => 1, > + images => 1, > + rootdir => 1, > + }, > + ], > 'sensitive-properties' => {}, > }; > } > diff --git a/src/PVE/Storage/NFSPlugin.pm b/src/PVE/Storage/NFSPlugin.pm > index a8339ef..4c23cd5 100644 > --- a/src/PVE/Storage/NFSPlugin.pm > +++ b/src/PVE/Storage/NFSPlugin.pm > @@ -57,13 +57,15 @@ sub plugindata { > { > images => 1, > rootdir => 1, > + 'vm-vol' => 1, > + 'ct-vol' => 1, > vztmpl => 1, > iso => 1, > backup => 1, > snippets => 1, > import => 1, > }, > - { images => 1 }, > + { 'vm-vol' => 1, images => 1 }, > ], > format => [{ raw => 1, qcow2 => 1, vmdk => 1 }, 'raw'], > 'sensitive-properties' => {}, > diff --git a/src/PVE/Storage/RBDPlugin.pm b/src/PVE/Storage/RBDPlugin.pm > index cf371c7..9f95c73 100644 > --- a/src/PVE/Storage/RBDPlugin.pm > +++ b/src/PVE/Storage/RBDPlugin.pm > @@ -392,7 +392,15 @@ sub type { > > sub plugindata { > return { > - content => [{ images => 1, rootdir => 1 }, { images => 1 }], > + content => [ > + { > + 'vm-vol' => 1, > + 'ct-vol' => 1, > + images => 1, > + rootdir => 1, > + }, > + { 'vm-vol' => 1, images => 1 }, > + ], > 'sensitive-properties' => { keyring => 1 }, > }; > } > diff --git a/src/PVE/Storage/ZFSPlugin.pm b/src/PVE/Storage/ZFSPlugin.pm > index 99d8c8f..a05f521 100644 > --- a/src/PVE/Storage/ZFSPlugin.pm > +++ b/src/PVE/Storage/ZFSPlugin.pm > @@ -175,7 +175,7 @@ sub type { > > sub plugindata { > return { > - content => [{ images => 1 }, { images => 1 }], > + content => [{ 'vm-vol' => 1, images => 1 }, { 'vm-vol' => 1, images > => 1 }], > 'sensitive-properties' => {}, > }; > } > diff --git a/src/PVE/Storage/ZFSPoolPlugin.pm > b/src/PVE/Storage/ZFSPoolPlugin.pm > index cdf5868..0152c89 100644 > --- a/src/PVE/Storage/ZFSPoolPlugin.pm > +++ b/src/PVE/Storage/ZFSPoolPlugin.pm > @@ -20,7 +20,20 @@ sub type { > > sub plugindata { > return { > - content => [{ images => 1, rootdir => 1 }, { images => 1, rootdir => > 1 }], > + content => [ > + { > + 'vm-vol' => 1, > + 'ct-vol' => 1, > + images => 1, > + rootdir => 1, > + }, > + { > + 'vm-vol' => 1, > + 'ct-vol' => 1, > + images => 1, > + rootdir => 1, > + }, > + ], > format => [{ raw => 1, subvol => 1 }, 'raw'], > 'sensitive-properties' => {}, > }; > -- > 2.47.2 > > > > _______________________________________________ > pve-devel mailing list > pve-devel@lists.proxmox.com > https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel > > > _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel