From: Wei Liu Date: Wed, 3 Jun 2015 10:44:50 +0000 (+0100) Subject: libxl: clean up qemu-save and qemu-resume files X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=08974f3d2f7df9ebabfae1c9336c2ad309c4c7d0;p=people%2Fliuw%2Flibxenctrl-split%2Fxen.git libxl: clean up qemu-save and qemu-resume files These files are leaked when using qemu-trad stubdom. They are intermediate files created by libxc. Unfortunately they don't fit well in our userdata scheme. Clean them up after we destroy all userdata, we're sure they are not useful anymore at that point. Signed-off-by: Wei Liu Acked-by: Ian Campbell --- diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c index 9117b01838..d86ea62d50 100644 --- a/tools/libxl/libxl.c +++ b/tools/libxl/libxl.c @@ -1678,6 +1678,16 @@ static void devices_destroy_cb(libxl__egc *egc, libxl__unlock_domain_userdata(lock); + /* Clean up qemu-save and qemu-resume files. They are + * intermediate files created by libxc. Unfortunately they + * don't fit in existing userdata scheme very well. + */ + rc = libxl__remove_file(gc, libxl__device_model_savefile(gc, domid)); + if (rc < 0) goto out; + rc = libxl__remove_file(gc, + GCSPRINTF(XC_DEVICE_MODEL_RESTORE_FILE".%u", domid)); + if (rc < 0) goto out; + rc = libxl__ev_child_fork(gc, &dis->destroyer, domain_destroy_domid_cb); if (rc < 0) goto out; if (!rc) { /* child */