diff options
author | Gianni Tedesco <gianni.tedesco@citrix.com> | 2011-01-25 17:02:47 +0000 |
---|---|---|
committer | Gianni Tedesco <gianni.tedesco@citrix.com> | 2011-01-25 17:02:47 +0000 |
commit | b6c307fa49d929b65273793d7c5c89ef74972337 (patch) | |
tree | 4f56aad3b2eac727a572c9619c758817f856f0bb | |
parent | 326a7b743e87a3874578c28d2503a0dfa9852fa3 (diff) | |
download | xen-b6c307fa49d929b65273793d7c5c89ef74972337.tar.gz xen-b6c307fa49d929b65273793d7c5c89ef74972337.tar.bz2 xen-b6c307fa49d929b65273793d7c5c89ef74972337.zip |
libxl: Check a domain exists before destroying it
Signed-off-by: Gianni Tedesco <gianni.tedesco@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
-rw-r--r-- | tools/libxl/libxl.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c index 018f2df286..c4477c7c52 100644 --- a/tools/libxl/libxl.c +++ b/tools/libxl/libxl.c @@ -662,10 +662,21 @@ int libxl_event_get_disk_eject_info(libxl_ctx *ctx, uint32_t domid, libxl_event 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 { |