nodedev: add macro to handle command errors

This macro will be utilized in the following patch. Since mdevctl
commands can fail with or without an error message, this macro makes it
easy to print a fallback error in the case that the error message is not
set.

Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
This commit is contained in:
Jonathon Jongsma 2021-06-22 14:53:34 -05:00 committed by Michal Privoznik
parent 2a615af38f
commit 5cf6f18d5d

View File

@ -57,6 +57,9 @@ VIR_ENUM_IMPL(virMdevctlCommand,
);
#define MDEVCTL_ERROR(msg) (msg && msg[0] != '\0' ? msg : _("Unknown error"))
virDrvOpenStatus
nodeConnectOpen(virConnectPtr conn,
virConnectAuthPtr auth G_GNUC_UNUSED,
@ -1390,7 +1393,7 @@ nodeDeviceUndefine(virNodeDevice *device,
if (virMdevctlUndefine(def, &errmsg) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Unable to undefine mediated device: %s"),
errmsg && errmsg[0] ? errmsg : "Unknown Error");
MDEVCTL_ERROR(errmsg));
goto cleanup;
}
ret = 0;
@ -1437,7 +1440,7 @@ nodeDeviceCreate(virNodeDevice *device,
if (virMdevctlStart(def, &errmsg) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Unable to create mediated device: %s"),
errmsg && errmsg[0] ? errmsg : "Unknown Error");
MDEVCTL_ERROR(errmsg));
goto cleanup;
}
ret = 0;