libxenlight: don't try to delete path when they doesn't exists.

fix segfault in destroy when creation hasn't been done properly.

Signed-off-by: Vincent Hanquez <vincent.hanquez@eu.citrix.com>
This commit is contained in:
Keir Fraser committed 2010-01-08 11:48:02 +00:00
1 parent f3ae927106
commit 718090f23e
1 file changed
+9 -6
+9 -6
View File
@@ -564,16 +564,19 @@ int libxl_domain_destroy(struct libxl_ctx *ctx, uint32_t domid, int force)
XL_LOG_ERRNO(ctx, XL_LOG_ERROR, "xs_rm failed for %s", dom_path);
vm_path = libxl_xs_read(ctx, XBT_NULL, libxl_sprintf(ctx, "/local/domain/%d/vm", domid));
if (!xs_rm(ctx->xsh, XBT_NULL, vm_path))
XL_LOG_ERRNO(ctx, XL_LOG_ERROR, "xs_rm failed for %s", vm_path);
if (vm_path)
if (!xs_rm(ctx->xsh, XBT_NULL, vm_path))
XL_LOG_ERRNO(ctx, XL_LOG_ERROR, "xs_rm failed for %s", vm_path);
vss_path = libxl_xs_read(ctx, XBT_NULL, libxl_sprintf(ctx, "/local/domain/%d/vss", domid));
if (!xs_rm(ctx->xsh, XBT_NULL, vss_path))
XL_LOG_ERRNO(ctx, XL_LOG_ERROR, "xs_rm failed for %s", vss_path);
if (vss_path)
if (!xs_rm(ctx->xsh, XBT_NULL, vss_path))
XL_LOG_ERRNO(ctx, XL_LOG_ERROR, "xs_rm failed for %s", vss_path);
xapi_path = libxl_sprintf(ctx, "/xapi/%u", domid);
if (!xs_rm(ctx->xsh, XBT_NULL, xapi_path))
XL_LOG_ERRNO(ctx, XL_LOG_ERROR, "xs_rm failed for %s", xapi_path);
if (xapi_path)
if (!xs_rm(ctx->xsh, XBT_NULL, xapi_path))
XL_LOG_ERRNO(ctx, XL_LOG_ERROR, "xs_rm failed for %s", xapi_path);
rc = xc_domain_destroy(ctx->xch, domid);
if (rc < 0) {
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.