[pve-devel] [PATCH qemu-server 03/14] blockdev: convert ovmf && efidisk to blockdev

2025-04-22 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Fixme: for rbd, we force writeback to qemu and rbd_cache_policy=writback to rbd path, which is not allowed in blockdev Is is still needed ? as qemu seem to have implemented a buffer in https://github.com/qemu/qemu/commit/284a7ee2e290e0c9b8cd3ea6164d92386933054f size was spe

[pve-devel] [PATCH qemu-server 02/14] blockdev: cmdline: convert drive to blockdev syntax

2025-04-22 Thread Alexandre Derumier via pve-devel
--- Begin Message --- The blockdev chain is: -throttle-group-node (drive-(ide|scsi|virtio)x) - format-node (fmt-drive-x) - file-node (file-drive -x) fixme: - rbd blockdev don't allow extra options (keyring file for example), do we need to patch qemu ? or write client option in a f

[pve-devel] [PATCH qemu-server 10/14] blockdev: convert drive_mirror to blockdev_mirror

2025-04-22 Thread Alexandre Derumier via pve-devel
--- Begin Message --- FIXME: port qemu bitmap drive-mirror patch to blockdev-mirror Signed-off-by: Alexandre Derumier --- PVE/QemuMigrate.pm| 2 +- PVE/QemuServer.pm | 61 --- test/MigrationTest/QemuMigrateMock.pm | 10 +++-- 3

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

2025-04-22 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 --- PVE/QemuServer.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PVE/QemuServer.pm b/PVE/QemuServ

[pve-devel] [PATCH qemu-server 07/14] blockdev: convert cdrom media eject/insert

2025-04-22 Thread Alexandre Derumier via pve-devel
--- Begin Message --- reuse the code for cloud-init too Signed-off-by: Alexandre Derumier --- PVE/QemuServer.pm | 58 +-- 1 file changed, 21 insertions(+), 37 deletions(-) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index 02bbadd4..c72b58bf 100

[pve-devel] [PATCH pve-storage 2/5] qcow2: add external snapshot support

2025-04-22 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 | 5 +- src/PVE/Stora

[pve-devel] [PATCH qemu-server 09/14] blockdev: nbd_export: block-export-add : use drive-$id for nodename

2025-04-22 Thread Alexandre Derumier via pve-devel
--- Begin Message --- we have fixed nodename now Signed-off-by: Alexandre Derumier --- PVE/QemuServer.pm | 7 +-- 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index 9bf4878f..783f58c3 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm

[pve-devel] [PATCH pve-storage 5/5] volume_has_feature: return storage|qemu_internal|qemu_external snapshot_type

2025-04-22 Thread Alexandre Derumier via pve-devel
--- Begin Message --- 1: storage snapshot 2: qemu internal snapshot 3: qemu external snapshot can be use be qemu-server to known the type of snapshot supported Signed-off-by: Alexandre Derumier --- src/PVE/Storage/LVMPlugin.pm | 6 +++--- src/PVE/Storage/Plugin.pm| 11 --- src/PVE/

[pve-devel] [PATCH pve-storage 4/5] storage: vdisk_free: remove external snapshots

2025-04-22 Thread Alexandre Derumier via pve-devel
--- Begin Message --- add a $include_snapshots param to free_image to remove the whole chain of snapshots when deleting the main image. Signed-off-by: Alexandre Derumier --- src/PVE/Storage.pm | 2 +- src/PVE/Storage/LVMPlugin.pm | 72 src/PVE/Stor

[pve-devel] [PATCH qemu-server 06/14] blockdev: vm_devices_list : fix block-query

2025-04-22 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Look at qdev value, as cdrom drives can be empty without any inserted media Signed-off-by: Alexandre Derumier --- PVE/QemuServer.pm | 17 ++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index 11bdc9ff..0

[pve-devel] [PATCH qemu-server 04/14] blockdev : convert qemu_driveadd && qemu_drivedel

2025-04-22 Thread Alexandre Derumier via pve-devel
--- Begin Message --- fixme: backup seem to use a tpmstate0-backup drive. Not sure how it's works, but I think it could be converted to blockdev too Signed-off-by: Alexandre Derumier --- PVE/QemuServer.pm | 37 +++-- PVE/QemuServer/Drive.pm | 1 + 2 files c

[pve-devel] [PATCH qemu-server 05/14] replace qemu_block_set_io_throttle with qom-set throttlegroup limits

2025-04-22 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- PVE/QemuServer.pm | 49 ++- 1 file changed, 27 insertions(+), 22 deletions(-) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index f12e27f2..11bdc9ff 100644 --- a/PVE/QemuServer.pm +++ b/P

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

2025-04-22 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- PVE/QemuConfig.pm | 4 +- PVE/QemuServer.pm | 237 +++- PVE/QemuServer/Drive.pm | 39 --- 3 files changed, 239 insertions(+), 41 deletions(-) diff --git a/PVE/QemuConfig.pm b/PVE/Qe

[pve-devel] [PATCH pve-storage 3/5] lvmplugin: add qcow2 snapshot

2025-04-22 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 Derumier

[pve-devel] [PATCH qemu-server 11/14] blockdev: change aio on target if io_uring is not default.

2025-04-22 Thread Alexandre Derumier via pve-devel
--- Begin Message --- This was a limitation of drive-mirror, blockdev mirror is able to reopen image with a different aio. Do the change when generating the blockdev_format Signed-off-by: Alexandre Derumier --- PVE/QemuServer.pm | 31 --- PVE/QemuServer/Drive.p

[pve-devel] [PATCH qemu-server 13/14] blockdev: add backing_chain support

2025-04-22 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 --- PVE/QemuServer/Drive

[pve-devel] [PATCH pve-qemu 1/1] add block-commit-replaces option patch

2025-04-22 Thread Alexandre Derumier via pve-devel
--- Begin Message --- This is needed for external snapshot live commit, when the top blocknode is not the fmt-node. (in our case, the throttle-group node is the topnode) Signed-off-by: Alexandre Derumier --- ...074-block-commit-add-replaces-option.patch | 137 ++ debian/patches/s

[pve-devel] [PATCH qemu-server 08/14] blockdev: block_resize: convert to blockdev

2025-04-22 Thread Alexandre Derumier via pve-devel
--- Begin Message --- We need to use the top blocknode (throttle) as name-node Signed-off-by: Alexandre Derumier --- PVE/QemuServer.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index c72b58bf..9bf4878f 100644 --- a/PVE/QemuServer.pm

[pve-devel] [PATCH pve-storage 1/5] rename_volume: add source && target snap

2025-04-22 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 | 4 ++-- src/PVE/Storage/LVMPlugin.pm | 8 ++-- src/PVE/Storage/Plugin.pm| 5 - 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/

[pve-devel] [PATCH qemu-server 01/14] tests: add cfg2cmd for disk passthrough, rbd, krbd && zfs-over-scsi.

2025-04-22 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- test/cfg2cmd/simple-disk-passthrough.conf | 15 test/cfg2cmd/simple-disk-passthrough.conf.cmd | 37 +++ test/cfg2cmd/simple-rbd.conf | 15 test/cfg2cmd/simple-rbd.conf.cmd

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

2025-04-22 Thread Alexandre Derumier via pve-devel
--- Begin Message --- 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

[pve-devel] [PATCH pve-manager 1/1] migrate: allow migration from dead node

2025-03-24 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- www/manager6/window/Migrate.js | 19 +-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/www/manager6/window/Migrate.js b/www/manager6/window/Migrate.js index 78d03921..db63e484 100644 --- a/www/manager6/wi

[pve-devel] [PATCH qemu-server 1/1] qemu: add offline migration from dead node

2025-03-24 Thread Alexandre Derumier via pve-devel
--- Begin Message --- verify that node is dead from corosync && ssh and move config file from /etc/pve directly Signed-off-by: Alexandre Derumier --- PVE/API2/Qemu.pm | 56 1 file changed, 52 insertions(+), 4 deletions(-) diff --git a/PVE/API2/Qe

[pve-devel] [RFC qemu-server/pve-manager] Allow offline vm migration from dead nodes

2025-03-24 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Currently, without HA, the only way to move a vm from a dead node, it to manually move the vm config file through ssh. This patch series add support do to it through api, with extra verification to check if the node is really dead. (corosync + ping + ssh). lxc is not yet

[pve-devel] [PATCH v4 qemu-server 10/11] blockdev: add backing_chain support

2025-03-15 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 --- PVE/QemuServer.pm

[pve-devel] [PATCH v4 pve-qemu 1/1] add block-commit-replaces option patch

2025-03-11 Thread Alexandre Derumier via pve-devel
--- Begin Message --- This is needed for external snapshot live commit, when the top blocknode is not the fmt-node. (in our case, the throttle-group node is the topnode) Signed-off-by: Alexandre Derumier --- ...051-block-commit-add-replaces-option.patch | 137 ++ debian/patches/s

[pve-devel] [PATCH v4 pve-storage 5/5] lvm: add lvremove helper

2025-03-11 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Storage/LVMPlugin.pm | 15 ++- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/PVE/Storage/LVMPlugin.pm b/src/PVE/Storage/LVMPlugin.pm index 2431fcd..ab3563b 100644 --- a/src/PVE/Storage/LVMPlugin.p

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

2025-03-11 Thread Alexandre Derumier via pve-devel
--- Begin Message --- 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

[pve-devel] [PATCH v4 pve-storage 2/5] lvmplugin: add qcow2 snapshot

2025-03-11 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Storage/LVMPlugin.pm | 228 --- 1 file changed, 210 insertions(+), 18 deletions(-) diff --git a/src/PVE/Storage/LVMPlugin.pm b/src/PVE/Storage/LVMPlugin.pm index 38f7fa1..19dbd7e 100644 --- a/src/

[pve-devel] [PATCH v4 qemu-server 07/11] blockdev: nbd_export: block-export-add : use drive-$id for nodename

2025-03-11 Thread Alexandre Derumier via pve-devel
--- Begin Message --- we have fixed nodename now Signed-off-by: Alexandre Derumier --- PVE/QemuServer.pm | 7 +-- 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index fcfd59b3..a9c8b758 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm

[pve-devel] [PATCH v4 qemu-server 09/11] blockdev: change aio on target if io_uring is not default.

2025-03-11 Thread Alexandre Derumier via pve-devel
--- Begin Message --- This was a limitation of drive-mirror, blockdev mirror is able to reopen image with a different aio. Do the change when generating the blockdev_format Signed-off-by: Alexandre Derumier --- PVE/QemuServer.pm | 4 PVE/QemuServer/Drive.pm | 30 +++-

[pve-devel] [PATCH v4 pve-storage 3/5] storage: vdisk_free: remove external snapshots

2025-03-11 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Storage.pm | 18 +- src/test/run_test_zfspoolplugin.pl | 18 ++ 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/src/PVE/Storage.pm b/src/PVE/Storage.pm index 79e5c3a.

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

2025-03-11 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- PVE/QemuConfig.pm | 4 +- PVE/QemuServer.pm | 226 +--- PVE/QemuServer/Drive.pm | 4 + 3 files changed, 220 insertions(+), 14 deletions(-) diff --git a/PVE/QemuConfig.pm b/PVE/QemuConf

[pve-devel] [PATCH v4 qemu-server 08/11] blockdev: convert drive_mirror to blockdev_mirror

2025-03-11 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- PVE/QemuMigrate.pm| 2 +- PVE/QemuServer.pm | 65 ++- test/MigrationTest/QemuMigrateMock.pm | 10 +++-- 3 files changed, 50 insertions(+), 27 deletions(-) diff --git a/PVE

[pve-devel] [PATCH v4 qemu-server 05/11] blockdev: convert cdrom media eject/insert

2025-03-11 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- PVE/QemuServer.pm | 24 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index 5ccc026a..db95af0a 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -52

[pve-devel] [PATCH v4 pve-storage 4/5] lvm: lvrename helper: allow path

2025-03-11 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Storage/LVMPlugin.pm | 8 +--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/PVE/Storage/LVMPlugin.pm b/src/PVE/Storage/LVMPlugin.pm index 19dbd7e..2431fcd 100644 --- a/src/PVE/Storage/LVMPlugin.pm +++ b/s

[pve-devel] [PATCH v4 qemu-server 02/11] blockdev : convert qemu_driveadd && qemu_drivedel

2025-03-11 Thread Alexandre Derumier via pve-devel
--- Begin Message --- fixme/testme : PVE/VZDump/QemuServer.pm:eval { PVE::QemuServer::qemu_drivedel($vmid, "tpmstate0-backup"); }; Signed-off-by: Alexandre Derumier --- PVE/QemuServer.pm | 33 + 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/

[pve-devel] [PATCH v4 qemu-server 01/11] blockdev: cmdline: convert drive to blockdev syntax

2025-03-11 Thread Alexandre Derumier via pve-devel
--- Begin Message --- The blockdev chain is: -throttle-group-node (drive-(ide|scsi|virtio)x) - format-node (fmt-drive-x) - file-node (file-drive -x) Signed-off-by: Alexandre Derumier --- PVE/QemuServer.pm | 195 + PVE/QemuServer/Drive.pm

[pve-devel] [PATCH v4 qemu-server 06/11] blockdev: block_resize: convert to blockdev

2025-03-11 Thread Alexandre Derumier via pve-devel
--- Begin Message --- We need to use the top blocknode (throttle) as name-node Signed-off-by: Alexandre Derumier --- PVE/QemuServer.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index db95af0a..fcfd59b3 100644 --- a/PVE/QemuServer.pm

[pve-devel] [PATCH v4 pve-storage 1/5] qcow2: add external snapshot support

2025-03-11 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Storage.pm | 4 +- src/PVE/Storage/DirPlugin.pm | 1 + src/PVE/Storage/Plugin.pm| 232 +-- 3 files changed, 196 insertions(+), 41 deletions(-) diff --git a/src/PVE/Storage.pm b/s

[pve-devel] [PATCH v4 qemu-server 03/11] replace qemu_block_set_io_throttle with qom-set throttlegroup limits

2025-03-11 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- PVE/QemuServer.pm | 49 ++- 1 file changed, 27 insertions(+), 22 deletions(-) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index 9ad12186..faa17edb 100644 --- a/PVE/QemuServer.pm +++ b/P

[pve-devel] [PATCH v4 qemu-server 04/11] blockdev: vm_devices_list : fix block-query

2025-03-11 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Look at qdev value, as cdrom drives can be empty without any inserted media Signed-off-by: Alexandre Derumier --- PVE/QemuServer.pm | 9 + 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index faa17edb..5ccc026a 10

[pve-devel] [PATCH pve-storage] qcow2: resize: add preallocation support

2024-12-19 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Seem that we totally forgot to add it, it's available since 2017 https://www.mail-archive.com/qemu-devel@nongnu.org/msg436979.html --- src/PVE/Storage/Plugin.pm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/PVE/Storage/Plugin.pm b/src/PVE/Storage/

[pve-devel] [PATCH pve-network] controllers: bgp: split v4 && v6 peers in different groups

2024-12-19 Thread Alexandre Derumier via pve-devel
--- Begin Message --- reported by user on the forum: https://forum.proxmox.com/threads/sdn-mismatch-afi-with-bgp-controller-ipv6-session.159250/ This is for dualstack, when evpn is ipv4, and bgp is ipv6+(ipv4) Signed-off-by: Alexandre Derumier --- src/PVE/Network/SDN/Controllers/BgpPlugin.pm |

[pve-devel] [PATCH pve-docs] sdn: evpn: add a note about nf_conntrack_allow_invalid with multiple exit-nodes

2024-12-16 Thread Alexandre Derumier via pve-devel
--- Begin Message --- reported on the forum: https://forum.proxmox.com/threads/evpn-vpls-with-multi-exit-nodes-firewall-drop-packet-with-asymetric-routing.158225 With multiple exit-nodes, traffic can be asymetric, so we need to enable invalid conntrack Signed-off-by: Alexandre Derumier --- pve

[pve-devel] [PATCH pve-firewall] rename sysctl.d/pve-firewall.conf to 10-pve-firewall.conf

2024-12-16 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Currently, It's not possible to override the values in sysctl.conf because pve-firewall.conf is exected after. * Applying /usr/lib/sysctl.d/10-pve-ct-inotify-limits.conf ... * Applying /usr/lib/sysctl.d/10-pve.conf ... * Applying /etc/sysctl.d/30-ceph-osd.conf ... * Applying

[pve-devel] [PATCH v3 qemu-server 08/11] blockdev: convert drive_mirror to blockdev_mirror

2024-12-16 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- PVE/QemuMigrate.pm | 2 +- PVE/QemuServer.pm | 106 +++-- 2 files changed, 83 insertions(+), 25 deletions(-) diff --git a/PVE/QemuMigrate.pm b/PVE/QemuMigrate.pm index ed5ede30..88627ce4 100644

[pve-devel] [PATCH v3 pve-storage 3/3] storage: vdisk_free: remove external snapshots

2024-12-16 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Storage.pm | 18 +- src/test/run_test_zfspoolplugin.pl | 18 ++ 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/src/PVE/Storage.pm b/src/PVE/Storage.pm index 3b4f041.

[pve-devel] [PATCH v3 pve-storage 2/3] lvmplugin: add qcow2 snapshot

2024-12-16 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Storage/LVMPlugin.pm | 231 --- 1 file changed, 213 insertions(+), 18 deletions(-) diff --git a/src/PVE/Storage/LVMPlugin.pm b/src/PVE/Storage/LVMPlugin.pm index 88fd612..1257cd3 100644 --- a/src/

[pve-devel] [PATCH v3 qemu-server 07/11] blockdev: nbd_export: block-export-add : use drive-$id for nodename

2024-12-16 Thread Alexandre Derumier via pve-devel
--- Begin Message --- we have fixed nodename now Signed-off-by: Alexandre Derumier --- PVE/QemuServer.pm | 7 +-- 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index 22b011e1..6bebb906 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm

[pve-devel] [PATCH v3 qemu-server 04/11] blockdev: vm_devices_list : fix block-query

2024-12-16 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Look at qdev value, as cdrom drives can be empty without any inserted media Signed-off-by: Alexandre Derumier --- PVE/QemuServer.pm | 7 +++ 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index baf78ec0..3b33fd7d 1006

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

2024-12-16 Thread Alexandre Derumier via pve-devel
--- Begin Message --- 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

[pve-devel] [PATCH v3 pve-storage 1/3] qcow2: add external snapshot support

2024-12-16 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Storage/DirPlugin.pm | 1 + src/PVE/Storage/Plugin.pm| 207 +-- 2 files changed, 176 insertions(+), 32 deletions(-) diff --git a/src/PVE/Storage/DirPlugin.pm b/src/PVE/Storage/DirPlugin.pm i

[pve-devel] [PATCH v1 pve-qemu 1/1] add block-commit-replaces option patch

2024-12-16 Thread Alexandre Derumier via pve-devel
--- Begin Message --- This is needed for external snapshot live commit, when the top blocknode is not the fmt-node. (in our case, the throttle-group node is the topnode) Signed-off-by: Alexandre Derumier --- ...052-block-commit-add-replaces-option.patch | 137 ++ debian/patches/s

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

2024-12-16 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- PVE/QemuConfig.pm | 4 +- PVE/QemuServer.pm | 345 -- 2 files changed, 335 insertions(+), 14 deletions(-) diff --git a/PVE/QemuConfig.pm b/PVE/QemuConfig.pm index ffdf9f03..c17edb46 100644 -

[pve-devel] [PATCH v3 qemu-server 09/11] blockdev: mirror: change aio on target if io_uring is not default.

2024-12-16 Thread Alexandre Derumier via pve-devel
--- Begin Message --- This was a limitation of drive-mirror, blockdev mirror is able to reopen image with a different aio Signed-off-by: Alexandre Derumier --- PVE/QemuServer.pm | 41 ++--- 1 file changed, 10 insertions(+), 31 deletions(-) diff --git a/PVE/Qe

[pve-devel] [PATCH v3 qemu-server 10/11] blockdev: add backing_chain support

2024-12-16 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 --- PVE/QemuServer.pm |

[pve-devel] [PATCH v3 qemu-server 02/11] blockdev: fix cfg2cmd tests

2024-12-16 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- test/cfg2cmd/bootorder-empty.conf.cmd | 12 ++ test/cfg2cmd/bootorder-legacy.conf.cmd| 12 ++ test/cfg2cmd/bootorder.conf.cmd | 12 ++ ...putype-icelake-client-deprecation.conf.cmd |

[pve-devel] [PATCH v3 qemu-server 05/11] blockdev: convert cdrom media eject/insert

2024-12-16 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- PVE/QemuServer.pm | 15 ++- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index 3b33fd7d..758c8240 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -5694,7 +5694

[pve-devel] [PATCH v3 qemu-server 06/11] blockdev: block_resize: convert to blockdev

2024-12-16 Thread Alexandre Derumier via pve-devel
--- Begin Message --- We need to use the top blocknode (throttle) as name-node Signed-off-by: Alexandre Derumier --- PVE/QemuServer.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index 758c8240..22b011e1 100644 --- a/PVE/QemuServer.pm

[pve-devel] [PATCH v3 qemu-server 03/11] blockdev : convert qemu_driveadd && qemu_drivedel

2024-12-16 Thread Alexandre Derumier via pve-devel
--- Begin Message --- fixme/testme : PVE/VZDump/QemuServer.pm:eval { PVE::QemuServer::qemu_drivedel($vmid, "tpmstate0-backup"); }; Signed-off-by: Alexandre Derumier --- PVE/QemuServer.pm | 64 +-- 1 file changed, 45 insertions(+), 19 deletions(-)

[pve-devel] [PATCH v3 qemu-server 01/11] blockdev: cmdline: convert drive to blockdev syntax

2024-12-16 Thread Alexandre Derumier via pve-devel
--- Begin Message --- The blockdev chain is: -throttle-group-node (drive-(ide|scsi|virtio)x) - format-node (fmt-drive-x) - file-node (file-drive -x) fixme: implement iscsi:// path Signed-off-by: Alexandre Derumier --- PVE/QemuServer.pm | 351 +++--

[pve-devel] Nobody from proxmox team AT cephalocon ?

2024-12-04 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Hi guys, I m AT the cephalocon AT Genève for 2 days. Any proxmox devs here ? --- End Message --- ___ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

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

2024-09-30 Thread Alexandre Derumier via pve-devel
--- Begin Message --- This patch series implement qcow2 external snapshot support for files && lvm volumes The current internal qcow2 snapshots have a lot of performance problems. I have tested through nfs and also local filesystem https://lore.proxmox.com/pve-devel/6a44716a-88bc-4523-b210-d6703

[pve-devel] [PATCH v2 qemu-server 1/1] implement external snapshot

2024-09-30 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- PVE/QemuServer.pm | 108 -- 1 file changed, 95 insertions(+), 13 deletions(-) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index b26da505..1523df15 100644 --- a/PVE/QemuServer.pm +++ b/P

[pve-devel] [PATCH v2 pve-storage 2/2] add lvmqcow2 plugin: (lvm with external qcow2 snapshot)

2024-09-30 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Storage.pm| 2 + src/PVE/Storage/LvmQcow2Plugin.pm | 460 ++ src/PVE/Storage/Makefile | 3 +- 3 files changed, 464 insertions(+), 1 deletion(-) create mode 100644 src/PVE/

[pve-devel] [PATCH v2 pve-storage 1/2] add external snasphot support

2024-09-30 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Storage/DirPlugin.pm | 1 + src/PVE/Storage/Plugin.pm| 225 +++ 2 files changed, 201 insertions(+), 25 deletions(-) diff --git a/src/PVE/Storage/DirPlugin.pm b/src/PVE/Storage/DirPlugin.pm i

[pve-devel] [PATCH pve-storage] lvmplugin: fix: activate|deactivate volume, add missing storeid param in path sub

2024-09-25 Thread Alexandre Derumier via pve-devel
--- Begin Message --- $storeid param is missing and $snapname is used as third param. This seem to works actually because $snapname is always empty in lvm Signed-off-by: Alexandre Derumier --- src/PVE/Storage/LVMPlugin.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/s

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

2024-09-19 Thread Alexandre Derumier via pve-devel
--- Begin Message --- This patch series implement qcow2 external snapshot support. (for directory plugin currently,but it can be extended to nfs, gluster,...) The current internal qcow2 snapshots have a lot of performance problems. I have tested through nfs and also local filesystem https://lore

[pve-devel] [PATCH qemu-server 1/1] implement external snapshot

2024-09-19 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- PVE/QemuServer.pm | 74 +++ 1 file changed, 62 insertions(+), 12 deletions(-) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index b26da505..646e3476 100644 --- a/PVE/QemuServer.pm +++ b/P

[pve-devel] [PATCH pve-storage 1/1] add external snasphot support

2024-09-19 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Storage/DirPlugin.pm | 1 + src/PVE/Storage/Plugin.pm| 220 +++ 2 files changed, 196 insertions(+), 25 deletions(-) diff --git a/src/PVE/Storage/DirPlugin.pm b/src/PVE/Storage/DirPlugin.pm i

[pve-devel] [PATCH pve-storage 5/5] add volume_underlay_shrink

2024-08-26 Thread Alexandre Derumier via pve-devel
--- Begin Message --- reduce underlay volume size to minimum used Signed-off-by: Alexandre Derumier --- src/PVE/Storage.pm| 15 +++ src/PVE/Storage/LVMQcow2Plugin.pm | 31 +++ src/PVE/Storage/Plugin.pm | 7 +++ 3 files changed,

[pve-devel] [PATCH SERIES storage/qemu-server/-manager] RFC : add lvmqcow2 storage support

2024-08-26 Thread Alexandre Derumier via pve-devel
--- Begin Message --- This patch series add support for a new lvmqcow2 storage format. Currently, we can't do snasphot && thin provisionning on shared block devices because lvm thin can't share his metavolume. I have a lot of onprem vmware customers where it's really blocking the proxmox migratio

[pve-devel] [PATCH pve-storage 4/5] add refresh volume

2024-08-26 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Storage.pm| 13 + src/PVE/Storage/LVMQcow2Plugin.pm | 8 src/PVE/Storage/Plugin.pm | 6 ++ 3 files changed, 27 insertions(+) diff --git a/src/PVE/Storage.pm b/src/PVE/Storage.pm

[pve-devel] [PATCH pve-manager 1/1] pvestatd: lvmqcow2 : extend disk on io-error

2024-08-26 Thread Alexandre Derumier via pve-devel
--- Begin Message --- if the write are really too fast, and the auto extend from qmp event is too slow, the vm could try to write to an qcow2 offset highter than the lvm underlay. In this case, the vm will be paused in "io-error" mode. To fix it, try to extend drive and resume the vm. Signed-off

[pve-devel] [PATCH qemu-server 4/6] migration: refresh remote disk size before resume

2024-08-26 Thread Alexandre Derumier via pve-devel
--- Begin Message --- A blockextend occur on source just before the switch. we want to be sure that lvm size on target is correctly refreshed, or we could have io-error is the vm is writing to non available sectors Signed-off-by: Alexandre Derumier --- PVE/CLI/qm.pm | 2

[pve-devel] [PATCH pve-storage 3/5] add volume_underlay_resize

2024-08-26 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Allow to resize the underlay vm volume Signed-off-by: Alexandre Derumier --- src/PVE/Storage.pm| 18 ++ src/PVE/Storage/LVMQcow2Plugin.pm | 12 src/PVE/Storage/Plugin.pm | 7 +++ 3 files changed, 37 insertions(+) di

[pve-devel] [PATCH qemu-server 6/6] clone: allocate && shrink lvmcow2 underlay

2024-08-26 Thread Alexandre Derumier via pve-devel
--- Begin Message --- We allocated the full size for underlay, as we can't easily known what is the used size of the source. (we could use qemu-img measure, but for some storage like nfs, it need full read to detected sparsiness for example). Then, after the copy, we use qemu-img measure to detec

[pve-devel] [PATCH pve-storage 2/5] vdisk_alloc: add underlay_size option

2024-08-26 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Storage.pm| 4 ++-- src/PVE/Storage/LVMQcow2Plugin.pm | 5 - 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/PVE/Storage.pm b/src/PVE/Storage.pm index 97e77c8..385150e 100755 --- a/src/PVE/S

[pve-devel] [PATCH qemu-server 3/6] qmevent: call qm disk blockextend when write_threshold event is received

2024-08-26 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- qmeventd/qmeventd.c | 27 +++ 1 file changed, 27 insertions(+) diff --git a/qmeventd/qmeventd.c b/qmeventd/qmeventd.c index d8f3ee7..4f45b6f 100644 --- a/qmeventd/qmeventd.c +++ b/qmeventd/qmeventd.c @@ -229,6 +2

[pve-devel] [PATCH qemu-server 5/6] qemu_img_format: lvmqcow2 is a path_storage

2024-08-26 Thread Alexandre Derumier via pve-devel
--- Begin Message --- needed for snapshot Signed-off-by: Alexandre Derumier --- PVE/QemuServer.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index fb67ac9..a6a40cd 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -7922,7 +79

[pve-devel] [PATCH pve-storage 1/5] add lvmqcow2 plugin

2024-08-26 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Storage.pm| 2 + src/PVE/Storage/LVMQcow2Plugin.pm | 218 ++ src/PVE/Storage/Makefile | 3 +- 3 files changed, 222 insertions(+), 1 deletion(-) create mode 100644 src/PVE/

[pve-devel] [PATCH qemu-server 1/6] lvmqcow2: set disk write threshold

2024-08-26 Thread Alexandre Derumier via pve-devel
--- Begin Message --- on vm start or when we hotplug a disk, we add a write threshold. The threshold is: size of the lvm - (chunk_usage_percent * chunksize) qemu will emit an event when the vm write on an offset higher than the threshold, and the counter is reset to 0. (So, we'll need to set thr

[pve-devel] [PATCH qemu-server 2/6] qm cli: add blockextend

2024-08-26 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Increase the underlay storage size to an higher value than current max offset or 1 chunk bigger we max write offset is 0 Signed-off-by: Alexandre Derumier --- PVE/CLI/qm.pm | 31 PVE/QemuServer.pm | 52 +++

[pve-devel] [PATCH pve-storage] qcow2 format: enable subcluster allocation by default

2024-07-03 Thread Alexandre Derumier via pve-devel
--- Begin Message --- extended_l2 is an optimisation to reduce write amplification. Currently,without it, when a vm write 4k, a full 64k cluster need to be writen. When enabled, the cluster is splitted in 32 subclusters. We use a 128k cluster by default, to have 32 * 4k subclusters https://blogs

[pve-devel] [PATCH pve-network 1/1] vnets : add ports isolation

2024-04-25 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Add support for bridge ports isolation https://github.com/torvalds/linux/commit/7d850abd5f4edb1b1ca4b4141a4453305736f564 This allow to drop traffic between all ports having isolation enabled on the local bridge, but allow traffic with non isolated ports. Here,we isolate traf

[pve-devel] [PATCH pve-manager 1/1] sdn: vnet: add ports-isolation option.

2024-04-25 Thread Alexandre Derumier via pve-devel
--- Begin Message --- also move vlan-aware in advanced section Signed-off-by: Alexandre Derumier --- www/manager6/sdn/VnetEdit.js | 12 1 file changed, 12 insertions(+) diff --git a/www/manager6/sdn/VnetEdit.js b/www/manager6/sdn/VnetEdit.js index cdd83ed4..a00f83e6 100644 --- a/ww

[pve-devel] [PATCH pve-network/pve-common/pve-manager] fix #4300 : sdn: add bridge ports isolation

2024-04-25 Thread Alexandre Derumier via pve-devel
--- Begin Message --- This patches series add support for sdn vnet bridge ports isolation pve-network: Alexandre Derumier (1): vnets : add ports isolation src/PVE/Network/SDN/VnetPlugin.pm | 5 + src/PVE/Network/SDN/Zones/Plugin.pm | 1 + 2 files changed, 6 insertions(+) pve-common:

[pve-devel] [PATCH pve-common 1/1] tap_plug: add support for bridge port isolation

2024-04-25 Thread Alexandre Derumier via pve-devel
--- Begin Message --- This is allow to block traffic/isolation traffic between all ports on the bridge with isolation (so between the vms), ans still allow incoming traffic from uplink. Signed-off-by: Alexandre Derumier --- src/PVE/Network.pm | 14 -- 1 file changed, 12 insertions(+)

[pve-devel] [PATCH pve-network] fix #5398: vxlan: only ipv4 is currently supported

2024-04-24 Thread Alexandre Derumier via pve-devel
--- Begin Message --- ifupdown2 only support ipv4 (could be fixed) frr/evpn: don't support ipv6 at all Signed-off-by: Alexandre Derumier --- src/PVE/Network/SDN/Controllers/EvpnPlugin.pm | 2 +- src/PVE/Network/SDN/Zones/VxlanPlugin.pm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(

[pve-devel] [PATCH pve-network] fix #5343 : isis: fix ipv6 && custom router config

2024-04-16 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Network/SDN/Controllers/IsisPlugin.pm| 3 ++- src/test/zones/evpn/isis/expected_controller_config | 2 ++ src/test/zones/evpn/isis_loopback/expected_controller_config | 2 ++ 3 files changed, 6 insertions

[pve-devel] [PATCH pve-network] fix #5319: frr.local: add support for bgp-community

2024-04-16 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Need to be inserted after ip prefix-list and before route map Signed-off-by: Alexandre Derumier --- src/PVE/Network/SDN/Controllers/EvpnPlugin.pm | 15 +-- 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/PVE/Network/SDN/Controllers/EvpnPlugin.p

[pve-devel] [PATCH pve-network] fix #5344: isis: add isis networkid parser

2024-04-16 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Network/SDN/Controllers/IsisPlugin.pm | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/PVE/Network/SDN/Controllers/IsisPlugin.pm b/src/PVE/Network/SDN/Controllers/IsisPlugin.pm index afea82e..

[pve-devel] [PATCH v2 pve-network] fix #5364: bgp|evpn: derivated router-id from mac address for ipv6 underlay

2024-04-12 Thread Alexandre Derumier via pve-devel
--- Begin Message --- for ipv4, we use the iface ipv4 router-id as router-id need to 32bit. That's doesn't work for pure ipv6 underlay network. since https://www.rfc-editor.org/rfc/rfc6286, we can use any 32bit id, it's just need to be unique in the ASN. Simply use the last 4 bytes of iface mac

[pve-devel] [PATCH pve-network] fix #5364: bgp|evpn: derivated router-id from mac address for ipv6 underlay

2024-04-12 Thread Alexandre Derumier via pve-devel
--- Begin Message --- for ipv4, we use the iface ipv4 router-id as router-id need to 32bit. That's doesn't work for pure ipv6 underlay network. since https://www.rfc-editor.org/rfc/rfc6286, we can use any 32bit id, it's just need to be unique in the ASN. Simply use the last 4 bytes of iface mac

[pve-devel] [PATCH pve-network] fix #5361: evpn: fix ipv6 route-map

2024-04-12 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Signed-off-by: Alexandre Derumier --- src/PVE/Network/SDN/Controllers/EvpnPlugin.pm | 2 +- src/test/zones/evpn/exitnode/expected_controller_config | 2 +- .../evpn/exitnode_local_routing/expected_controller_config| 2 +- src/test/zones/evpn/exitnod

[pve-devel] [PATCH v3 pve-manager 0/2] cloudinit pending behaviour change

2022-06-22 Thread Alexandre Derumier via pve-devel
--- Begin Message --- Implement new cloudinit api from last qemu-server patch serie. I don't have tuned it yet, the rstore is polling the api each second, so extract the config from cloudinit drive each time. I need to check how to load it once or when regenerated only. need qemu-server patch s