[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 7/9 v2] xl: Improve return and exit codes of create, config_update and rename related functions.
create_domain(), string_realloc_append(), main_create(), main_config_update() and main_rename() are fixed. Signed-off-by: Harmandeep Kaur <write.harmandeep@xxxxxxxxx> --- v2: Add create_domain() Remove main_sharing() --- tools/libxl/xl_cmdimpl.c | 54 ++++++++++++++++++++++++------------------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c index 4011c81..f0b5efc 100644 --- a/tools/libxl/xl_cmdimpl.c +++ b/tools/libxl/xl_cmdimpl.c @@ -2684,7 +2684,7 @@ static uint32_t create_domain(struct domain_create *dom_info) int i; int need_daemon = daemonize; - int ret, rc; + int ret = 0, rc; libxl_evgen_domain_death *deathw = NULL; libxl_evgen_disk_eject **diskws = NULL; /* one per disk */ void *config_data = 0; @@ -2713,11 +2713,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( @@ -2726,11 +2726,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" @@ -2743,7 +2743,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); @@ -2757,7 +2757,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); \ @@ -2790,12 +2790,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 @@ -2809,7 +2809,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 = "<saved>"; config_in_json = !!(hdr.mandatory_flags & XL_MANDATORY_FLAG_JSON); @@ -2848,7 +2848,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); @@ -2872,7 +2872,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; } } @@ -3096,7 +3096,7 @@ out: * already happened in the parent. */ if ( daemonize && !need_daemon ) - exit(ret); + exit(EXIT_SUCCESS); return ret; } @@ -5016,7 +5016,7 @@ static void string_realloc_append(char **accumulate, const char *more) size_t morelen = strlen(more) + 1/*nul*/; if (oldlen > SSIZE_MAX || morelen > SSIZE_MAX - oldlen) { fprintf(stderr,"Additional config data far too large\n"); - exit(-ERROR_FAIL); + exit(EXIT_FAILURE); } *accumulate = xrealloc(*accumulate, oldlen + morelen); @@ -5091,7 +5091,7 @@ int main_create(int argc, char **argv) } else { help("create"); free(dom_info.extra_config); - return 2; + return EXIT_FAILURE; } } @@ -5110,11 +5110,11 @@ int main_create(int argc, char **argv) rc = create_domain(&dom_info); if (rc < 0) { free(dom_info.extra_config); - return -rc; + return EXIT_FAILURE; } free(dom_info.extra_config); - return 0; + return EXIT_SUCCESS; } int main_config_update(int argc, char **argv) @@ -5135,7 +5135,7 @@ int main_config_update(int argc, char **argv) if (argc < 2) { fprintf(stderr, "xl config-update requires a domain argument\n"); help("config-update"); - exit(1); + exit(EXIT_FAILURE); } fprintf(stderr, "WARNING: xl now has better capability to manage domain configuration, " @@ -5167,7 +5167,7 @@ int main_config_update(int argc, char **argv) } else { help("create"); free(extra_config); - return 2; + return EXIT_FAILURE; } } if (filename) { @@ -5176,25 +5176,25 @@ int main_config_update(int argc, char **argv) &config_data, &config_len); if (rc) { fprintf(stderr, "Failed to read config file: %s: %s\n", filename, strerror(errno)); - free(extra_config); return ERROR_FAIL; } + free(extra_config); return EXIT_FAILURE; } if (extra_config && strlen(extra_config)) { if (config_len > INT_MAX - (strlen(extra_config) + 2 + 1)) { fprintf(stderr, "Failed to attach extra configuration\n"); - exit(1); + exit(EXIT_FAILURE); } /* allocate space for the extra config plus two EOLs plus \0 */ config_data = realloc(config_data, config_len + strlen(extra_config) + 2 + 1); if (!config_data) { fprintf(stderr, "Failed to realloc config_data\n"); - exit(1); + exit(EXIT_FAILURE); } config_len += sprintf(config_data + config_len, "\n%s\n", extra_config); } } else { fprintf(stderr, "Config file not specified\n"); - exit(1); + exit(EXIT_FAILURE); } libxl_domain_config_init(&d_config); @@ -5210,7 +5210,7 @@ int main_config_update(int argc, char **argv) config_data, config_len); if (rc) { fprintf(stderr, "failed to update configuration\n"); - exit(1); + exit(EXIT_FAILURE); } } @@ -5218,7 +5218,7 @@ int main_config_update(int argc, char **argv) free(config_data); free(extra_config); - return 0; + return EXIT_SUCCESS; } static void button_press(uint32_t domid, const char *b) @@ -6389,10 +6389,10 @@ int main_rename(int argc, char **argv) domid = find_domain(dom); if (libxl_domain_rename(ctx, domid, common_domname, new_name)) { fprintf(stderr, "Can't rename domain '%s'.\n", dom); - return 1; + return EXIT_FAILURE; } - return 0; + return EXIT_SUCCESS; } int main_trigger(int argc, char **argv) -- 2.5.0 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |