mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-08-25 13:50:09 +03:00
virsh: Fix error resetting on fallback paths
On some fallback paths in virsh, error reported by the previously failed API is cleared by virResetLastError() that doesn't free error stored by virsh. This patch changes this to clear it using vshResetLibvirtError().
This commit is contained in:
@ -66,7 +66,7 @@ vshGetDomainDescription(vshControl *ctl, virDomainPtr dom, bool title,
|
||||
|
||||
if (err && err->code == VIR_ERR_NO_DOMAIN_METADATA) {
|
||||
desc = vshStrdup(ctl, "");
|
||||
virResetLastError();
|
||||
vshResetLibvirtError();
|
||||
return desc;
|
||||
}
|
||||
|
||||
@ -1362,7 +1362,7 @@ vshDomainListCollect(vshControl *ctl, unsigned int flags)
|
||||
|
||||
fallback:
|
||||
/* fall back to old method (0.9.12 and older) */
|
||||
virResetLastError();
|
||||
vshResetLibvirtError();
|
||||
|
||||
/* list active domains, if necessary */
|
||||
if (!MATCH(VIR_CONNECT_LIST_FILTERS_ACTIVE) ||
|
||||
|
@ -704,7 +704,7 @@ cmdSnapshotInfo(vshControl *ctl, const vshCmd *cmd)
|
||||
if (current < 0) {
|
||||
virDomainSnapshotPtr other = virDomainSnapshotCurrent(dom, 0);
|
||||
|
||||
virResetLastError();
|
||||
vshResetLibvirtError();
|
||||
current = 0;
|
||||
if (other) {
|
||||
if (STREQ(name, virDomainSnapshotGetName(other)))
|
||||
@ -759,7 +759,7 @@ cmdSnapshotInfo(vshControl *ctl, const vshCmd *cmd)
|
||||
if (metadata < 0) {
|
||||
metadata = virDomainSnapshotNum(dom,
|
||||
VIR_DOMAIN_SNAPSHOT_LIST_METADATA);
|
||||
virResetLastError();
|
||||
vshResetLibvirtError();
|
||||
}
|
||||
if (metadata >= 0)
|
||||
vshPrint(ctl, "%-15s %s\n", _("Metadata:"),
|
||||
|
Reference in New Issue
Block a user