[pve-devel] [PATCH qemu-server v2 44/49] live import/restore: query which node to use for operation
Fiona Ebner
f.ebner at proxmox.com
Tue Jul 1 17:41:04 CEST 2025
In preparation for the switch to -blockdev.
Otherwise, there would be an error:
> An error occurred during live-restore: VM 103 qmp command
> 'block-stream' failed - Permission conflict on node
> 'a25d9b2028b5a364dddbb033603b68c': permissions 'write' are both
> required by node 'drive-ide0' (uses node
> 'a25d9b2028b5a364dddbb033603b68c' as 'file' child) and unshared
> by stream job 'restore-drive-ide0' (uses node
> 'a25d9b2028b5a364dddbb033603b68c' as 'intermediate node' child).
Signed-off-by: Fiona Ebner <f.ebner at proxmox.com>
---
src/PVE/QemuServer.pm | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/PVE/QemuServer.pm b/src/PVE/QemuServer.pm
index 05c19390..d4154aeb 100644
--- a/src/PVE/QemuServer.pm
+++ b/src/PVE/QemuServer.pm
@@ -7037,11 +7037,12 @@ sub pbs_live_restore {
# removes itself once all backing images vanish with 'auto-remove=on')
my $jobs = {};
for my $ds (sort keys %$restored_disks) {
+ my $node_name = PVE::QemuServer::Blockdev::get_node_name_below_throttle($vmid, $ds);
my $job_id = "restore-$ds";
mon_cmd(
$vmid, 'block-stream',
'job-id' => $job_id,
- device => "$ds",
+ device => "$node_name",
'auto-dismiss' => JSON::false,
);
$jobs->{$job_id} = {};
@@ -7138,11 +7139,13 @@ sub live_import_from_files {
# removes itself once all backing images vanish with 'auto-remove=on')
my $jobs = {};
for my $ds (sort keys %$live_restore_backing) {
+ my $node_name =
+ PVE::QemuServer::Blockdev::get_node_name_below_throttle($vmid, "drive-$ds");
my $job_id = "restore-$ds";
mon_cmd(
$vmid, 'block-stream',
'job-id' => $job_id,
- device => "drive-$ds",
+ device => "$node_name",
'auto-dismiss' => JSON::false,
);
$jobs->{$job_id} = {};
--
2.47.2
More information about the pve-devel
mailing list