1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2024-12-25 01:34:11 +03:00

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 <lhuang@redhat.com>
This commit is contained in:
Luyao Huang 2014-11-14 11:21:10 +08:00 committed by John Ferlan
parent 5c08b12521
commit 72b4151f85

View File

@ -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);