[pve-devel] [PATCH storage 26/26] update ApiChangeLog

Wolfgang Bumiller w.bumiller at proxmox.com
Tue Jul 29 13:15:39 CEST 2025


Signed-off-by: Wolfgang Bumiller <w.bumiller at proxmox.com>
---
 ApiChangeLog | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

diff --git a/ApiChangeLog b/ApiChangeLog
index d80bfb3..ff85ee0 100644
--- a/ApiChangeLog
+++ b/ApiChangeLog
@@ -57,6 +57,59 @@ Future changes should be documented in here.
   which can override the default format. Must be implemented when the supported formats or default
   format depend on the storage configuration.
 
+* There are now 2 new content types: "vm-vol" and "ct-vol", deprecating "images" and "rootdir"
+  types.
+
+  These represent VM volumes and container volumes respectively.
+
+  Usually, the legacy type "images" should *include* the new "vm-vol" type, and the legacy type
+  "rootdir" should *include* the new "ct-vol" type, but *not* the other way round. See the
+  description of `list_images` below.
+
+* The `get_subdir()` method may now be passed "vm-vol" or "ct-vol".
+
+  Ideally these should map to directories separate from "images" and "rootdir", but as long as the
+  behavior of the other API methods works as intended, this is not strictly necessary.
+
+* Add `type` parameter to `list_images`.
+
+  If this is not set, *all* images should be returned.
+
+  - If `undef`, all volumes should be listed, legacy as well as vm-vol/ct-vol typed.
+  - For "images", this should return *all* untyped volumes *and* the ones of type "vm-vol".
+  - For "rootdir", this should return *all* untyped volumes *and* the ones of type "ct-vol".
+  - For "vm-vol", only volumes expicitly allocated with type "vm-vol" should be listed.
+  - For "ct-vol", only volumes expicitly allocated with type "ct-vol" should be listed.
+
+* Add `type` parameter to `alloc_image`.
+
+  This parameter can be "vm-vol" or "ct-vol", and the storage plugin *should* store this alongside
+  the volumes (this can for instance be done via a naming convention). The type passed here is the
+  which should be returned in `list_images` and `parse_volname`.
+
+  Legacy plugins inevitably ignore this and create volumes of legacy types.
+
+  Note that "images" and "rootdir" will never be passed explicitly as these are considered
+  deprecated.
+
+* Add a `vtype` entry to `list_images` return type.
+
+  For volumes which are known to be of type "vm-vol" or "ct-vol" the plugin *must* include a `vtype`
+  entry containing one of these values in the returned items.
+  For volumes without a type (eg. volumes created by previous versions of the plugin), the field
+  should not be set.
+
+* Add `type` parameter to `clone_image`.
+
+  If the `type` is set, transitioning from a new vtype ("vm-vol" or "ct-vol") to the old "images" or
+  "rootdir" types must be rejected, while transitioning *to* the new vtypes should be allowed.
+
+  The helper `PVE::Storage::Common::is_vtype_change_allowed(from, to)` can be used for this check.
+
+* Add `import_type` parameter to `volume_import`.
+
+  The behavior should be similar to `rename_volume`.
+
 ##  Version 11:
 
 * Allow declaring storage features via plugin data
-- 
2.47.2





More information about the pve-devel mailing list