[pve-devel] superseded: [PATCH storage/qemu-server 0/5] avoid absolute qcow2 references

Fabian Grünbichler f.gruenbichler at proxmox.com
Tue Jul 29 14:02:34 CEST 2025


by https://lore.proxmox.com/pve-devel/20250729115320.579286-1-f.gruenbichler@proxmox.com/T/#t

On July 29, 2025 9:38 am, Fabian Grünbichler wrote:
> we don't want qcow2 files to reference their backing chains via
> absolute paths, as that makes renaming the base dir or VG of the storage
> impossible. in most places, qemu already allows simply passing a
> filename as backing-file reference, which will be interpreted as a
> reference relative to the backed image.
> 
> I haven't found any further code paths that trigger absolute references,
> but I might have missed some. the full backing chain should show
> relative backing-file members when queried via
> 
> qemu-img info --output json --format qcow2 --backing-chain /path/to/main/image.qcow2
> 
> such, as:
> 
>         "full-backing-filename": "/var/lib/extsnap/images/210/snap-test2-vm-210-disk-0.qcow2",
>         "backing-filename": "snap-test2-vm-210-disk-0.qcow2",
> 
> note that full-backing-filename will always contain the resolved,
> absolute path and that is okay. we could warn about both members
> containing full paths in `volume_snapshot_info`.
> 
> for existing "broken" images, an "unsafe" rebase with
> 
> qemu-img rebase -u -f qcow2 -F qcow2 -b <relative backing file path> <absolute backed filed path>
> 
> should just rewrite the qcow2 header to replace the backing file
> reference - this should of course not be run while the image is being
> written by other process or QEMU.
> 
> pve-storage:
> 
> Fabian Grünbichler (4):
>   plugin: fix typo in rebase log message
>   lvm plugin: fix typo in rebase log message
>   plugin: use relative path for qcow2 rebase command
>   lvm plugin: use relative path for qcow2 rebase command
> 
>  src/PVE/Storage/LVMPlugin.pm | 5 +++--
>  src/PVE/Storage/Plugin.pm    | 6 +++---
>  2 files changed, 6 insertions(+), 5 deletions(-)
> 
> qemu-server:
> 
> Fabian Grünbichler (1):
>   blockdev-stream/-commit: make backing file relative
> 
>  src/PVE/QemuServer/Blockdev.pm | 19 +++++++++++++++++--
>  1 file changed, 17 insertions(+), 2 deletions(-)
> 
> -- 
> 2.39.5
> 
> 
> 
> _______________________________________________
> pve-devel mailing list
> pve-devel at lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
> 




More information about the pve-devel mailing list