mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 11:22:23 +00:00
qemu: driver: Use appropriate job name when setting blockjob speed
qemuDomainBlockJobSetSpeed was not converted to get the job name from the block job data. This means that after enabling blockdev the API call would fail as we wouldn't use the appropriate name. https://bugzilla.redhat.com/show_bug.cgi?id=1780497 Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
parent
e3faa84819
commit
d179acf4ad
@ -17864,8 +17864,8 @@ qemuDomainBlockJobSetSpeed(virDomainPtr dom,
|
||||
virDomainDiskDefPtr disk;
|
||||
int ret = -1;
|
||||
virDomainObjPtr vm;
|
||||
g_autofree char *device = NULL;
|
||||
unsigned long long speed = bandwidth;
|
||||
g_autoptr(qemuBlockJobData) job = NULL;
|
||||
|
||||
virCheckFlags(VIR_DOMAIN_BLOCK_JOB_SPEED_BANDWIDTH_BYTES, -1);
|
||||
|
||||
@ -17895,12 +17895,15 @@ qemuDomainBlockJobSetSpeed(virDomainPtr dom,
|
||||
if (!(disk = qemuDomainDiskByName(vm->def, path)))
|
||||
goto endjob;
|
||||
|
||||
if (!(device = qemuAliasDiskDriveFromDisk(disk)))
|
||||
if (!(job = qemuBlockJobDiskGetJob(disk))) {
|
||||
virReportError(VIR_ERR_INVALID_ARG,
|
||||
_("disk %s does not have an active block job"), disk->dst);
|
||||
goto endjob;
|
||||
}
|
||||
|
||||
qemuDomainObjEnterMonitor(driver, vm);
|
||||
ret = qemuMonitorBlockJobSetSpeed(qemuDomainGetMonitor(vm),
|
||||
device,
|
||||
job->name,
|
||||
speed);
|
||||
if (qemuDomainObjExitMonitor(driver, vm) < 0)
|
||||
ret = -1;
|
||||
|
Loading…
x
Reference in New Issue
Block a user