xc_domain_send_trigger returns -1 and sets errno on failure so use
LIBXL__LOG_ERRNO not LIBXL__LOG_ERRNOVAL(rc).
Change the default case of the switch to set rc=-1,errno=EINVAL too.
Also we weren't actually returning the error code we'd decided on.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
rc = 0;
break;
default:
- rc = EINVAL;
+ rc = -1;
+ errno = EINVAL;
break;
}
if (rc != 0) {
- LIBXL__LOG_ERRNOVAL(ctx, LIBXL__LOG_ERROR, rc,
- "Send trigger '%s' failed",
- libxl_trigger_to_string(trigger));
+ LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
+ "Send trigger '%s' failed",
+ libxl_trigger_to_string(trigger));
rc = ERROR_FAIL;
}
- return 0;
+ return rc;
}
int libxl_send_sysrq(libxl_ctx *ctx, uint32_t domid, char sysrq)