all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: "Max R. Carrara" <m.carrara@proxmox.com>
To: "Proxmox VE development discussion" <pve-devel@lists.proxmox.com>
Subject: Re: [pve-devel] [PATCH-SERIES storage/qemu-server 0/9] storage configuration-dependent format info
Date: Mon, 21 Jul 2025 18:26:08 +0200	[thread overview]
Message-ID: <DBHVGM7DJS67.2S66RH3FKM8AF@proxmox.com> (raw)
In-Reply-To: <20250721121124.77526-1-f.ebner@proxmox.com>

On Mon Jul 21, 2025 at 2:10 PM CEST, Fiona Ebner wrote:
> 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.

Review
------

No surprises here in terms of the code itself; the commits are easy to
follow as well. Can't spot anything that's off. I'm also always happy to
see a docstring being added ;P

I've also double-checked whether the removal of Plugin::default_format()
was fine; a quick `rg` through all my local repositories didn't spot
anything at least.

Testing
-------

Built this series by building pve-storage first, installing it, and then
building qemu-server. (Took me a hot minute to find that out though,
since I had skimmed over your note regarding dependency updates / breaks
above, woops.)

Tested this by configuring a fresh LVM (thick) storage with
storage-managed snapshots, installing a new Debian VM, and then running
a snapshot as well as a rollback after making a couple changes inside
the VM. 

Haven't noticed anything off in regards to this series overall.

Summary
-------

Seems to do what it says on the tin, so... LGTM.

Consider:

Reviewed-by: Max R. Carrara <m.carrara@proxmox.com>
Tested-by: Max R. Carrara <m.carrara@proxmox.com>

>
> 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(-)



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


  parent reply	other threads:[~2025-07-21 16:25 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-21 12:10 Fiona Ebner
2025-07-21 12:10 ` [pve-devel] [PATCH storage 1/9] api change log: improve style consistency a bit Fiona Ebner
2025-07-21 12:10 ` [pve-devel] [PATCH storage 2/9] plugin: add get_formats() method and use it instead of default_format() Fiona Ebner
2025-07-22 12:13   ` Wolfgang Bumiller
2025-07-21 12:10 ` [pve-devel] [PATCH storage 3/9] lvm plugin: implement get_formats() method Fiona Ebner
2025-07-21 12:10 ` [pve-devel] [PATCH storage 4/9] api: status: rely on get_formats() method for determining format-related info Fiona Ebner
2025-07-21 12:10 ` [pve-devel] [PATCH storage 5/9] introduce resolve_format_hint() helper Fiona Ebner
2025-07-21 12:10 ` [pve-devel] [PATCH storage 6/9] default format helper: only return default format Fiona Ebner
2025-07-21 12:10 ` [pve-devel] [PATCH qemu-server 7/9] make tidy Fiona Ebner
2025-07-21 12:10 ` [pve-devel] [PATCH qemu-server 8/9] resolve destination disk format helper: drop unused variable Fiona Ebner
2025-07-21 12:10 ` [pve-devel] [PATCH qemu-server 9/9] use storage layer's resolve_format_hint() helper where appropriate Fiona Ebner
2025-07-21 16:26 ` Max R. Carrara [this message]
2025-07-22 13:03 ` [pve-devel] applied-series: [PATCH-SERIES storage/qemu-server 0/9] storage configuration-dependent format info Wolfgang Bumiller
2025-07-22 14:17   ` Max R. Carrara
2025-07-23 11:49     ` Wolfgang Bumiller

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=DBHVGM7DJS67.2S66RH3FKM8AF@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal