From: "Fabian Grünbichler" <f.gruenbichler@proxmox.com>
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>
Subject: [pve-devel] applied-series: [PATCH-SERIES qemu-server v2 0/8] blockdev and snapshot-as-volume-chain on LVM fixes
Date: Fri, 25 Jul 2025 14:15:29 +0200 [thread overview]
Message-ID: <1753445470.v5oz7vpfnv.astroid@yuna.none> (raw)
In-Reply-To: <20250725105109.54093-1-f.ebner@proxmox.com>
without the last patch, as discussed off-list - it's a bit involved,
we'll see if we can find a better way to handle this, and for the
current stop-gap measure the simple approach is good enough.
added a FIXME instead so we don't forget.
On July 25, 2025 12:50 pm, Fiona Ebner wrote:
> Changes in v2:
> * add missing check for qcow2 format for qemu-img convert
> * add patch to improve File::stat mocking in tests
> * add patch to re-use blockdev infrastructure for qemu-img case
>
> First part is fixing discard in combination with -blockdev. The option
> needs to be set for the whole throttle->fmt->file chain to make it
> work.
>
> Second part is fixing bug #6543, qcow2 can grow beyond what qemu-img
> measure reports, because of fragmentation when the discard-no-unref
> option is not used.
>
> There is a fix-6543 branch on my staff repo, should the patches
> touching tests be messed up again because of the overly long line in
> the expected test output.
>
> Fiona Ebner (8):
> blockdev: helper to add common options
> blockdev: fix discard
> tests: image convert: avoid hard-coded VM ID in result
> tests: image convert: properly set snapshot-as-volume-chain option
> tests: image convert: add tests where storages with
> 'snapshot-as-volume-chain' are the target
> fix #6543: use qcow2 'discard-no-unref' option when using
> snapshot-as-volume-chain
> tests: cfg2cmd: improve mocking File::stat
> image convert: re-use generate_drive_blockdev()
>
> src/PVE/QemuServer/Blockdev.pm | 36 +++++++---
> src/PVE/QemuServer/QemuImage.pm | 72 +++++++++++++++++++
> src/test/cfg2cmd/aio.conf.cmd | 28 ++++----
> src/test/cfg2cmd/bootorder-empty.conf.cmd | 6 +-
> src/test/cfg2cmd/bootorder-legacy.conf.cmd | 6 +-
> src/test/cfg2cmd/bootorder.conf.cmd | 6 +-
> ...putype-icelake-client-deprecation.conf.cmd | 2 +-
> .../cfg2cmd/efi-ovmf-without-efidisk.conf.cmd | 2 +-
> src/test/cfg2cmd/efi-raw-template.conf.cmd | 2 +-
> src/test/cfg2cmd/efi-raw.conf.cmd | 2 +-
> .../cfg2cmd/efi-secboot-and-tpm-q35.conf.cmd | 2 +-
> src/test/cfg2cmd/efi-secboot-and-tpm.conf.cmd | 2 +-
> src/test/cfg2cmd/efidisk-on-rbd.conf.cmd | 2 +-
> src/test/cfg2cmd/ide.conf.cmd | 2 +-
> src/test/cfg2cmd/q35-ide.conf.cmd | 2 +-
> .../q35-linux-hostpci-mapping.conf.cmd | 2 +-
> .../q35-linux-hostpci-multifunction.conf.cmd | 2 +-
> .../q35-linux-hostpci-template.conf.cmd | 4 +-
> ...q35-linux-hostpci-x-pci-overrides.conf.cmd | 2 +-
> src/test/cfg2cmd/q35-linux-hostpci.conf.cmd | 2 +-
> src/test/cfg2cmd/q35-simple.conf.cmd | 2 +-
> src/test/cfg2cmd/seabios_serial.conf.cmd | 2 +-
> src/test/cfg2cmd/sev-es.conf.cmd | 2 +-
> src/test/cfg2cmd/sev-std.conf.cmd | 2 +-
> src/test/cfg2cmd/simple-backingchain.conf.cmd | 4 +-
> src/test/cfg2cmd/simple-btrfs.conf.cmd | 8 +--
> src/test/cfg2cmd/simple-cifs.conf.cmd | 8 +--
> .../cfg2cmd/simple-disk-passthrough.conf.cmd | 4 +-
> src/test/cfg2cmd/simple-lvm.conf.cmd | 8 +--
> src/test/cfg2cmd/simple-lvmthin.conf.cmd | 8 +--
> src/test/cfg2cmd/simple-rbd.conf.cmd | 16 ++---
> src/test/cfg2cmd/simple-virtio-blk.conf.cmd | 2 +-
> .../cfg2cmd/simple-zfs-over-iscsi.conf.cmd | 8 +--
> src/test/cfg2cmd/simple1-template.conf.cmd | 4 +-
> src/test/cfg2cmd/simple1.conf.cmd | 2 +-
> src/test/run_config2command_tests.pl | 8 +--
> src/test/run_qemu_img_convert_tests.pl | 61 +++++++++++++++-
> 37 files changed, 239 insertions(+), 94 deletions(-)
>
> --
> 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
prev parent reply other threads:[~2025-07-25 12:14 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-25 10:50 [pve-devel] " Fiona Ebner
2025-07-25 10:50 ` [pve-devel] [PATCH qemu-server v2 1/8] blockdev: helper to add common options Fiona Ebner
2025-07-25 10:50 ` [pve-devel] [PATCH qemu-server v2 2/8] blockdev: fix discard Fiona Ebner
2025-07-25 10:50 ` [pve-devel] [PATCH qemu-server v2 3/8] tests: image convert: avoid hard-coded VM ID in result Fiona Ebner
2025-07-25 10:50 ` [pve-devel] [PATCH qemu-server v2 4/8] tests: image convert: properly set snapshot-as-volume-chain option Fiona Ebner
2025-07-25 10:50 ` [pve-devel] [PATCH qemu-server v2 5/8] tests: image convert: add tests where storages with 'snapshot-as-volume-chain' are the target Fiona Ebner
2025-07-25 10:50 ` [pve-devel] [PATCH qemu-server v2 6/8] fix #6543: use qcow2 'discard-no-unref' option when using snapshot-as-volume-chain Fiona Ebner
2025-07-25 10:50 ` [pve-devel] [PATCH qemu-server v2 7/8] tests: cfg2cmd: improve mocking File::stat Fiona Ebner
2025-07-25 10:50 ` [pve-devel] [PATCH qemu-server v2 8/8] image convert: re-use generate_drive_blockdev() Fiona Ebner
2025-07-25 12:15 ` Fabian Grünbichler [this message]
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=1753445470.v5oz7vpfnv.astroid@yuna.none \
--to=f.gruenbichler@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox