[pve-devel] [PATCH pve-storage] lvmplugin: find_free_diskname: check if fmt param exist

2025-07-19 Thread Alexandre Derumier via pve-devel
e 517. " https://forum.proxmox.com/threads/pve-beta-9-cannot-restore-lxc-from-pbs.168633/ Signed-off-by: Alexandre Derumier --- src/PVE/Storage/LVMPlugin.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PVE/Storage/LVMPlugin.pm b/src/PVE/Storage/LVMPlugin.pm index e14f12d..8be2

[pve-devel] [PATCH v2 qemu-server 09/10] tests: cfg2cmd: convert drive devices to json format

2025-07-16 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/test/cfg2cmd/aio.conf.cmd | 32 +-- src/test/cfg2cmd/bootorder-empty.conf.cmd | 14 src/test/cfg2cmd/bootorder-legacy.conf.cmd| 14 src/test/cfg2cmd/bootorder.conf.cmd

[pve-devel] [PATCH v2 qemu-server 06/10] convert drive device to json format

2025-07-16 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/QemuServer.pm | 28 ++-- src/PVE/QemuServer/DriveDevice.pm | 76 +-- 2 files changed, 56 insertions(+), 48 deletions(-) diff --git a/src/PVE/QemuServer.pm b/src/PVE/QemuServer.pm

[pve-devel] [PATCH v2 qemu-server 08/10] convert disk controller device to json format

2025-07-16 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/QemuServer.pm | 13 ++-- src/PVE/QemuServer/DriveDevice.pm | 33 +-- 2 files changed, 30 insertions(+), 16 deletions(-) diff --git a/src/PVE/QemuServer.pm b/src/PVE/QemuServer.pm

[pve-devel] [PATCH v2 qemu-server 07/10] convert iothread to json

2025-07-16 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/QemuServer.pm | 8 src/PVE/QemuServer/DriveDevice.pm | 8 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/PVE/QemuServer.pm b/src/PVE/QemuServer.pm index f9c195a0..5590bfbe 100644

[pve-devel] [PATCH v2 qemu-server 10/10] RFC: add multiple iothreads support

2025-07-16 Thread Alexandre Derumier via pve-devel
;t be bigger than number of host cores. (or performance will decrease because of context switches) not implement: add an option to specify specific iothread mapping by disk. Signed-off-by: Alexandre Derumier --- src/PVE/QemuServer.pm | 23 ++- src/PVE/QemuServer/DriveDevi

[pve-devel] [PATCH v2 qemu-server 03/10] hotplug: drive controller : use print_drivedevice_iothread && print_drivedevice_controller

2025-07-16 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/QemuServer.pm | 18 -- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/src/PVE/QemuServer.pm b/src/PVE/QemuServer.pm index 102d924c..cd9e568f 100644 --- a/src/PVE/QemuServer.pm +++ b/src/PVE

[pve-devel] [PATCH v2 qemu-server 01/10] introduce DriveDevice module

2025-07-16 Thread Alexandre Derumier via pve-devel
--- Begin Message --- and move print_drivedevice_full Signed-off-by: Alexandre Derumier --- src/PVE/QemuServer.pm | 144 +- src/PVE/QemuServer/DriveDevice.pm | 164 ++ src/PVE/QemuServer/Makefile | 1 + 3 files changed, 166

[pve-devel] [PATCH v2 qemu-server 05/10] qmphelpers: add qmp_deviceadd && qmp_devicedel

2025-07-16 Thread Alexandre Derumier via pve-devel
--- Begin Message --- old hmp methos can be removed when everything will be converted to hash/json Signed-off-by: Alexandre Derumier --- src/PVE/QemuServer/QMPHelpers.pm | 16 1 file changed, 16 insertions(+) diff --git a/src/PVE/QemuServer/QMPHelpers.pm b/src/PVE/QemuServer

[pve-devel] [PATCH v2 qemu-server 02/10] add print_drivedevice_controller && print_drivedevice_iothread

2025-07-16 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/QemuServer.pm | 63 -- src/PVE/QemuServer/DriveDevice.pm | 74 +++ 2 files changed, 83 insertions(+), 54 deletions(-) diff --git a/src/PVE/QemuServer.pm b/src/PVE

[pve-devel] [PATCH v2 qemu-server 00/10] convert drivedevice to json format && implement multiple iothreads

2025-07-16 Thread Alexandre Derumier via pve-devel
-mapping https://vmsplice.net/~stefan/stefanha-kvm-forum-2024.pdf Changelog v2: - rebase on last git - tidy the patches Alexandre Derumier (10): introduce DriveDevice module add print_drivedevice_controller && print_drivedevice_iothread hotplug: drive controller : use print_driv

[pve-devel] [PATCH v2 qemu-server 04/10] pci: add get_pci_addr

2025-07-16 Thread Alexandre Derumier via pve-devel
--- Begin Message --- return a hash with pci bus && pci address Signed-off-by: Alexandre Derumier --- src/PVE/QemuServer/PCI.pm | 17 ++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/PVE/QemuServer/PCI.pm b/src/PVE/QemuServer/PCI.pm index e7a9a610..

[pve-devel] [PATCH FOLLOW-UP storage 10/14] lvmplugin: add volume_snapshot_info

2025-07-15 Thread Alexandre Derumier via pve-devel
--- Begin Message --- and remove public methods: get_snapname_from_path get_snap_volname Signed-off-by: Alexandre Derumier --- src/PVE/Storage/LVMPlugin.pm | 76 ++-- src/PVE/Storage/Plugin.pm| 41 --- 2 files changed, 73 insertions(+), 44

[pve-devel] [PATCH FOLLOW-UP storage 09/14] plugin|lvmplugin: don't allow volume rename if external snapshots exist.

2025-07-15 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Just to safe, as this is already check higher in the stack. Technically, it's possible to implement snapshot file renaming, and update backing_file info with "qemu-img rebase -u". Signed-off-by: Alexandre Derumier --- src/PVE/Storage/LVMPlugin.pm | 6

[pve-devel] [PATCH FOLLOW-UP storage 13/14] lvmplugin: add external-snapshots option && forbid creation of qcow2 volumes without it

2025-07-15 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Storage/LVMPlugin.pm | 5 + 1 file changed, 5 insertions(+) diff --git a/src/PVE/Storage/LVMPlugin.pm b/src/PVE/Storage/LVMPlugin.pm index 6e77eb3..1f5a5f1 100644 --- a/src/PVE/Storage/LVMPlugin.pm +++ b/src/PVE/Storage

[pve-devel] [PATCH FOLLOW-UP storage 12/14] plugin : improve parse_namedir warning

2025-07-15 Thread Alexandre Derumier via pve-devel
--- Begin Message --- display the volname skip warning for external snapshot name Signed-off-by: Alexandre Derumier --- src/PVE/Storage/Plugin.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PVE/Storage/Plugin.pm b/src/PVE/Storage/Plugin.pm index 59ffa5e..439e4c3

[pve-devel] [PATCH FOLLOW-UP qemu-server 4/4] blockdev_external_snapshot: rework to avoid $running param

2025-07-15 Thread Alexandre Derumier via pve-devel
e blockdev nodes now. Signed-off-by: Alexandre Derumier --- src/PVE/QemuServer.pm | 38 ++ src/PVE/QemuServer/Blockdev.pm | 26 --- 2 files changed, 24 insertions(+), 40 deletions(-) diff --git a/src/PVE/QemuServer.pm b/src/PVE/QemuServ

[pve-devel] [PATCH FOLLOW-UP storage 07/14] lvmplugin: alloc_snap_image: die if file_size_info return empty size

2025-07-15 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Storage/LVMPlugin.pm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/PVE/Storage/LVMPlugin.pm b/src/PVE/Storage/LVMPlugin.pm index 54070d1..cb5fd37 100644 --- a/src/PVE/Storage/LVMPlugin.pm +++ b/src/PVE/Storage

[pve-devel] [PATCH FOLLOW-UP storage 05/14] common: fix qemu_img_resize

2025-07-15 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Storage/Common.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/PVE/Storage/Common.pm b/src/PVE/Storage/Common.pm index 71d123a..746a262 100644 --- a/src/PVE/Storage/Common.pm +++ b/src/PVE/Storage

[pve-devel] [PATCH FOLLOW-UP storage 06/14] plugin: volume_export: don't allow export of external snapshots

2025-07-15 Thread Alexandre Derumier via pve-devel
--- Begin Message --- not yet implemented Signed-off-by: Alexandre Derumier --- src/PVE/Storage/Plugin.pm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/PVE/Storage/Plugin.pm b/src/PVE/Storage/Plugin.pm index aee145f..06d258e 100644 --- a/src/PVE/Storage/Plugin.pm +++ b/src/PVE

[pve-devel] [PATCH FOLLOW-UP storage 04/14] lvm snapshot: activate volume

2025-07-15 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Storage/LVMPlugin.pm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/PVE/Storage/LVMPlugin.pm b/src/PVE/Storage/LVMPlugin.pm index 4b60e32..54070d1 100644 --- a/src/PVE/Storage/LVMPlugin.pm +++ b/src/PVE/Storage

[pve-devel] [PATCH FOLLOW-UP storage 01/14] helpers: make qemu_img* storage config independent

2025-07-15 Thread Alexandre Derumier via pve-devel
--- Begin Message --- From: Fabian Grünbichler by moving the preallocation handling to the call site, and preparing them for taking further options like cluster size in the future. Signed-off-by: Fabian Grünbichler Signed-off-by: Alexandre Derumier --- src/PVE/Storage/LVMPlugin.pm | 10

[pve-devel] [PATCH FOLLOW-UP storage 14/14] storage: remove $running param from volume_snapshot

2025-07-15 Thread Alexandre Derumier via pve-devel
--- Begin Message --- not needed anymore after change in qemu-server Signed-off-by: Alexandre Derumier --- ApiChangeLog | 4 src/PVE/Storage.pm | 4 ++-- src/PVE/Storage/ESXiPlugin.pm| 2 +- src/PVE/Storage/ISCSIDirectPlugin.pm | 2

[pve-devel] [PATCH FOLLOW-UP storage 11/14] plugin: lvmplugin: add parse_snap_name

2025-07-15 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Storage/LVMPlugin.pm | 17 - src/PVE/Storage/Plugin.pm| 17 + 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/src/PVE/Storage/LVMPlugin.pm b/src/PVE/Storage/LVMPlugin.pm index

[pve-devel] [PATCH FOLLOW-UP qemu-server 1/4] api2: move_disk: use parse_volname to find old volume format

2025-07-15 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/API2/Qemu.pm | 5 + 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/PVE/API2/Qemu.pm b/src/PVE/API2/Qemu.pm index 2e6358e4..dbc08737 100644 --- a/src/PVE/API2/Qemu.pm +++ b/src/PVE/API2/Qemu.pm @@ -4677,11

[pve-devel] [PATCH FOLLOW-UP storage 08/14] lvmplugin: snapshot: use relative path for backing image

2025-07-15 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Storage/LVMPlugin.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/PVE/Storage/LVMPlugin.pm b/src/PVE/Storage/LVMPlugin.pm index cb5fd37..9aadbc2 100644 --- a/src/PVE/Storage/LVMPlugin.pm +++ b/src

[pve-devel] [PATCH FOLLOW-UP storage 02/14] helpers: move qemu_img* to Common module

2025-07-15 Thread Alexandre Derumier via pve-devel
--- Begin Message --- From: Fabian Grünbichler Signed-off-by: Fabian Grünbichler Signed-off-by: Alexandre Derumier --- src/PVE/Storage/Common.pm| 147 ++--- src/PVE/Storage/LVMPlugin.pm | 10 +-- src/PVE/Storage/Plugin.pm| 153

[pve-devel] [PATCH FOLLOW-UP storage 03/14] rename_snapshot: fix parameter checks

2025-07-15 Thread Alexandre Derumier via pve-devel
--- Begin Message --- From: Fabian Grünbichler both source and target snapshot need to be provided when renaming. Signed-off-by: Fabian Grünbichler Signed-off-by: Alexandre Derumier --- src/PVE/Storage.pm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/PVE

[pve-devel] [PATCH FOLLOW-UP qemu-server 3/4] generate_backing_blockdev: use current_sub for private recursive

2025-07-15 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/QemuServer/Blockdev.pm | 7 +++ 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/PVE/QemuServer/Blockdev.pm b/src/PVE/QemuServer/Blockdev.pm index dd975e3c..73eb7c1e 100644 --- a/src/PVE/QemuServer

[pve-devel] [PATCH FOLLOW-UP storage/qemu-server] external qcow2 snapshot support

2025-07-15 Thread Alexandre Derumier via pve-devel
o rework volume_support_qemu_snapshot, I'll not have time to do it before holiday, so if somebody can help on this, it could be great :) pve-storage: Alexandre Derumier (11): lvm snapshot: activate volume common: fix qemu_img_resize plugin: volume_export: don't allow export of external sna

[pve-devel] [PATCH FOLLOW-UP qemu-server 2/4] blockdev_rename: remove old left-over rename()

2025-07-15 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/QemuServer/Blockdev.pm | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/PVE/QemuServer/Blockdev.pm b/src/PVE/QemuServer/Blockdev.pm index f5c07e30..dd975e3c 100644 --- a/src/PVE/QemuServer/Blockdev.pm +++ b/src/PVE

[pve-devel] [PATCH FOLLOW-UP qemu-server 1/1] api2: move_disk: use parse_volname to find old volume format

2025-07-14 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/API2/Qemu.pm | 5 + 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/PVE/API2/Qemu.pm b/src/PVE/API2/Qemu.pm index 2e6358e4..dbc08737 100644 --- a/src/PVE/API2/Qemu.pm +++ b/src/PVE/API2/Qemu.pm @@ -4677,11

[pve-devel] [PATCH FOLLOW-UP storage 06/10] plugin|lvmplugin: don't allow volume rename if external snapshots exist.

2025-07-14 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Just to safe, as this is already check higher in the stack. Technically, it's possible to implement snapshot file renaming, and update backing_file info with "qemu-img rebase -u". Signed-off-by: Alexandre Derumier --- src/PVE/Storage/LVMPlugin.pm | 6

[pve-devel] [PATCH FOLLOW-UP storage 09/10] plugin : improve parse_namedir warning

2025-07-14 Thread Alexandre Derumier via pve-devel
--- Begin Message --- display the volname skip warning for external snapshot name Signed-off-by: Alexandre Derumier --- src/PVE/Storage/Plugin.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PVE/Storage/Plugin.pm b/src/PVE/Storage/Plugin.pm index 59ffa5e..439e4c3

[pve-devel] [PATCH FOLLOW-UP storage 07/10] lvmplugin: add volume_snapshot_info

2025-07-14 Thread Alexandre Derumier via pve-devel
--- Begin Message --- and remove public methods: get_snapname_from_path get_snap_volname Signed-off-by: Alexandre Derumier --- src/PVE/Storage/LVMPlugin.pm | 76 ++-- src/PVE/Storage/Plugin.pm| 41 --- 2 files changed, 73 insertions(+), 44

[pve-devel] [PATCH FOLLOW-UP storage 08/10] plugin: lvmplugin: add parse_snap_name

2025-07-14 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Storage/LVMPlugin.pm | 17 - src/PVE/Storage/Plugin.pm| 17 + 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/src/PVE/Storage/LVMPlugin.pm b/src/PVE/Storage/LVMPlugin.pm index

[pve-devel] [PATCH FOLLOW-UP storage 10/10] lvmplugin: add external-snapshots option && forbid creation of qcow2 volumes without it

2025-07-14 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Storage/LVMPlugin.pm | 5 + 1 file changed, 5 insertions(+) diff --git a/src/PVE/Storage/LVMPlugin.pm b/src/PVE/Storage/LVMPlugin.pm index 6e77eb3..1f5a5f1 100644 --- a/src/PVE/Storage/LVMPlugin.pm +++ b/src/PVE/Storage

[pve-devel] [PATCH FOLLOW-UP storage 02/10] common: fix qemu_img_resize

2025-07-14 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Storage/Common.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/PVE/Storage/Common.pm b/src/PVE/Storage/Common.pm index 71d123a..746a262 100644 --- a/src/PVE/Storage/Common.pm +++ b/src/PVE/Storage

[pve-devel] [PATCH FOLLOW-UP storage 05/10] lvmplugin: snapshot: use relative path for backing image

2025-07-14 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Storage/LVMPlugin.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/PVE/Storage/LVMPlugin.pm b/src/PVE/Storage/LVMPlugin.pm index cb5fd37..9aadbc2 100644 --- a/src/PVE/Storage/LVMPlugin.pm +++ b/src

[pve-devel] [PATCH FOLLOW-UP storage 04/10] lvmplugin: alloc_snap_image: die if file_size_info return empty size

2025-07-14 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Storage/LVMPlugin.pm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/PVE/Storage/LVMPlugin.pm b/src/PVE/Storage/LVMPlugin.pm index 54070d1..cb5fd37 100644 --- a/src/PVE/Storage/LVMPlugin.pm +++ b/src/PVE/Storage

[pve-devel] [PATCH FOLLOW-UP storage 01/10] lvm snapshot: activate volume

2025-07-14 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Storage/LVMPlugin.pm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/PVE/Storage/LVMPlugin.pm b/src/PVE/Storage/LVMPlugin.pm index 4b60e32..54070d1 100644 --- a/src/PVE/Storage/LVMPlugin.pm +++ b/src/PVE/Storage

[pve-devel] [PATCH FOLLOW-UP storage 03/10] plugin: volume_export: don't allow export of external snapshots

2025-07-14 Thread Alexandre Derumier via pve-devel
--- Begin Message --- not yet implemented Signed-off-by: Alexandre Derumier --- src/PVE/Storage/Plugin.pm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/PVE/Storage/Plugin.pm b/src/PVE/Storage/Plugin.pm index aee145f..06d258e 100644 --- a/src/PVE/Storage/Plugin.pm +++ b/src/PVE

[pve-devel] [PATCH pve-storage 13/13] tests: add lvmplugin test

2025-07-09 Thread Alexandre Derumier via pve-devel
--- Begin Message --- use same template than zfspoolplugin tests Signed-off-by: Alexandre Derumier --- src/test/Makefile | 5 +- src/test/run_test_lvmplugin.pl | 577 + 2 files changed, 581 insertions(+), 1 deletion(-) create mode 100755 src/test

[pve-devel] [PATCH qemu-server 4/4] tests: fix efi vm-disk-100-0.raw -> vm-100-disk-0.raw

2025-07-09 Thread Alexandre Derumier via pve-devel
--- Begin Message --- not sure if it was an error, but it's failing now with new more restricted volname parsing Signed-off-by: Alexandre Derumier --- src/test/cfg2cmd/efi-raw-old.conf | 2 +- src/test/cfg2cmd/efi-raw-old.conf.cmd | 2 +- src/test/cfg2cmd/ef

[pve-devel] [PATCH pve-storage 08/13] storage: add rename_snapshot method

2025-07-09 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- ApiChangeLog | 3 +++ src/PVE/Storage.pm | 25 + src/PVE/Storage/BTRFSPlugin.pm | 6 ++ src/PVE/Storage/ESXiPlugin.pm| 6 ++ src/PVE/Storage/LVMPlugin.pm

[pve-devel] [PATCH pve-storage 10/13] plugin: fix volname parsing

2025-07-09 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Storage/Plugin.pm | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/PVE/Storage/Plugin.pm b/src/PVE/Storage/Plugin.pm index aab2024..b65d296 100644 --- a/src/PVE/Storage/Plugin.pm +++ b/src/PVE

[pve-devel] [PATCH pve-storage 05/13] plugin: add qemu_img_resize

2025-07-09 Thread Alexandre Derumier via pve-devel
--- Begin Message --- and add missing preallocation https://github.com/qemu/qemu/commit/dc5f690b97ccdffa79fe7169bb26b0ebf06688bf Signed-off-by: Alexandre Derumier --- src/PVE/Storage/Plugin.pm | 28 +--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/src

[pve-devel] [PATCH pve-storage 04/13] plugin: add qemu_img_measure

2025-07-09 Thread Alexandre Derumier via pve-devel
--- Begin Message --- This compute the whole size of a qcow2 volume with datas + metadatas. Needed for qcow2 over lvm volume. Signed-off-by: Alexandre Derumier --- src/PVE/Storage/Plugin.pm | 23 +++ 1 file changed, 23 insertions(+) diff --git a/src/PVE/Storage/Plugin.pm b

[pve-devel] [PATCH qemu-server 2/4] blockdev: add backing_chain support

2025-07-09 Thread Alexandre Derumier via pve-devel
--- Begin Message --- We need to define name-nodes for all backing chain images, to be able to live rename them with blockdev-reopen For linked clone, we don't need to definebase image(s) chain. They are auto added with #block nodename. Signed-off-by: Alexandre Derumier --- src/PVE/QemuS

[pve-devel] [PATCH pve-storage 02/13] plugin: add qemu_img_create_qcow2_backed

2025-07-09 Thread Alexandre Derumier via pve-devel
e=64k: 22265 randwrite 4k: prealloc=metadata, l2_extended=on, cluster_size=128k: 18016 randread 4k: prealloc=metadata, l2_extended=on, cluster_size=128k: 21611 Signed-off-by: Alexandre Derumier --- src/PVE/Storage/Plugin.pm | 52 --- 1 file changed, 38 inser

[pve-devel] [PATCH-SERIES v8 pve-storage/qemu-server] add external qcow2 snapshot support

2025-07-09 Thread Alexandre Derumier via pve-devel
in both pve-storage && qemu-server - better handle snapshot failure with multiple disks pve-storage: Alexandre Derumier (13): plugin: add qemu_img_create plugin: add qemu_img_create_qcow2_backed plugin: add qemu_img_info plugin: add qemu_img_measure plugin: add qemu_img_resize

[pve-devel] [PATCH pve-storage 12/13] lvmplugin: add qcow2 snapshot

2025-07-09 Thread Alexandre Derumier via pve-devel
lvmthin : snap_${volname}_{$snapname}.qcow2 Signed-off-by: Alexandre Derumier --- src/PVE/Storage/LVMPlugin.pm | 558 +-- 1 file changed, 466 insertions(+), 92 deletions(-) diff --git a/src/PVE/Storage/LVMPlugin.pm b/src/PVE/Storage/LVMPlugin.pm index be411e5

[pve-devel] [PATCH pve-storage 11/13] qcow2: add external snapshot support

2025-07-09 Thread Alexandre Derumier via pve-devel
--- Begin Message --- add a snapext option to enable the feature When a snapshot is taken, the current volume is renamed to snap volname and a current image is created with the snap volume as backing file Signed-off-by: Alexandre Derumier --- src/PVE/Storage.pm| 1 - src/PVE

[pve-devel] [PATCH qemu-server 3/4] qcow2: add external snapshot support

2025-07-09 Thread Alexandre Derumier via pve-devel
--- Begin Message --- fixme: - add test for internal (was missing) && external qemu snapshots - is it possible to use blockjob transactions for commit && steam for atomatic disk commit ? Signed-off-by: Alexandre Derumier --- src/PVE/QemuConfig.pm | 4 +- src/P

[pve-devel] [PATCH pve-storage 09/13] storage: add volume_support_qemu_snapshot

2025-07-09 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Returns if the volume is supporting qemu snapshot: 'internal' : do the snapshot with qemu internal snapshot 'external' : do the snapshot with qemu external snapshot undef : does not support qemu snapshot Signed-off-by: Alexandre Derumie

[pve-devel] [PATCH pve-storage 07/13] storage: volume_snapshot: add $running param

2025-07-09 Thread Alexandre Derumier via pve-devel
--- Begin Message --- This add a $running param to volume_snapshot, it can be used if some extra actions need to be done at the storage layer when the snapshot has already be done at qemu level. Signed-off-by: Alexandre Derumier --- ApiChangeLog | 4 src/PVE

[pve-devel] [PATCH pve-storage 06/13] rbd && zfs : create_base : remove $running param from volume_snapshot

2025-07-09 Thread Alexandre Derumier via pve-devel
--- Begin Message --- template guests are never running and never write to their disks/mountpoints, those $running parameters there can be dropped. Signed-off-by: Alexandre Derumier --- src/PVE/Storage/RBDPlugin.pm | 4 +--- src/PVE/Storage/ZFSPlugin.pm | 4 +--- 2 files changed, 2 insertions

[pve-devel] [PATCH pve-storage 03/13] plugin: add qemu_img_info

2025-07-09 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Storage/Common.pm | 33 src/PVE/Storage/Plugin.pm | 40 +++ 2 files changed, 53 insertions(+), 20 deletions(-) diff --git a/src/PVE/Storage/Common.pm b/src

[pve-devel] [PATCH qemu-server 1/4] qemu_img convert : add external snapshot support

2025-07-09 Thread Alexandre Derumier via pve-devel
--- Begin Message --- for external snapshot, we simply use snap volname as src. don't use internal snapshot option in the command line. Signed-off-by: Alexandre Derumier --- src/PVE/QemuServer/QemuImage.pm| 6 ++- src/test/run_qemu_img_convert_tests.pl

[pve-devel] [PATCH pve-storage 01/13] plugin: add qemu_img_create

2025-07-09 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Storage/Plugin.pm | 32 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/src/PVE/Storage/Plugin.pm b/src/PVE/Storage/Plugin.pm index c2f376b..65a34b1 100644 --- a/src/PVE/Storage

[pve-devel] [PATCH pve-storage 08/10] qcow2: add external snapshot support

2025-07-03 Thread Alexandre Derumier via pve-devel
--- Begin Message --- add a snapext option to enable the feature When a snapshot is taken, the current volume is renamed to snap volname and a current image is created with the snap volume as backing file Signed-off-by: Alexandre Derumier --- src/PVE/Storage.pm | 1 - src/PVE

[pve-devel] [PATCH qemu-server 3/3] qcow2: add external snapshot support

2025-07-03 Thread Alexandre Derumier via pve-devel
--- Begin Message --- fixme: - add test for internal (was missing) && external qemu snapshots - is it possible to use blockjob transactions for commit && steam for atomatic disk commit ? Signed-off-by: Alexandre Derumier --- src/PVE/QemuConfig.pm | 4 +- src/P

[pve-devel] [PATCH pve-storage 10/10] storage : add volume_support_qemu_snapshot

2025-07-03 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Returns if the volume is supporting qemu snapshot: 'internal' : do the snapshot with qemu internal snapshot 'external' : do the snapshot with qemu external snapshot undef : does not support qemu snapshot Signed-off-by: Alexandre Derumier ---

[pve-devel] [PATCH pve-storage 03/10] common: qemu_img_create: add backing_file support

2025-07-03 Thread Alexandre Derumier via pve-devel
e=64k: 22265 randwrite 4k: prealloc=metadata, l2_extended=on, cluster_size=128k: 18016 randread 4k: prealloc=metadata, l2_extended=on, cluster_size=128k: 21611 Signed-off-by: Alexandre Derumier --- src/PVE/Storage/Common.pm | 17 + src/PVE/Storage/Plugin.pm | 17 +++

[pve-devel] [PATCH pve-storage 01/10] tests: add lvmplugin test

2025-07-03 Thread Alexandre Derumier via pve-devel
--- Begin Message --- use same template than zfspoolplugin tests Signed-off-by: Alexandre Derumier --- src/test/Makefile | 5 +- src/test/run_test_lvmplugin.pl | 577 + 2 files changed, 581 insertions(+), 1 deletion(-) create mode 100755 src/test

[pve-devel] [PATCH qemu-server 1/3] qemu_img convert : add external snapshot support

2025-07-03 Thread Alexandre Derumier via pve-devel
--- Begin Message --- for external snapshot, we simply use snap volname as src. don't use internal snapshot option in the command line. Signed-off-by: Alexandre Derumier --- src/PVE/QemuServer/QemuImage.pm| 6 ++- src/test/run_qemu_img_convert_tests.pl

[pve-devel] [PATCH qemu-server 2/3] blockdev: add backing_chain support

2025-07-03 Thread Alexandre Derumier via pve-devel
--- Begin Message --- We need to define name-nodes for all backing chain images, to be able to live rename them with blockdev-reopen For linked clone, we don't need to definebase image(s) chain. They are auto added with #block nodename. Signed-off-by: Alexandre Derumier --- src/PVE/QemuS

[pve-devel] [PATCH pve-storage 09/10] lvmplugin: add qcow2 snapshot

2025-07-03 Thread Alexandre Derumier via pve-devel
--- Begin Message --- we format lvm logical volume with qcow2 to handle snapshot chain. like for qcow2 file, when a snapshot is taken, the current lvm volume is renamed to snap volname, and a new current lvm volume is created with the snap volname as backing file Signed-off-by: Alexandre

[pve-devel] [PATCH pve-storage 07/10] storage: volume_snapshot: add $running param

2025-07-03 Thread Alexandre Derumier via pve-devel
ented in volume_snapshot. Signed-off-by: Alexandre Derumier --- src/PVE/Storage.pm | 4 ++-- src/PVE/Storage/ESXiPlugin.pm| 2 +- src/PVE/Storage/ISCSIDirectPlugin.pm | 2 +- src/PVE/Storage/LVMPlugin.pm | 2 +- src/PVE/Storage/LvmThinPlugin.pm | 2 +- src/PVE

[pve-devel] [PATCH pve-storage 04/10] rename_volume: add source && target snap

2025-07-03 Thread Alexandre Derumier via pve-devel
--- Begin Message --- allow to rename from|to external snapshot volname Signed-off-by: Alexandre Derumier --- src/PVE/Storage.pm | 10 -- src/PVE/Storage/LVMPlugin.pm | 17 +++-- src/PVE/Storage/Plugin.pm| 14 +- 3 files changed, 36 insertions(+), 5

[pve-devel] [PATCH pve-storage 05/10] common: add qemu_img_info helper

2025-07-03 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Storage/Common.pm | 26 ++ src/PVE/Storage/Plugin.pm | 20 +--- 2 files changed, 27 insertions(+), 19 deletions(-) diff --git a/src/PVE/Storage/Common.pm b/src/PVE/Storage/Common.pm index

[pve-devel] [PATCH pve-storage 06/10] common: add qemu-img measure

2025-07-03 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Storage/Common.pm | 28 1 file changed, 28 insertions(+) diff --git a/src/PVE/Storage/Common.pm b/src/PVE/Storage/Common.pm index c15cc88..e73eeab 100644 --- a/src/PVE/Storage/Common.pm +++ b/src

[pve-devel] [PATCH pve-storage 02/10] common: add qemu_img_create an preallocation_cmd_option

2025-07-03 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Storage/Common.pm | 52 +++ src/PVE/Storage/Plugin.pm | 47 +-- 2 files changed, 53 insertions(+), 46 deletions(-) diff --git a/src/PVE/Storage/Common.pm b/src

[pve-devel] [PATCH-SERIES v7 pve-storage/qemu-server] add external qcow2 snapshot support

2025-07-03 Thread Alexandre Derumier via pve-devel
AIN 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 back

[pve-devel] [PATCH qemu-server 10/10] RFC: add multiple iothreads support

2025-07-02 Thread Alexandre Derumier via pve-devel
;t be bigger than number of host cores. (or performance will decrease because of context switches) not implement: add an option to specify specific iothread mapping by disk. Signed-off-by: Alexandre Derumier --- src/PVE/QemuServer.pm | 22 ++- src/PVE/QemuServer/DriveDevi

[pve-devel] [PATCH qemu-server 05/10] qmphelpers: add qmp_deviceadd && qmp_devicedel

2025-07-02 Thread Alexandre Derumier via pve-devel
--- Begin Message --- old hmp methos can be removed when everything will be converted to hash/json Signed-off-by: Alexandre Derumier --- src/PVE/QemuServer/QMPHelpers.pm | 16 1 file changed, 16 insertions(+) diff --git a/src/PVE/QemuServer/QMPHelpers.pm b/src/PVE/QemuServer

[pve-devel] [PATCH qemu-server 00/10] convert drivedevice to json format && implement multiple iothreads

2025-07-02 Thread Alexandre Derumier via pve-devel
-mapping https://vmsplice.net/~stefan/stefanha-kvm-forum-2024.pdf Alexandre Derumier (10): introduce DriveDevice module add print_drivedevice_controller && print_drivedevice_iothread hotplug: drive controller : use print_drivedevice_iothread && print_drivedevi

[pve-devel] [PATCH qemu-server 02/10] add print_drivedevice_controller && print_drivedevice_iothread

2025-07-02 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/QemuServer.pm | 60 +++-- src/PVE/QemuServer/DriveDevice.pm | 75 +++ 2 files changed, 81 insertions(+), 54 deletions(-) diff --git a/src/PVE/QemuServer.pm b/src/PVE

[pve-devel] [PATCH qemu-server 09/10] tests: cfg2cmd: convert drive devices to json format

2025-07-02 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/test/cfg2cmd/aio.conf.cmd | 32 +-- src/test/cfg2cmd/bootorder-empty.conf.cmd | 14 src/test/cfg2cmd/bootorder-legacy.conf.cmd| 14 src/test/cfg2cmd/bootorder.conf.cmd

[pve-devel] [PATCH qemu-server 04/10] pci: add get_pci_addr

2025-07-02 Thread Alexandre Derumier via pve-devel
--- Begin Message --- return a hash with pci bus && pci address Signed-off-by: Alexandre Derumier --- src/PVE/QemuServer/PCI.pm | 22 +- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/src/PVE/QemuServer/PCI.pm b/src/PVE/QemuServer/PCI.pm index

[pve-devel] [PATCH qemu-server 06/10] convert drive device to json format

2025-07-02 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/QemuServer.pm | 26 ++-- src/PVE/QemuServer/DriveDevice.pm | 66 +++ 2 files changed, 45 insertions(+), 47 deletions(-) diff --git a/src/PVE/QemuServer.pm b/src/PVE/QemuServer.pm

[pve-devel] [PATCH qemu-server 08/10] convert disk controller device to json format

2025-07-02 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/QemuServer.pm | 12 ++-- src/PVE/QemuServer/DriveDevice.pm | 22 -- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/src/PVE/QemuServer.pm b/src/PVE/QemuServer.pm index

[pve-devel] [PATCH qemu-server 07/10] convert iothread to json

2025-07-02 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/QemuServer.pm | 8 src/PVE/QemuServer/DriveDevice.pm | 8 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/PVE/QemuServer.pm b/src/PVE/QemuServer.pm index 5ec1842c..75cf114c 100644

[pve-devel] [PATCH qemu-server 01/10] introduce DriveDevice module

2025-07-02 Thread Alexandre Derumier via pve-devel
--- Begin Message --- and move print_drivedevice_full Signed-off-by: Alexandre Derumier --- src/PVE/QemuServer.pm | 144 +- src/PVE/QemuServer/DriveDevice.pm | 163 ++ src/PVE/QemuServer/Makefile | 1 + 3 files changed, 165

[pve-devel] [PATCH qemu-server 03/10] hotplug: drive controller : use print_drivedevice_iothread && print_drivedevice_controller

2025-07-02 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/QemuServer.pm | 18 -- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/src/PVE/QemuServer.pm b/src/PVE/QemuServer.pm index 6b26c7d3..215c070d 100644 --- a/src/PVE/QemuServer.pm +++ b/src/PVE

[pve-devel] [PATCH qemu-server 2/6] qmphelpers: add qmp_deviceadd && qmp_devicedel

2025-06-27 Thread Alexandre Derumier via pve-devel
--- Begin Message --- old hmp methos can be removed when everything will be converted to hash/json Signed-off-by: Alexandre Derumier --- src/PVE/QemuServer/QMPHelpers.pm | 16 1 file changed, 16 insertions(+) diff --git a/src/PVE/QemuServer/QMPHelpers.pm b/src/PVE/QemuServer

[pve-devel] [PATCH qemu-server 4/6] convert iothread to json

2025-06-27 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/QemuServer.pm | 8 src/PVE/QemuServer/DriveDevice.pm | 8 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/PVE/QemuServer.pm b/src/PVE/QemuServer.pm index 035034ec..6ee156e2 100644

[pve-devel] [PATCH qemu-server 6/6] tests: cfg2cmd: convert drive devices to json format

