From 52fc00f2f9e8ecb8ab74b4bb4734e2945ebd76a9 Mon Sep 17 00:00:00 2001 From: Marcin Cieslak Date: Sat, 13 Sep 2014 20:06:20 +0000 Subject: [PATCH 03/10] libxl_get_scheduler() cannot return ERROR_FAIL ERROR_FAIL (-3) is not a proper value for libxl_scheduler enum. Use LIBXL_SCHEDULER_UNKNOWN (0) instead. Clang complains otherwise: error: comparison of unsigned enum expression < 0 is always false [-Werror,-Wtautological-compare] C99 does not guarantee that enums are ints (they can be unsigned). Signed-off-by: Marcin Cieslak --- tools/libxl/libxl.c | 2 +- tools/libxl/xl_cmdimpl.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c index 77672d0..e465a67 100644 --- a/tools/libxl/libxl.c +++ b/tools/libxl/libxl.c @@ -5189,7 +5189,7 @@ libxl_scheduler libxl_get_scheduler(libxl_ctx *ctx) if ((ret = xc_sched_id(ctx->xch, (int *)&sched)) != 0) { LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "getting domain info list"); - return ERROR_FAIL; + return LIBXL_SCHEDULER_UNKNOWN; } return sched; } diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c index 698b3bc..cd469d5 100644 --- a/tools/libxl/xl_cmdimpl.c +++ b/tools/libxl/xl_cmdimpl.c @@ -4854,7 +4854,7 @@ static void output_xeninfo(void) return; } - if ((sched = libxl_get_scheduler(ctx)) < 0) { + if ((sched = libxl_get_scheduler(ctx)) == LIBXL_SCHEDULER_UNKNOWN) { fprintf(stderr, "get_scheduler sysctl failed.\n"); return; } @@ -6735,7 +6735,7 @@ int main_cpupoolcreate(int argc, char **argv) goto out_cfg; } } else { - if ((sched = libxl_get_scheduler(ctx)) < 0) { + if ((sched = libxl_get_scheduler(ctx)) == LIBXL_SCHEDULER_UNKNOWN) { fprintf(stderr, "get_scheduler sysctl failed.\n"); goto out_cfg; } -- 2.0.2