public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Fiona Ebner <f.ebner@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH-SERIES qemu-server v2 0/8] blockdev and snapshot-as-volume-chain on LVM fixes
Date: Fri, 25 Jul 2025 12:50:47 +0200	[thread overview]
Message-ID: <20250725105109.54093-1-f.ebner@proxmox.com> (raw)

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


             reply	other threads:[~2025-07-25 10:50 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-25 10:50 Fiona Ebner [this message]
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 ` [pve-devel] applied-series: [PATCH-SERIES qemu-server v2 0/8] blockdev and snapshot-as-volume-chain on LVM fixes Fabian Grünbichler

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=20250725105109.54093-1-f.ebner@proxmox.com \
    --to=f.ebner@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
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal