mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
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:
1 parent
f3ae927106
commit
718090f23e
1 file changed
+9
-6
+9
-6
@@ -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) {
|
||||
|
||||