mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-03 05:17:54 +03:00
all: Replace virGetLastError with virGetLastErrorCode where we can
Replace instances where we previously called virGetLastError just to either get the code or to check if an error exists with virGetLastErrorCode to avoid a validity pre-check. Signed-off-by: Ramy Elkest <ramyelkest@gmail.com> Reviewed-by: Erik Skultety <eskultet@redhat.com>
This commit is contained in:
parent
50e96bb2a1
commit
2b6667abbf
@ -302,8 +302,7 @@ static int virLockManagerLockDaemonSetupLockspace(const char *path)
|
||||
0, NULL, NULL, NULL,
|
||||
(xdrproc_t)xdr_virLockSpaceProtocolCreateLockSpaceArgs, (char*)&args,
|
||||
(xdrproc_t)xdr_void, NULL) < 0) {
|
||||
virErrorPtr err = virGetLastError();
|
||||
if (err && err->code == VIR_ERR_OPERATION_INVALID) {
|
||||
if (virGetLastErrorCode() == VIR_ERR_OPERATION_INVALID) {
|
||||
/* The lockspace already exists */
|
||||
virResetLastError();
|
||||
rv = 0;
|
||||
|
@ -1295,7 +1295,6 @@ static void virLXCControllerConsoleIO(int watch, int fd, int events, void *opaqu
|
||||
*/
|
||||
static int virLXCControllerMain(virLXCControllerPtr ctrl)
|
||||
{
|
||||
virErrorPtr err;
|
||||
int rc = -1;
|
||||
size_t i;
|
||||
|
||||
@ -1347,8 +1346,7 @@ static int virLXCControllerMain(virLXCControllerPtr ctrl)
|
||||
|
||||
virNetDaemonRun(ctrl->daemon);
|
||||
|
||||
err = virGetLastError();
|
||||
if (!err || err->code == VIR_ERR_OK)
|
||||
if (virGetLastErrorCode() == VIR_ERR_OK)
|
||||
rc = wantReboot ? 1 : 0;
|
||||
|
||||
cleanup:
|
||||
|
@ -620,8 +620,7 @@ qemuAgentIO(int watch, int fd, int events, void *opaque)
|
||||
/* Already have an error, so clear any new error */
|
||||
virResetLastError();
|
||||
} else {
|
||||
virErrorPtr err = virGetLastError();
|
||||
if (!err)
|
||||
if (virGetLastErrorCode() == VIR_ERR_OK)
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
_("Error while processing monitor IO"));
|
||||
virCopyLastError(&mon->lastError);
|
||||
|
@ -298,8 +298,7 @@ virQEMUDriverConfigPtr virQEMUDriverConfigNew(bool privileged)
|
||||
if (privileged &&
|
||||
virFileFindHugeTLBFS(&cfg->hugetlbfs, &cfg->nhugetlbfs) < 0) {
|
||||
/* This however is not implemented on all platforms. */
|
||||
virErrorPtr err = virGetLastError();
|
||||
if (err && err->code != VIR_ERR_NO_SUPPORT)
|
||||
if (virGetLastErrorCode() != VIR_ERR_NO_SUPPORT)
|
||||
goto error;
|
||||
}
|
||||
|
||||
|
@ -6662,7 +6662,7 @@ int qemuDomainObjExitMonitor(virQEMUDriverPtr driver,
|
||||
{
|
||||
qemuDomainObjExitMonitorInternal(driver, obj);
|
||||
if (!virDomainObjIsActive(obj)) {
|
||||
if (!virGetLastError())
|
||||
if (virGetLastErrorCode() == VIR_ERR_OK)
|
||||
virReportError(VIR_ERR_OPERATION_FAILED, "%s",
|
||||
_("domain is no longer running"));
|
||||
return -1;
|
||||
|
@ -1923,7 +1923,7 @@ static int qemuDomainResume(virDomainPtr dom)
|
||||
if (qemuProcessStartCPUs(driver, vm,
|
||||
VIR_DOMAIN_RUNNING_UNPAUSED,
|
||||
QEMU_ASYNC_JOB_NONE) < 0) {
|
||||
if (virGetLastError() == NULL)
|
||||
if (virGetLastErrorCode() == VIR_ERR_OK)
|
||||
virReportError(VIR_ERR_OPERATION_FAILED,
|
||||
"%s", _("resume operation failed"));
|
||||
goto endjob;
|
||||
@ -3185,7 +3185,7 @@ qemuFileWrapperFDClose(virDomainObjPtr vm,
|
||||
ret = virFileWrapperFdClose(fd);
|
||||
virObjectLock(vm);
|
||||
if (!virDomainObjIsActive(vm)) {
|
||||
if (!virGetLastError())
|
||||
if (virGetLastErrorCode() == VIR_ERR_OK)
|
||||
virReportError(VIR_ERR_OPERATION_FAILED, "%s",
|
||||
_("domain is no longer running"));
|
||||
ret = -1;
|
||||
@ -3959,7 +3959,7 @@ qemuDomainCoreDumpWithFormat(virDomainPtr dom,
|
||||
event = virDomainEventLifecycleNewFromObj(vm,
|
||||
VIR_DOMAIN_EVENT_SUSPENDED,
|
||||
VIR_DOMAIN_EVENT_SUSPENDED_API_ERROR);
|
||||
if (virGetLastError() == NULL)
|
||||
if (virGetLastErrorCode() == VIR_ERR_OK)
|
||||
virReportError(VIR_ERR_OPERATION_FAILED,
|
||||
"%s", _("resuming after dump failed"));
|
||||
}
|
||||
@ -6629,7 +6629,7 @@ qemuDomainSaveImageStartVM(virConnectPtr conn,
|
||||
if (qemuProcessStartCPUs(driver, vm,
|
||||
VIR_DOMAIN_RUNNING_RESTORED,
|
||||
asyncJob) < 0) {
|
||||
if (virGetLastError() == NULL)
|
||||
if (virGetLastErrorCode() == VIR_ERR_OK)
|
||||
virReportError(VIR_ERR_OPERATION_FAILED,
|
||||
"%s", _("failed to resume domain"));
|
||||
goto cleanup;
|
||||
@ -14326,7 +14326,7 @@ qemuDomainSnapshotCreateActiveInternal(virQEMUDriverPtr driver,
|
||||
event = virDomainEventLifecycleNewFromObj(vm,
|
||||
VIR_DOMAIN_EVENT_SUSPENDED,
|
||||
VIR_DOMAIN_EVENT_SUSPENDED_API_ERROR);
|
||||
if (virGetLastError() == NULL) {
|
||||
if (virGetLastErrorCode() == VIR_ERR_OK) {
|
||||
virReportError(VIR_ERR_OPERATION_FAILED, "%s",
|
||||
_("resuming after snapshot failed"));
|
||||
}
|
||||
@ -15290,7 +15290,7 @@ qemuDomainSnapshotCreateActiveExternal(virQEMUDriverPtr driver,
|
||||
VIR_DOMAIN_EVENT_SUSPENDED,
|
||||
VIR_DOMAIN_EVENT_SUSPENDED_API_ERROR);
|
||||
qemuDomainEventQueue(driver, event);
|
||||
if (virGetLastError() == NULL) {
|
||||
if (virGetLastErrorCode() == VIR_ERR_OK) {
|
||||
virReportError(VIR_ERR_OPERATION_FAILED, "%s",
|
||||
_("resuming after snapshot failed"));
|
||||
}
|
||||
|
@ -173,7 +173,7 @@ qemuHotplugWaitForTrayEject(virQEMUDriverPtr driver,
|
||||
if (rc > 0) {
|
||||
/* the caller called qemuMonitorEjectMedia which usually reports an
|
||||
* error. Report the failure in an off-chance that it didn't. */
|
||||
if (!virGetLastError()) {
|
||||
if (virGetLastErrorCode() == VIR_ERR_OK) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
_("timed out waiting for disk tray status update"));
|
||||
}
|
||||
|
@ -5057,7 +5057,7 @@ qemuMigrationDstFinish(virQEMUDriverPtr driver,
|
||||
inPostCopy ? VIR_DOMAIN_RUNNING_POSTCOPY
|
||||
: VIR_DOMAIN_RUNNING_MIGRATED,
|
||||
QEMU_ASYNC_JOB_MIGRATION_IN) < 0) {
|
||||
if (virGetLastError() == NULL)
|
||||
if (virGetLastErrorCode() == VIR_ERR_OK)
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
"%s", _("resume operation failed"));
|
||||
/* Need to save the current error, in case shutting
|
||||
@ -5196,7 +5196,7 @@ qemuMigrationDstFinish(virQEMUDriverPtr driver,
|
||||
/* Set a special error if Finish is expected to return NULL as a result of
|
||||
* successful call with retcode != 0
|
||||
*/
|
||||
if (retcode != 0 && !dom && !virGetLastError())
|
||||
if (retcode != 0 && !dom && virGetLastErrorCode() == VIR_ERR_OK)
|
||||
virReportError(VIR_ERR_MIGRATE_FINISH_OK, NULL);
|
||||
return dom;
|
||||
}
|
||||
|
@ -748,8 +748,7 @@ qemuMonitorIO(int watch, int fd, int events, void *opaque)
|
||||
/* Already have an error, so clear any new error */
|
||||
virResetLastError();
|
||||
} else {
|
||||
virErrorPtr err = virGetLastError();
|
||||
if (!err)
|
||||
if (virGetLastErrorCode() == VIR_ERR_OK)
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
_("Error while processing monitor IO"));
|
||||
virCopyLastError(&mon->lastError);
|
||||
@ -1029,7 +1028,7 @@ qemuMonitorClose(qemuMonitorPtr mon)
|
||||
/* Propagate existing monitor error in case the current thread has no
|
||||
* error set.
|
||||
*/
|
||||
if (mon->lastError.code != VIR_ERR_OK && !virGetLastError())
|
||||
if (mon->lastError.code != VIR_ERR_OK && virGetLastErrorCode() == VIR_ERR_OK)
|
||||
virSetError(&mon->lastError);
|
||||
|
||||
virObjectUnlock(mon);
|
||||
|
@ -4352,7 +4352,7 @@ qemuMonitorJSONDiskNameLookup(qemuMonitorPtr mon,
|
||||
}
|
||||
/* Guarantee an error when returning NULL, but don't override a
|
||||
* more specific error if one was already generated. */
|
||||
if (!ret && !virGetLastError())
|
||||
if (!ret && virGetLastErrorCode() == VIR_ERR_OK)
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("unable to find backing name for device %s"),
|
||||
device);
|
||||
|
@ -466,7 +466,7 @@ qemuProcessFakeReboot(void *opaque)
|
||||
if (qemuProcessStartCPUs(driver, vm,
|
||||
reason,
|
||||
QEMU_ASYNC_JOB_NONE) < 0) {
|
||||
if (virGetLastError() == NULL)
|
||||
if (virGetLastErrorCode() == VIR_ERR_OK)
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
"%s", _("resume operation failed"));
|
||||
goto endjob;
|
||||
@ -6411,7 +6411,7 @@ qemuProcessFinishStartup(virQEMUDriverPtr driver,
|
||||
if (qemuProcessStartCPUs(driver, vm,
|
||||
VIR_DOMAIN_RUNNING_BOOTED,
|
||||
asyncJob) < 0) {
|
||||
if (!virGetLastError())
|
||||
if (virGetLastErrorCode() == VIR_ERR_OK)
|
||||
virReportError(VIR_ERR_OPERATION_FAILED, "%s",
|
||||
_("resume operation failed"));
|
||||
goto cleanup;
|
||||
|
@ -3672,8 +3672,7 @@ remoteAuthenticate(virConnectPtr conn, struct private_data *priv,
|
||||
(xdrproc_t) xdr_void, (char *) NULL,
|
||||
(xdrproc_t) xdr_remote_auth_list_ret, (char *) &ret);
|
||||
if (err < 0) {
|
||||
virErrorPtr verr = virGetLastError();
|
||||
if (verr && verr->code == VIR_ERR_NO_SUPPORT) {
|
||||
if (virGetLastErrorCode() == VIR_ERR_NO_SUPPORT) {
|
||||
/* Missing RPC - old server - ignore */
|
||||
virResetLastError();
|
||||
return 0;
|
||||
|
@ -1958,7 +1958,7 @@ static int virNetClientIO(virNetClientPtr client,
|
||||
virNetClientIOUpdateCallback(client, true);
|
||||
|
||||
if (rv == 0 &&
|
||||
virGetLastError())
|
||||
virGetLastErrorCode())
|
||||
rv = -1;
|
||||
|
||||
cleanup:
|
||||
|
@ -499,9 +499,7 @@ virNetLibsshImportPrivkey(virNetLibsshSessionPtr sess,
|
||||
err = SSH_AUTH_ERROR;
|
||||
goto error;
|
||||
} else if (ret == SSH_ERROR) {
|
||||
virErrorPtr vir_err = virGetLastError();
|
||||
|
||||
if (!vir_err || !vir_err->code) {
|
||||
if (virGetLastErrorCode() == VIR_ERR_OK) {
|
||||
virReportError(VIR_ERR_AUTH_FAILED,
|
||||
_("error while opening private key '%s', wrong "
|
||||
"passphrase?"),
|
||||
|
@ -123,8 +123,7 @@ virModuleLoad(const char *path,
|
||||
if ((*regsym)() < 0) {
|
||||
/* regsym() should report an error itself, but lets
|
||||
* just make sure */
|
||||
virErrorPtr err = virGetLastError();
|
||||
if (err == NULL) {
|
||||
if (virGetLastErrorCode() == VIR_ERR_OK) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Failed to execute symbol '%s' in module '%s'"),
|
||||
regfunc, path);
|
||||
|
@ -708,7 +708,7 @@ catchXMLError(void *ctx, const char *msg ATTRIBUTE_UNUSED, ...)
|
||||
|
||||
/* conditions for error printing */
|
||||
if (!ctxt ||
|
||||
(virGetLastError() != NULL) ||
|
||||
(virGetLastErrorCode()) ||
|
||||
ctxt->input == NULL ||
|
||||
ctxt->lastError.level != XML_ERR_FATAL ||
|
||||
ctxt->lastError.message == NULL)
|
||||
@ -845,7 +845,7 @@ virXMLParseHelper(int domcode,
|
||||
xmlFreeDoc(xml);
|
||||
xml = NULL;
|
||||
|
||||
if (virGetLastError() == NULL) {
|
||||
if (virGetLastErrorCode() == VIR_ERR_OK) {
|
||||
virGenericReportError(domcode, VIR_ERR_XML_ERROR,
|
||||
"%s", _("failed to parse xml document"));
|
||||
}
|
||||
|
@ -127,7 +127,7 @@ static int test0(const void *unused ATTRIBUTE_UNUSED)
|
||||
if (virCommandRun(cmd, NULL) == 0)
|
||||
goto cleanup;
|
||||
|
||||
if (virGetLastError() == NULL)
|
||||
if (virGetLastErrorCode() == VIR_ERR_OK)
|
||||
goto cleanup;
|
||||
|
||||
virResetLastError();
|
||||
|
@ -178,8 +178,7 @@ virTestRun(const char *title,
|
||||
|
||||
virResetLastError();
|
||||
ret = body(data);
|
||||
virErrorPtr err = virGetLastError();
|
||||
if (err) {
|
||||
if (virGetLastErrorCode()) {
|
||||
if (virTestGetVerbose() || virTestGetDebug())
|
||||
virDispatchError(NULL);
|
||||
}
|
||||
@ -258,8 +257,7 @@ virTestRun(const char *title,
|
||||
fprintf(stderr, " alloc %zu failed but no err status\n", i + 1);
|
||||
# endif
|
||||
} else {
|
||||
virErrorPtr lerr = virGetLastError();
|
||||
if (!lerr) {
|
||||
if (virGetLastErrorCode() == VIR_ERR_OK) {
|
||||
# if 0
|
||||
fprintf(stderr, " alloc %zu failed but no error report\n", i + 1);
|
||||
# endif
|
||||
|
@ -49,7 +49,7 @@ linuxTestCompareFiles(const char *cpuinfofile,
|
||||
&nodeinfo.nodes, &nodeinfo.sockets,
|
||||
&nodeinfo.cores, &nodeinfo.threads) < 0) {
|
||||
if (virTestGetDebug()) {
|
||||
if (virGetLastError())
|
||||
if (virGetLastErrorCode())
|
||||
VIR_TEST_DEBUG("\n%s\n", virGetLastErrorMessage());
|
||||
}
|
||||
VIR_FORCE_FCLOSE(cpuinfo);
|
||||
|
@ -333,7 +333,7 @@ testStorageChain(const void *args)
|
||||
goto cleanup;
|
||||
}
|
||||
if (data->flags & EXP_WARN) {
|
||||
if (!virGetLastError()) {
|
||||
if (virGetLastErrorCode() == VIR_ERR_OK) {
|
||||
fprintf(stderr, "call should have warned\n");
|
||||
goto cleanup;
|
||||
}
|
||||
@ -343,7 +343,7 @@ testStorageChain(const void *args)
|
||||
goto cleanup;
|
||||
}
|
||||
} else {
|
||||
if (virGetLastError()) {
|
||||
if (virGetLastErrorCode()) {
|
||||
fprintf(stderr, "call should not have warned\n");
|
||||
goto cleanup;
|
||||
}
|
||||
@ -449,13 +449,13 @@ testStorageLookup(const void *args)
|
||||
idx, NULL);
|
||||
|
||||
if (!data->expResult) {
|
||||
if (!virGetLastError()) {
|
||||
if (virGetLastErrorCode() == VIR_ERR_OK) {
|
||||
fprintf(stderr, "call should have failed\n");
|
||||
ret = -1;
|
||||
}
|
||||
virResetLastError();
|
||||
} else {
|
||||
if (virGetLastError()) {
|
||||
if (virGetLastErrorCode()) {
|
||||
fprintf(stderr, "call should not have warned\n");
|
||||
ret = -1;
|
||||
}
|
||||
|
@ -60,7 +60,6 @@ virshGetDomainDescription(vshControl *ctl, virDomainPtr dom, bool title,
|
||||
unsigned int flags)
|
||||
{
|
||||
char *desc = NULL;
|
||||
virErrorPtr err = NULL;
|
||||
xmlDocPtr doc = NULL;
|
||||
xmlXPathContextPtr ctxt = NULL;
|
||||
int type;
|
||||
@ -73,15 +72,15 @@ virshGetDomainDescription(vshControl *ctl, virDomainPtr dom, bool title,
|
||||
if ((desc = virDomainGetMetadata(dom, type, NULL, flags))) {
|
||||
return desc;
|
||||
} else {
|
||||
err = virGetLastError();
|
||||
int errCode = virGetLastErrorCode();
|
||||
|
||||
if (err && err->code == VIR_ERR_NO_DOMAIN_METADATA) {
|
||||
if (errCode == VIR_ERR_NO_DOMAIN_METADATA) {
|
||||
desc = vshStrdup(ctl, "");
|
||||
vshResetLibvirtError();
|
||||
return desc;
|
||||
}
|
||||
|
||||
if (err && err->code != VIR_ERR_NO_SUPPORT)
|
||||
if (errCode != VIR_ERR_NO_SUPPORT)
|
||||
return desc;
|
||||
}
|
||||
|
||||
|
@ -91,9 +91,7 @@ virshDomainDefine(virConnectPtr conn, const char *xml, unsigned int flags)
|
||||
* try again.
|
||||
*/
|
||||
if (!dom) {
|
||||
virErrorPtr err = virGetLastError();
|
||||
if (err &&
|
||||
(err->code == VIR_ERR_NO_SUPPORT) &&
|
||||
if ((virGetLastErrorCode() == VIR_ERR_NO_SUPPORT) &&
|
||||
(flags == VIR_DOMAIN_DEFINE_VALIDATE))
|
||||
dom = virDomainDefineXML(conn, xml);
|
||||
}
|
||||
|
@ -123,8 +123,7 @@ virshDomainState(vshControl *ctl,
|
||||
if (!priv->useGetInfo) {
|
||||
int state;
|
||||
if (virDomainGetState(dom, &state, reason, 0) < 0) {
|
||||
virErrorPtr err = virGetLastError();
|
||||
if (err && err->code == VIR_ERR_NO_SUPPORT)
|
||||
if (virGetLastErrorCode() == VIR_ERR_NO_SUPPORT)
|
||||
priv->useGetInfo = true;
|
||||
else
|
||||
return -1;
|
||||
|
@ -266,7 +266,7 @@ vshSaveLibvirtHelperError(void)
|
||||
if (last_error)
|
||||
return;
|
||||
|
||||
if (!virGetLastError())
|
||||
if (virGetLastErrorCode() == VIR_ERR_OK)
|
||||
return;
|
||||
|
||||
vshSaveLibvirtError();
|
||||
|
Loading…
Reference in New Issue
Block a user