From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: [PATCH 1/4] libxl: vcpuset: Return error values. Date: Mon, 2 Feb 2015 15:47:46 -0500 Message-ID: <1422910069-15760-2-git-send-email-konrad.wilk@oracle.com> References: <1402045657.29759.34.camel@kazak.uk.xensource.com> <1422910069-15760-1-git-send-email-konrad.wilk@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1YINug-0007ks-UF for xen-devel@lists.xenproject.org; Mon, 02 Feb 2015 20:48:07 +0000 In-Reply-To: <1422910069-15760-1-git-send-email-konrad.wilk@oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xenproject.org, Ian.Campbell@citrix.com, ian.jackson@eu.citrix.com, wei.liu2@citrix.com Cc: Konrad Rzeszutek Wilk List-Id: xen-devel@lists.xenproject.org The function does not return any values at all. Convert the internal libxl ones (ERROR_FAIL, ..., etc) to positive values and for the other cases just return standard libxl values. Signed-off-by: Konrad Rzeszutek Wilk --- tools/libxl/xl_cmdimpl.c | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c index b7eac29..378ede1 100644 --- a/tools/libxl/xl_cmdimpl.c +++ b/tools/libxl/xl_cmdimpl.c @@ -5013,17 +5013,18 @@ int main_vcpupin(int argc, char **argv) return rc; } -static void vcpuset(uint32_t domid, const char* nr_vcpus, int check_host) +static int vcpuset(uint32_t domid, const char* nr_vcpus, int check_host) { char *endptr; unsigned int max_vcpus, i; libxl_bitmap cpumap; + int rc; libxl_bitmap_init(&cpumap); max_vcpus = strtoul(nr_vcpus, &endptr, 10); if (nr_vcpus == endptr) { fprintf(stderr, "Error: Invalid argument.\n"); - return; + return -ERROR_INVAL; } /* @@ -5036,22 +5037,25 @@ static void vcpuset(uint32_t domid, const char* nr_vcpus, int check_host) fprintf(stderr, "You are overcommmitting! You have %d physical " \ " CPUs and want %d vCPUs! Aborting, use --ignore-host to " \ " continue\n", host_cpu, max_vcpus); - return; + return -ERROR_INVAL; } /* NB: This also limits how many are set in the bitmap */ max_vcpus = (max_vcpus > host_cpu ? host_cpu : max_vcpus); } - if (libxl_cpu_bitmap_alloc(ctx, &cpumap, max_vcpus)) { - fprintf(stderr, "libxl_cpu_bitmap_alloc failed\n"); - return; + rc = libxl_cpu_bitmap_alloc(ctx, &cpumap, max_vcpus); + if (rc) { + fprintf(stderr, "libxl_cpu_bitmap_alloc failed, rc: %d\n", rc); + return -rc; } for (i = 0; i < max_vcpus; i++) libxl_bitmap_set(&cpumap, i); - if (libxl_set_vcpuonline(ctx, domid, &cpumap) < 0) - fprintf(stderr, "libxl_set_vcpuonline failed domid=%d max_vcpus=%d\n", domid, max_vcpus); + rc = libxl_set_vcpuonline(ctx, domid, &cpumap); + if (rc) + fprintf(stderr, "libxl_set_vcpuonline failed domid=%d max_vcpus=%d, rc: %d\n", domid, max_vcpus, rc); libxl_bitmap_dispose(&cpumap); + return rc ? -rc : 0; } int main_vcpuset(int argc, char **argv) @@ -5070,8 +5074,7 @@ int main_vcpuset(int argc, char **argv) break; } - vcpuset(find_domain(argv[optind]), argv[optind + 1], check_host); - return 0; + return vcpuset(find_domain(argv[optind]), argv[optind + 1], check_host); } static void output_xeninfo(void) -- 1.8.4.2