From 26697640d6ef746e7e8d5ca41e424eb78e3a8079 Mon Sep 17 00:00:00 2001 From: Stefan Reiter Date: Wed, 3 Mar 2021 10:56:11 +0100 Subject: [PATCH] live-restore: register qmeventd handle Similar to backups, prevent QEMU from being killed by qmeventd during the live-restore, so a guest can shut itself down without aborting the restore operation. Note that the 'close' is only to be explicit, the handle will also be closed in case an operation errors (i.e. when the 'eval' is left). Signed-off-by: Stefan Reiter --- PVE/QemuServer.pm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index 4395ecb3..0f1751e0 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -6440,6 +6440,8 @@ sub pbs_live_restore { {}, ); + my $qmeventd_fd = register_qmeventd_handle($vmid); + # begin streaming, i.e. data copy from PBS to target disk for every vol, # this will effectively collapse the backing image chain consisting of # [target <- alloc-track -> PBS snapshot] to just [target] (alloc-track @@ -6461,6 +6463,8 @@ sub pbs_live_restore { foreach my $ds (keys %$restored_disks) { mon_cmd($vmid, 'blockdev-del', 'node-name' => "$ds-pbs"); } + + close($qmeventd_fd); }; my $err = $@;