mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
qemu: blockcopy: Save monitor error prior to calling into lock manager
The error would be overwritten otherwise producing a meaningless error message. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1302171
This commit is contained in:
parent
0dd1f7d2d7
commit
8551d39f4f
@ -16657,6 +16657,7 @@ qemuDomainBlockCopyCommon(virDomainObjPtr vm,
|
|||||||
virQEMUDriverConfigPtr cfg = NULL;
|
virQEMUDriverConfigPtr cfg = NULL;
|
||||||
const char *format = NULL;
|
const char *format = NULL;
|
||||||
int desttype = virStorageSourceGetActualType(mirror);
|
int desttype = virStorageSourceGetActualType(mirror);
|
||||||
|
virErrorPtr monitor_error = NULL;
|
||||||
|
|
||||||
/* Preliminaries: find the disk we are editing, sanity checks */
|
/* Preliminaries: find the disk we are editing, sanity checks */
|
||||||
virCheckFlags(VIR_DOMAIN_BLOCK_COPY_SHALLOW |
|
virCheckFlags(VIR_DOMAIN_BLOCK_COPY_SHALLOW |
|
||||||
@ -16807,6 +16808,7 @@ qemuDomainBlockCopyCommon(virDomainObjPtr vm,
|
|||||||
if (qemuDomainObjExitMonitor(driver, vm) < 0)
|
if (qemuDomainObjExitMonitor(driver, vm) < 0)
|
||||||
ret = -1;
|
ret = -1;
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
|
monitor_error = virSaveLastError();
|
||||||
qemuDomainDiskChainElementRevoke(driver, vm, mirror);
|
qemuDomainDiskChainElementRevoke(driver, vm, mirror);
|
||||||
goto endjob;
|
goto endjob;
|
||||||
}
|
}
|
||||||
@ -16827,6 +16829,10 @@ qemuDomainBlockCopyCommon(virDomainObjPtr vm,
|
|||||||
VIR_WARN("unable to unlink just-created %s", mirror->path);
|
VIR_WARN("unable to unlink just-created %s", mirror->path);
|
||||||
virStorageSourceFree(mirror);
|
virStorageSourceFree(mirror);
|
||||||
qemuDomainObjEndJob(driver, vm);
|
qemuDomainObjEndJob(driver, vm);
|
||||||
|
if (monitor_error) {
|
||||||
|
virSetError(monitor_error);
|
||||||
|
virFreeError(monitor_error);
|
||||||
|
}
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
VIR_FREE(device);
|
VIR_FREE(device);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user