|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 1/9 v2] xl: Improve return and exit codes of memory related functions.
Return and exit codes of freemem(), set_memory_max(), main_memmax(),
set_memory_target(), main_memset() and main_sharing() in the file
xl_cmdimpl are fixed.
Add comment to explain return vaule of parse_mem_size_kb().
Signed-off-by: Harmandeep Kaur <write.harmandeep@xxxxxxxxx>
---
v2: Add comment to explain return vaule of parse_mem_size_kb().
Add freemem() and main_sharing().
Remove find_domain().
---
tools/libxl/xl_cmdimpl.c | 40 ++++++++++++++++++++++------------------
1 file changed, 22 insertions(+), 18 deletions(-)
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 990d3c9..088971e 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -2581,30 +2581,30 @@ static int freemem(uint32_t domid,
libxl_domain_build_info *b_info)
rc = libxl_domain_need_memory(ctx, b_info, &need_memkb);
if (rc < 0)
- return rc;
+ return -1;
do {
rc = libxl_get_free_memory(ctx, &free_memkb);
if (rc < 0)
- return rc;
+ return -1;
if (free_memkb >= need_memkb)
return 0;
rc = libxl_set_memory_target(ctx, 0, free_memkb - need_memkb, 1, 0);
if (rc < 0)
- return rc;
+ return -1;
/* wait until dom0 reaches its target, as long as we are making
* progress */
rc = libxl_wait_for_memory_target(ctx, 0, 10);
if (rc < 0)
- return rc;
+ return -1;
retries--;
} while (retries > 0);
- return ERROR_NOMEM;
+ return -1;
}
static void autoconnect_console(libxl_ctx *ctx_ignored,
@@ -3133,6 +3133,10 @@ void help(const char *command)
}
}
+/*
+ * parse_mem_size_kb() returns -1 on failure, or the amount of memory,
+ * on success.
+ */
static int64_t parse_mem_size_kb(const char *mem)
{
char *endptr;
@@ -3275,17 +3279,17 @@ static int def_getopt(int argc, char * const argv[],
static int set_memory_max(uint32_t domid, const char *mem)
{
int64_t memorykb;
- int rc;
memorykb = parse_mem_size_kb(mem);
if (memorykb == -1) {
fprintf(stderr, "invalid memory size: %s\n", mem);
- exit(3);
+ exit(EXIT_FAILURE);
}
- rc = libxl_domain_setmaxmem(ctx, domid, memorykb);
+ if (libxl_domain_setmaxmem(ctx, domid, memorykb))
+ return 1;
- return rc;
+ return 0;
}
int main_memmax(int argc, char **argv)
@@ -3305,10 +3309,10 @@ int main_memmax(int argc, char **argv)
rc = set_memory_max(domid, mem);
if (rc) {
fprintf(stderr, "cannot set domid %d static max memory to : %s\n",
domid, mem);
- return 1;
+ return EXIT_FAILURE;
}
- return 0;
+ return EXIT_SUCCESS;
}
static void set_memory_target(uint32_t domid, const char *mem)
@@ -3318,7 +3322,7 @@ static void set_memory_target(uint32_t domid, const char
*mem)
memorykb = parse_mem_size_kb(mem);
if (memorykb == -1) {
fprintf(stderr, "invalid memory size: %s\n", mem);
- exit(3);
+ exit(EXIT_FAILURE);
}
libxl_set_memory_target(ctx, domid, memorykb, 0, /* enforce */ 1);
@@ -3338,7 +3342,7 @@ int main_memset(int argc, char **argv)
mem = argv[optind + 1];
set_memory_target(domid, mem);
- return 0;
+ return EXIT_SUCCESS;
}
static int cd_insert(uint32_t domid, const char *virtdev, char *phys)
@@ -5783,7 +5787,7 @@ int main_sharing(int argc, char **argv)
info = libxl_list_domain(ctx, &nb_domain);
if (!info) {
fprintf(stderr, "libxl_list_domain failed.\n");
- return 1;
+ return EXIT_FAILURE;
}
info_free = info;
} else if (optind == argc-1) {
@@ -5792,17 +5796,17 @@ int main_sharing(int argc, char **argv)
if (rc == ERROR_DOMAIN_NOTFOUND) {
fprintf(stderr, "Error: Domain \'%s\' does not exist.\n",
argv[optind]);
- return -rc;
+ return EXIT_FAILURE;
}
if (rc) {
fprintf(stderr, "libxl_domain_info failed (code %d).\n", rc);
- return -rc;
+ return EXIT_FAILURE;
}
info = &info_buf;
nb_domain = 1;
} else {
help("sharing");
- return 2;
+ return EXIT_FAILURE;
}
sharing(info, nb_domain);
@@ -5812,7 +5816,7 @@ int main_sharing(int argc, char **argv)
else
libxl_dominfo_dispose(info);
- return 0;
+ return EXIT_SUCCESS;
}
static int sched_domain_get(libxl_scheduler sched, int domid,
--
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 |