From 08974f3d2f7df9ebabfae1c9336c2ad309c4c7d0 Mon Sep 17 00:00:00 2001 From: Wei Liu Date: Wed, 3 Jun 2015 11:44:50 +0100 Subject: [PATCH] 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 --- tools/libxl/libxl.c | 10 ++++++++++ 1 file changed, 10 insertions(+) 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 */ -- 2.39.5