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>
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);
+ }
}