]> xenbits.xensource.com Git - people/pauldu/xen.git/commitdiff
libxl: remove device model path in libxl__device_model_destroy
authorWei Liu <wei.liu2@citrix.com>
Fri, 20 Mar 2015 16:19:10 +0000 (16:19 +0000)
committerIan Campbell <ian.campbell@citrix.com>
Tue, 24 Mar 2015 15:46:04 +0000 (15:46 +0000)
... and not devices_destroy_cb because it is the right place to clean up
device model stuff.

And the path should use LIBXL_TOOLSTACK_DOMID instead of hardcoded 0.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
tools/libxl/libxl.c
tools/libxl/libxl_dm.c

index 46de4f7bd3821d1637df7314a8b54af38c82315c..e9b4ed3191a24a2a62716aa386f1e87ec9e4f45a 100644 (file)
@@ -1663,8 +1663,6 @@ static void devices_destroy_cb(libxl__egc *egc,
         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "xs_rm failed for %s", dom_path);
 
     xs_rm(ctx->xsh, XBT_NULL, libxl__xs_libxl_path(gc, domid));
-    xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc,
-                                "/local/domain/0/device-model/%d", domid));
     xs_rm(ctx->xsh, XBT_NULL, libxl__sprintf(gc,
                                 "/local/domain/%d/hvmloader", domid));
 
index e8fe73d83360901faa1666001de59aed6f99da9d..5b8c3c0673901f81b1e2e5241d3ff3482f97d360 100644 (file)
@@ -1650,6 +1650,11 @@ out:
 
 int libxl__destroy_device_model(libxl__gc *gc, uint32_t domid)
 {
+    char *path = libxl__device_model_xs_path(gc, LIBXL_TOOLSTACK_DOMID,
+                                             domid, "");
+    if (!xs_rm(CTX->xsh, XBT_NULL, path))
+        LOG(ERROR, "xs_rm failed for %s", path);
+    /* We should try to destroy the device model anyway. */
     return kill_device_model(gc,
                 GCSPRINTF("/local/domain/%d/image/device-model-pid", domid));
 }