From 72b4151f858df3564b82a8ebba60778b996b6dce Mon Sep 17 00:00:00 2001 From: Luyao Huang Date: Fri, 14 Nov 2014 11:21:10 +0800 Subject: [PATCH] qemu: Fix get blkiodevtune for a disk that has been hot unplugged https://bugzilla.redhat.com/show_bug.cgi?id=1164080 After a disk is hotunplugged a subsequent call to qemuDomainGetBlockIoTune to get the --config settings of that disk will fail because the disk is no longer found by qemuDiskPathToAlias causing an unexpected failure. Since only the --live flag needs to have the disk device pointer, move the fetch inside the (flags & VIR_DOMAIN_AFFECT_LIVE) condition. This will also affect the results if no flags are provided or the --current flag is provided. Signed-off-by: Luyao Huang --- src/qemu/qemu_driver.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 7e21ffdf24..9b19629a02 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -17017,11 +17017,10 @@ qemuDomainGetBlockIoTune(virDomainPtr dom, goto endjob; } - device = qemuDiskPathToAlias(vm, disk, NULL); - if (!device) - goto endjob; - if (flags & VIR_DOMAIN_AFFECT_LIVE) { + device = qemuDiskPathToAlias(vm, disk, NULL); + if (!device) + goto endjob; qemuDomainObjEnterMonitor(driver, vm); ret = qemuMonitorGetBlockIoThrottle(priv->mon, device, &reply, supportMaxOptions); qemuDomainObjExitMonitor(driver, vm);