mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-04 21:47:16 +03:00
storage: Save error during refresh failure processing
https://bugzilla.redhat.com/show_bug.cgi?id=1614283 Save the error from the refresh failure because the stopPool processing may overwrite the error or even worse clear it due to calling an external libvirt API that resets the last error such as is the case with the SCSI pool which may call virGetConnectNodeDev (see commit decaeb288) in order to process deleting an NPIV vport. Signed-off-by: John Ferlan <jferlan@redhat.com> ACKed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
5745f08cea
commit
5309b6cb64
@ -81,10 +81,16 @@ storagePoolRefreshFailCleanup(virStorageBackendPtr backend,
|
||||
virStoragePoolObjPtr obj,
|
||||
const char *stateFile)
|
||||
{
|
||||
virErrorPtr orig_err = virSaveLastError();
|
||||
|
||||
if (stateFile)
|
||||
ignore_value(unlink(stateFile));
|
||||
if (backend->stopPool)
|
||||
backend->stopPool(obj);
|
||||
if (orig_err) {
|
||||
virSetError(orig_err);
|
||||
virFreeError(orig_err);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user