2025-06-27 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/test/cfg2cmd/aio.conf.cmd | 32 +-- src/test/cfg2cmd/bootorder-empty.conf.cmd | 14 src/test/cfg2cmd/bootorder-legacy.conf.cmd| 14 src/test/cfg2cmd/bootorder.conf.cmd

[pve-devel] [PATCH qemu-server 0/6] cmd: convert drive device to json format

2025-06-27 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Some new features like multiple iothreads need json format Folowing my previous patch serie: https://lore.proxmox.com/pve-devel/mailman.674.1751018601.395.pve-de...@lists.proxmox.com Alexandre Derumier (6): pci: add get_pci_addr qmphelpers: add qmp_deviceadd

[pve-devel] [PATCH qemu-server 1/6] pci: add get_pci_addr

2025-06-27 Thread Alexandre Derumier via pve-devel
--- Begin Message --- return a hash with pci bus && pci address Signed-off-by: Alexandre Derumier --- src/PVE/QemuServer/PCI.pm | 22 +- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/src/PVE/QemuServer/PCI.pm b/src/PVE/QemuServer/PCI.pm index

[pve-devel] [PATCH qemu-server 5/6] convert disk controller device to json format

2025-06-27 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/QemuServer.pm | 12 ++-- src/PVE/QemuServer/DriveDevice.pm | 23 +++ 2 files changed, 17 insertions(+), 18 deletions(-) diff --git a/src/PVE/QemuServer.pm b/src/PVE/QemuServer.pm index

[pve-devel] [PATCH qemu-server 3/6] convert drive device to json format

2025-06-27 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/QemuServer.pm | 26 ++-- src/PVE/QemuServer/DriveDevice.pm | 70 +-- 2 files changed, 51 insertions(+), 45 deletions(-) diff --git a/src/PVE/QemuServer.pm b/src/PVE/QemuServer.pm

[pve-devel] [PATCH qemuserver 1/3] introduce DriveDevice module

2025-06-27 Thread Alexandre Derumier via pve-devel
--- Begin Message --- and move print_drivedevice_full Signed-off-by: Alexandre Derumier --- src/PVE/QemuServer.pm | 144 +- src/PVE/QemuServer/DriveDevice.pm | 163 ++ src/PVE/QemuServer/Makefile | 1 + 3 files changed, 165

[pve-devel] [PATCH qemuserver 0/3] Introduce DriveDevice module

2025-06-27 Thread Alexandre Derumier via pve-devel
--- Begin Message --- In preparation of json format conversion. - move print_drivedevice_full code - create new subs to generate controller && iothreads and use them in controller hotplug too Alexandre Derumier (3): introduce DriveDevice module add print_drivedevice_co

[pve-devel] [PATCH qemuserver 3/3] hotplug: drive controller : use print_drivedevice_iothread && print_drivedevice_controller

2025-06-27 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/QemuServer.pm | 18 -- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/src/PVE/QemuServer.pm b/src/PVE/QemuServer.pm index dca206b4..a5b5ad33 100644 --- a/src/PVE/QemuServer.pm +++ b/src/PVE

[pve-devel] [PATCH qemuserver 2/3] add print_drivedevice_controller && print_drivedevice_iothread

2025-06-27 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/QemuServer.pm | 60 +++--- src/PVE/QemuServer/DriveDevice.pm | 70 +++ 2 files changed, 76 insertions(+), 54 deletions(-) diff --git a/src/PVE/QemuServer.pm b/src/PVE

[pve-devel] [PATCH qemu-server] tests: add cache && aio tests for differents storage type

2025-06-06 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- test/cfg2cmd/ide.conf | 2 +- test/cfg2cmd/ide.conf.cmd | 2 +- test/cfg2cmd/simple-btrfs.conf | 3 ++ test/cfg2cmd/simple-btrfs.conf.cmd | 6 test/cfg2cmd/simple

[pve-devel] [PATCH pve-storage] tests: add lvmplugin test

2025-06-06 Thread Alexandre Derumier via pve-devel
--- Begin Message --- use same template than zfspoolplugin tests Signed-off-by: Alexandre Derumier --- src/test/Makefile | 5 +- src/test/run_test_lvmplugin.pl | 582 + 2 files changed, 586 insertions(+), 1 deletion(-) create mode 100755 src/test

[pve-devel] [PATCH qemu-server 01/13] blockdev: cmdline: add blockdev syntax support

2025-06-03 Thread Alexandre Derumier via pve-devel
for file blockdev generation fixme: -desactivate volumes on config_to_command fail Signed-off-by: Alexandre Derumier --- PVE/QemuServer.pm | 201 +++-- PVE/QemuServer/Blockdev.pm| 272 ++ PVE/QemuServer/Drive

[pve-devel] [PATCH pve-storage 6/9] storage: volume_snapshot: add $running param + api bump

2025-06-03 Thread Alexandre Derumier via pve-devel
ented in volume_snapshot. Signed-off-by: Alexandre Derumier --- src/PVE/Storage.pm | 8 src/PVE/Storage/BTRFSPlugin.pm | 2 +- src/PVE/Storage/ESXiPlugin.pm| 2 +- src/PVE/Storage/ISCSIDirectPlugin.pm | 2 +- src/PVE/Storage/LVMPlugin.pm | 2 +- src/PVE

  1   2   3   4   5   6   7   8   9   10   >