[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] xl: Check for dependencies in xl
If I fail to start xencommons before starting a vm, I get a non obvious "failed to free memory for the domain" error! This patch checks for dependencies when xl is invoked. Note: Currently I am checking for xenstore daemon only. More checks could be added if necessary. Also, I am performing the check irrespective of the kind of command being invoked through xl. Example. xl info, list etc. doesn't require that xenstored be running. But expecting xenstored be running before invoking the toolstack seem like a reasonable expectation in general. Please consider this for inclusion or feel free to tweak it as necessary. Signed-off-by: Kamala Narasimhan <kamala.narasimhan@xxxxxxxxxx> Kamala diff -r ce208811f540 tools/libxl/xl.c --- a/tools/libxl/xl.c Thu Jan 13 01:26:44 2011 +0000 +++ b/tools/libxl/xl.c Thu Jan 13 11:26:35 2011 -0500 @@ -74,6 +74,27 @@ static void parse_global_config(const ch xlu_cfg_destroy(config); } + +static int check_dependencies(void) +{ + struct xs_handle *xsh; + + xsh = xs_daemon_open(); + if ( !xsh ) + { + fprintf(stderr, "xs_daemon_open failed!\n"); + return 0; + } + + if ( xs_read(xsh, XBT_NULL, "/local/domain/0/name", NULL) == NULL ) + { + fprintf(stderr, "Xenstore daemon is not running or not initialized properly!\n"); + return 0; + } + + xs_daemon_close(xsh); + return 1; +} int main(int argc, char **argv) { @@ -103,6 +124,9 @@ int main(int argc, char **argv) exit(1); } opterr = 0; + + if ( !check_dependencies() ) + exit(1); logger = xtl_createlogger_stdiostream(stderr, minmsglevel, 0); if (!logger) exit(1); _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |