The LVM plugin can only use qcow2 format when the 'snapshot-as-volume-chain' configuration option is set. The format information is currently only recorded statically in the plugin data. This causes issues, for example, restoring a guest volume that uses qcow2 as a format hint on an LVM storage without the option set will fail, because the plugin data indicates that qcow2 is supported. Introduce a dedicated method, so that plugins can indicate what actually is supported according to the storage configuration.
In case the 'snapshot-as-volume-chain' option is set for the LVM storage, qcow2 is even preferred and thus declared the default format. As a second step, a dedicated resolve_format_hint() helper is introduced. That second part requires a dependency and a breaks between qemu-server and pve-storage. storage: Fiona Ebner (6): api change log: improve style consistency a bit plugin: add get_formats() method and use it instead of default_format() lvm plugin: implement get_formats() method api: status: rely on get_formats() method for determining format-related info introduce resolve_format_hint() helper default format helper: only return default format ApiChangeLog | 22 +++++++++---- src/PVE/API2/Storage/Status.pm | 6 ---- src/PVE/Storage.pm | 32 ++++++++++++------ src/PVE/Storage/LVMPlugin.pm | 10 ++++++ src/PVE/Storage/Plugin.pm | 59 +++++++++++++++++++++++----------- 5 files changed, 88 insertions(+), 41 deletions(-) qemu-server: Fiona Ebner (3): make tidy resolve destination disk format helper: drop unused variable use storage layer's resolve_format_hint() helper where appropriate src/PVE/API2/Qemu/HMPPerms.pm | 2 +- src/PVE/QemuServer.pm | 29 ++++++++--------------------- src/PVE/VZDump/QemuServer.pm | 5 ++--- 3 files changed, 11 insertions(+), 25 deletions(-) Summary over all repositories: 8 files changed, 99 insertions(+), 66 deletions(-) -- Generated by git-murpp 0.5.0 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel