> Alexandre Derumier via pve-devel <pve-devel@lists.proxmox.com> hat am > 04.07.2025 08:44 CEST geschrieben: > This patch series implement qcow2 external snapshot support for files && lvm > volumes > > The current internal qcow2 snapshots have bad write performance because no > metadatas can be preallocated. > > This is particulary visible on a shared filesystem like ocfs2 or gfs2. > > Also other bugs are freeze/lock reported by users since years on snapshots > delete on nfs > (The disk access seem to be frozen during all the delete duration) > > This also open doors for remote snapshot export-import for storage > replication.
sent some feedback, mostly for the storage and qemu-server <-> storage interface parts, haven't yet done an in-depth pass over qemu-server or end-to-end. in particular, the rename_volume vs rename_snapshot and the Plugin snapshot file name/.. questions should probably be solved before the next version it would also be great if you could add a patch bumping API version and age and documenting the changes/new parameters/interfaces - also so that we can ensure we are on the same page and haven't overlooked anything. AFAICT it should all be new opt-in or backwards compatible changes, once the feedback is incorporated. > > Changelog v7: > - rebased on fiona blockdev work > > MAIN TODO: > - add snapshots tests in both pve-storage && qemu-server > - better handle snapshot failure with multiple disks > > pve-storage: > > Alexandre Derumier (10): > tests: add lvmplugin test > common: add qemu_img_create an preallocation_cmd_option > common: qemu_img_create: add backing_file support > rename_volume: add source && target snap > common: add qemu_img_info helper > common: add qemu-img measure > storage: volume_snapshot: add $running param > qcow2: add external snapshot support > lvmplugin: add qcow2 snapshot > storage : add volume_support_qemu_snapshot > > src/PVE/Storage.pm | 34 +- > src/PVE/Storage/Common.pm | 116 ++++++ > src/PVE/Storage/DirPlugin.pm | 11 + > src/PVE/Storage/ESXiPlugin.pm | 2 +- > src/PVE/Storage/ISCSIDirectPlugin.pm | 2 +- > src/PVE/Storage/LVMPlugin.pm | 519 ++++++++++++++++++++---- > src/PVE/Storage/LvmThinPlugin.pm | 2 +- > src/PVE/Storage/PBSPlugin.pm | 2 +- > src/PVE/Storage/Plugin.pm | 376 ++++++++++++----- > src/PVE/Storage/RBDPlugin.pm | 8 +- > src/PVE/Storage/ZFSPoolPlugin.pm | 2 +- > src/test/Makefile | 5 +- > src/test/run_test_lvmplugin.pl | 577 +++++++++++++++++++++++++++ > 13 files changed, 1465 insertions(+), 191 deletions(-) > create mode 100755 src/test/run_test_lvmplugin.pl > > qemu-server: > > Alexandre Derumier (3): > qemu_img convert : add external snapshot support > blockdev: add backing_chain support > qcow2: add external snapshot support > > src/PVE/QemuConfig.pm | 4 +- > src/PVE/QemuServer.pm | 132 +++++-- > src/PVE/QemuServer/Blockdev.pm | 345 +++++++++++++++++- > src/PVE/QemuServer/QemuImage.pm | 6 +- > src/test/cfg2cmd/simple-backingchain.conf | 25 ++ > src/test/cfg2cmd/simple-backingchain.conf.cmd | 33 ++ > src/test/run_config2command_tests.pl | 47 +++ > src/test/run_qemu_img_convert_tests.pl | 59 +++ > src/test/snapshot-test.pm | 4 +- > 9 files changed, 620 insertions(+), 35 deletions(-) > create mode 100644 src/test/cfg2cmd/simple-backingchain.conf > create mode 100644 src/test/cfg2cmd/simple-backingchain.conf.cmd > > -- > 2.39.5 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel