From patchwork Wed Feb 24 12:53:20 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Harmandeep Kaur X-Patchwork-Id: 8405921 Return-Path: X-Original-To: patchwork-xen-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 325C89F2F0 for ; Wed, 24 Feb 2016 12:56:46 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 3A0DF202E9 for ; Wed, 24 Feb 2016 12:56:45 +0000 (UTC) Received: from lists.xen.org (lists.xenproject.org [50.57.142.19]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2816720274 for ; Wed, 24 Feb 2016 12:56:44 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=lists.xen.org) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1aYYxQ-00081D-J5; Wed, 24 Feb 2016 12:54:20 +0000 Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1aYYxO-00080b-S8 for xen-devel@lists.xenproject.org; Wed, 24 Feb 2016 12:54:19 +0000 Received: from [85.158.139.211] by server-7.bemta-5.messagelabs.com id 7C/21-03511-AF7ADC65; Wed, 24 Feb 2016 12:54:18 +0000 X-Env-Sender: write.harmandeep@gmail.com X-Msg-Ref: server-15.tower-206.messagelabs.com!1456318456!16270341!1 X-Originating-IP: [209.85.192.195] X-SpamReason: No, hits=0.0 required=7.0 tests= X-StarScan-Received: X-StarScan-Version: 7.35.1; banners=-,-,- X-VirusChecked: Checked Received: (qmail 24789 invoked from network); 24 Feb 2016 12:54:17 -0000 Received: from mail-pf0-f195.google.com (HELO mail-pf0-f195.google.com) (209.85.192.195) by server-15.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP; 24 Feb 2016 12:54:17 -0000 Received: by mail-pf0-f195.google.com with SMTP id c10so918151pfc.0 for ; Wed, 24 Feb 2016 04:54:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=fIZ9KwrTdqxrX8eI3r1cixmks9Mh8mevBiW4OgQw4a8=; b=JoteillYWIecGDswWI1KDdccQNtwq+YAhMw5JSQcLORYHOIWNu+zQq5p7ezvCmFku5 IQFKwXXGl+Z9v4Jt7nNFtWLMRYTgrTTCEqmPOv4M3zIkH8kyeYCzhRBfMVX/Wa8gv03n nMpTJx+ZvknJSFlzX4E/dMKHC+r3Umy320fPtfbY+w40PVmIY8Wv/hI3930tBZnP1giP Lzr2IbB7e4hnK678ZJBW46Gv8UO3e2x7IMgRh8hCUUY6lC/bXu3sgvRw0LwbHz8kAQ0E ULR8wnDLheESjiJrfDEVTDMavgZzZvwzOWMx2se5W/xVRDfh65V4xrmMDOPzYDN5o4Iv TaPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=fIZ9KwrTdqxrX8eI3r1cixmks9Mh8mevBiW4OgQw4a8=; b=bviajmbF6PWPqe1vHsAVwkInJyxVOOHnfKjwNeZcx6zlq7Y/GSEzQ96rvD5zHeN11e K/SqYwzkHcvWmdCptrnqGXzJpZRIedYm2TwBPtygcGF29jU/zcvBqxR0p+cimDrM4HXS iO0yAbALAHUf2s2Ygc37lcGZc89/crdqNvjTNyFHmNcjAktnJlXij5/1098dx2j76AFC XG1NYODo8iZ803ITRJ1qmCvfSYZ/9O/Fk+7himYr9A9BCC3Ra7V93gr/4bIpstV1LgLr XtVNzEyhgVdOo2fxChksRyCSqM0R+6EypHFDve0EIBqpIdKCkcJM3dOneOXmPwzGdYRu HZMQ== X-Gm-Message-State: AG10YOSYwxgeODSj+KC9lknHkV8TV9sfiDGxDwXGfM0AC/zAWI39UsIlWeg/qkKwODg/zQ== X-Received: by 10.98.32.218 with SMTP id m87mr54717552pfj.48.1456318455688; Wed, 24 Feb 2016 04:54:15 -0800 (PST) Received: from localhost.localdomain ([124.253.62.0]) by smtp.googlemail.com with ESMTPSA id t87sm5027294pfa.14.2016.02.24.04.54.12 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 24 Feb 2016 04:54:15 -0800 (PST) From: Harmandeep Kaur To: xen-devel@lists.xenproject.org Date: Wed, 24 Feb 2016 18:23:20 +0530 Message-Id: <1456318407-3635-3-git-send-email-write.harmandeep@gmail.com> X-Mailer: git-send-email 2.5.0 In-Reply-To: <1456318407-3635-1-git-send-email-write.harmandeep@gmail.com> References: <1456318407-3635-1-git-send-email-write.harmandeep@gmail.com> Cc: wei.liu2@citrix.com, ian.campbell@citrix.com, stefano.stabellini@eu.citrix.com, dario.faggioli@citrix.com, ian.jackson@eu.citrix.com, Harmandeep Kaur Subject: [Xen-devel] [PATCH 2/9] xl: Improve return and exit codes of restore and save related functions. X-BeenThere: xen-devel@lists.xen.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org X-Spam-Status: No, score=-4.1 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_MED, T_DKIM_INVALID, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Signed-off-by: Harmandeep Kaur --- tools/libxl/xl_cmdimpl.c | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c index 8f5a2f4..e5bb41f 100644 --- a/tools/libxl/xl_cmdimpl.c +++ b/tools/libxl/xl_cmdimpl.c @@ -2708,11 +2708,11 @@ static uint32_t create_domain(struct domain_create *dom_info) restore_fd = open(restore_file, O_RDONLY); if (restore_fd == -1) { fprintf(stderr, "Can't open restore file: %s\n", strerror(errno)); - return ERROR_INVAL; + return -1; } restore_fd_to_close = restore_fd; rc = libxl_fd_set_cloexec(ctx, restore_fd, 1); - if (rc) return rc; + if (rc) return -1; } CHK_ERRNOVAL(libxl_read_exactly( @@ -2721,11 +2721,11 @@ static uint32_t create_domain(struct domain_create *dom_info) if (memcmp(hdr.magic, savefileheader_magic, sizeof(hdr.magic))) { fprintf(stderr, "File has wrong magic number -" " corrupt or for a different tool?\n"); - return ERROR_INVAL; + return -1; } if (hdr.byteorder != SAVEFILE_BYTEORDER_VALUE) { fprintf(stderr, "File has wrong byte order\n"); - return ERROR_INVAL; + return -1; } fprintf(stderr, "Loading new save file %s" " (new xl fmt info" @@ -2738,7 +2738,7 @@ static uint32_t create_domain(struct domain_create *dom_info) fprintf(stderr, "Savefile has mandatory flag(s) 0x%"PRIx32" " "which are not supported; need newer xl\n", badflags); - return ERROR_INVAL; + return -1; } if (hdr.optional_data_len) { optdata_begin = xmalloc(hdr.optional_data_len); @@ -2752,7 +2752,7 @@ static uint32_t create_domain(struct domain_create *dom_info) #define WITH_OPTDATA(amt, body) \ if (OPTDATA_LEFT < (amt)) { \ fprintf(stderr, "Savefile truncated.\n"); \ - return ERROR_INVAL; \ + return -1; \ } else { \ body; \ optdata_here += (amt); \ @@ -2785,12 +2785,12 @@ static uint32_t create_domain(struct domain_create *dom_info) ret = libxl_read_file_contents(ctx, config_file, &config_data, &config_len); if (ret) { fprintf(stderr, "Failed to read config file: %s: %s\n", - config_file, strerror(errno)); return ERROR_FAIL; } + config_file, strerror(errno)); return -1; } } if (!restoring && extra_config && strlen(extra_config)) { if (config_len > INT_MAX - (strlen(extra_config) + 2 + 1)) { fprintf(stderr, "Failed to attach extra configuration\n"); - return ERROR_FAIL; + return -1; } /* allocate space for the extra config plus two EOLs plus \0 */ config_data = xrealloc(config_data, config_len @@ -2804,7 +2804,7 @@ static uint32_t create_domain(struct domain_create *dom_info) if (!config_data) { fprintf(stderr, "Config file not specified and" " none in save file\n"); - return ERROR_INVAL; + return -1; } config_source = ""; config_in_json = !!(hdr.mandatory_flags & XL_MANDATORY_FLAG_JSON); @@ -2843,7 +2843,7 @@ static uint32_t create_domain(struct domain_create *dom_info) if (!json) { fprintf(stderr, "Failed to convert domain configuration to JSON\n"); - exit(1); + exit(EXIT_FAILURE); } fputs(json, cfg_print_fh); free(json); @@ -2867,7 +2867,7 @@ start: ret = freemem(domid, &d_config.b_info); if (ret < 0) { fprintf(stderr, "failed to free memory for the domain\n"); - ret = ERROR_FAIL; + ret = -1; goto error_out; } } @@ -3091,9 +3091,9 @@ out: * already happened in the parent. */ if ( daemonize && !need_daemon ) - exit(ret); + exit(EXIT_SUCCESS); - return ret; + return ret < 0 ? -1 : 0; } void help(const char *command) @@ -4122,7 +4122,7 @@ static int save_domain(uint32_t domid, const char *filename, int checkpoint, fd = open(filename, O_WRONLY|O_CREAT|O_TRUNC, 0644); if (fd < 0) { fprintf(stderr, "Failed to open temp file %s for writing\n", filename); - exit(2); + exit(EXIT_FAILURE); } save_domain_core_writeconfig(fd, filename, config_data, config_len); @@ -4142,7 +4142,7 @@ static int save_domain(uint32_t domid, const char *filename, int checkpoint, else libxl_domain_destroy(ctx, domid, 0); - exit(rc < 0 ? 1 : 0); + exit(rc < 0 ? EXIT_FAILURE : EXIT_SUCCESS); } static pid_t create_migration_child(const char *rune, int *send_fd, @@ -4611,7 +4611,7 @@ int main_restore(int argc, char **argv) checkpoint_file = argv[optind + 1]; } else { help("restore"); - return 2; + return EXIT_FAILURE; } memset(&dom_info, 0, sizeof(dom_info)); @@ -4628,9 +4628,9 @@ int main_restore(int argc, char **argv) rc = create_domain(&dom_info); if (rc < 0) - return -rc; + return EXIT_FAILURE; - return 0; + return EXIT_SUCCESS; } int main_migrate_receive(int argc, char **argv) @@ -4685,7 +4685,7 @@ int main_save(int argc, char **argv) if (argc-optind > 3) { help("save"); - return 2; + return EXIT_FAILURE; } domid = find_domain(argv[optind]); @@ -4694,7 +4694,7 @@ int main_save(int argc, char **argv) config_filename = argv[optind + 2]; save_domain(domid, filename, checkpoint, leavepaused, config_filename); - return 0; + return EXIT_SUCCESS; } int main_migrate(int argc, char **argv)