[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH]: xl: Check a domain exists before destroying it
On Mon, 2011-01-24 at 17:27 +0000, Christoph Egger wrote: > > > 7. Too many error information showed when destroy an inexistent guest > > > (Community) http://bugzilla.xensource.com/bugzilla/show_bug.cgi?id=1714 > > > > A three line fix? > > Already posted to this list: > http://lists.xensource.com/archives/html/xen-devel/2011-01/msg01452.html This is quite a clever fix but I think Ian Jacksons comments are correct. We should do a libxl_domain_info() and bail early in the destroy path if that fails. --- xl: Check a domain exists before destroying it Also fix a mis-formatted error message in xl destroy command. Signed-off-by: Gianni Tedesco <gianni.tedesco@xxxxxxxxxx> diff -r b59f04eb8978 tools/libxl/libxl.c --- a/tools/libxl/libxl.c Fri Jan 21 18:06:23 2011 +0000 +++ b/tools/libxl/libxl.c Mon Jan 24 17:39:33 2011 +0000 @@ -654,10 +654,21 @@ int libxl_event_get_disk_eject_info(libx int libxl_domain_destroy(libxl_ctx *ctx, uint32_t domid, int force) { libxl__gc gc = LIBXL_INIT_GC(ctx); + libxl_dominfo dominfo; char *dom_path; char *vm_path; int rc, dm_present; + rc = libxl_domain_info(ctx, &dominfo, domid); + switch(rc) { + case 0: + break; + case ERROR_INVAL: + LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "non-existant domain %d", domid); + default: + return rc; + } + if (libxl__domain_is_hvm(ctx, domid)) { dm_present = 1; } else { diff -r b59f04eb8978 tools/libxl/xl_cmdimpl.c --- a/tools/libxl/xl_cmdimpl.c Fri Jan 21 18:06:23 2011 +0000 +++ b/tools/libxl/xl_cmdimpl.c Mon Jan 24 17:39:33 2011 +0000 @@ -2176,7 +2176,7 @@ static void destroy_domain(const char *p exit(-1); } rc = libxl_domain_destroy(&ctx, domid, 0); - if (rc) { fprintf(stderr,"destroy failed (rc=%d)\n.",rc); exit(-1); } + if (rc) { fprintf(stderr,"destroy failed (rc=%d).\n",rc); exit(-1); } } static void shutdown_domain(const char *p, int wait) _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |