[pve-devel] [PATCH qemu-server 14/18] blockdev: switch blockdev_delete() to use QMP peer

Fiona Ebner f.ebner at proxmox.com
Wed Dec 3 14:26:40 CET 2025


In preparation to allow snapshot operations for QSD-FUSE-exported
TPM states.

Signed-off-by: Fiona Ebner <f.ebner at proxmox.com>
---
 src/PVE/QemuServer/Blockdev.pm | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

diff --git a/src/PVE/QemuServer/Blockdev.pm b/src/PVE/QemuServer/Blockdev.pm
index b89b0f68..7e43fbc9 100644
--- a/src/PVE/QemuServer/Blockdev.pm
+++ b/src/PVE/QemuServer/Blockdev.pm
@@ -906,9 +906,9 @@ sub blockdev_external_snapshot {
 }
 
 sub blockdev_delete {
-    my ($storecfg, $vmid, $drive, $file_blockdev, $fmt_blockdev, $snap) = @_;
+    my ($storecfg, $qmp_peer, $drive, $file_blockdev, $fmt_blockdev, $snap) = @_;
 
-    eval { detach(vm_qmp_peer($vmid), $fmt_blockdev->{'node-name'}); };
+    eval { detach($qmp_peer, $fmt_blockdev->{'node-name'}); };
     warn "detaching block node for $file_blockdev->{filename} failed - $@" if $@;
 
     #delete the file (don't use vdisk_free as we don't want to delete all snapshot chain)
@@ -1092,7 +1092,12 @@ sub blockdev_commit {
         }
 
         blockdev_delete(
-            $storecfg, $vmid, $drive, $src_file_blockdev, $src_fmt_blockdev, $src_snap,
+            $storecfg,
+            vm_qmp_peer($vmid),
+            $drive,
+            $src_file_blockdev,
+            $src_fmt_blockdev,
+            $src_snap,
         );
     };
     my $err = $@;
@@ -1172,7 +1177,14 @@ sub blockdev_stream {
         die "Failed to complete block stream: $@\n";
     }
 
-    blockdev_delete($storecfg, $vmid, $drive, $snap_file_blockdev, $snap_fmt_blockdev, $snap);
+    blockdev_delete(
+        $storecfg,
+        vm_qmp_peer($vmid),
+        $drive,
+        $snap_file_blockdev,
+        $snap_fmt_blockdev,
+        $snap,
+    );
 }
 
 1;
-- 
2.47.3





More information about the pve-devel mailing list