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;
*/
static int virLXCControllerMain(virLXCControllerPtr ctrl)
{
- virErrorPtr err;
int rc = -1;
size_t i;
virNetDaemonRun(ctrl->daemon);
- err = virGetLastError();
- if (!err || err->code == VIR_ERR_OK)
+ if (virGetLastErrorCode() == VIR_ERR_OK)
rc = wantReboot ? 1 : 0;
cleanup:
/* 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);
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;
}
{
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;
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;
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;
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"));
}
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;
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"));
}
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"));
}
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"));
}
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
/* 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;
}
/* 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);
/* 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);
}
/* 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);
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;
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;
(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;
virNetClientIOUpdateCallback(client, true);
if (rv == 0 &&
- virGetLastError())
+ virGetLastErrorCode())
rv = -1;
cleanup:
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?"),
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);
/* conditions for error printing */
if (!ctxt ||
- (virGetLastError() != NULL) ||
+ (virGetLastErrorCode()) ||
ctxt->input == NULL ||
ctxt->lastError.level != XML_ERR_FATAL ||
ctxt->lastError.message == NULL)
xmlFreeDoc(xml);
xml = NULL;
- if (virGetLastError() == NULL) {
+ if (virGetLastErrorCode() == VIR_ERR_OK) {
virGenericReportError(domcode, VIR_ERR_XML_ERROR,
"%s", _("failed to parse xml document"));
}
if (virCommandRun(cmd, NULL) == 0)
goto cleanup;
- if (virGetLastError() == NULL)
+ if (virGetLastErrorCode() == VIR_ERR_OK)
goto cleanup;
virResetLastError();
virResetLastError();
ret = body(data);
- virErrorPtr err = virGetLastError();
- if (err) {
+ if (virGetLastErrorCode()) {
if (virTestGetVerbose() || virTestGetDebug())
virDispatchError(NULL);
}
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
&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);
goto cleanup;
}
if (data->flags & EXP_WARN) {
- if (!virGetLastError()) {
+ if (virGetLastErrorCode() == VIR_ERR_OK) {
fprintf(stderr, "call should have warned\n");
goto cleanup;
}
goto cleanup;
}
} else {
- if (virGetLastError()) {
+ if (virGetLastErrorCode()) {
fprintf(stderr, "call should not have warned\n");
goto cleanup;
}
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;
}
unsigned int flags)
{
char *desc = NULL;
- virErrorPtr err = NULL;
xmlDocPtr doc = NULL;
xmlXPathContextPtr ctxt = NULL;
int type;
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;
}
* 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);
}
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;
if (last_error)
return;
- if (!virGetLastError())
+ if (virGetLastErrorCode() == VIR_ERR_OK)
return;
vshSaveLibvirtError();