@@ -1376,6 +1376,15 @@ static void domcreate_bootloader_done(libxl__egc *egc,
return;
}
+ if (d_config->dm_restore_file) {
+ dcs->srs.dcs = dcs;
+ dcs->srs.ao = ao;
+ state->forked_vm = true;
+ rc = libxl__domain_build(gc, d_config, domid, state);
+ domcreate_rebuild_done(egc, dcs, rc);
+ return;
+ }
+
/* Prepare environment for domcreate_stream_done */
dcs->srs.dcs = dcs;
@@ -1376,6 +1376,7 @@ typedef struct {
char *saved_state;
int dm_monitor_fd;
+ bool forked_vm;
libxl__file_reference pv_kernel;
libxl__file_reference pv_ramdisk;
Add special handling when only the the device model needs launching for forks. Signed-off-by: Tamas K Lengyel <tamas.lengyel@intel.com> --- tools/libxl/libxl_create.c | 9 +++++++++ tools/libxl/libxl_internal.h | 1 + 2 files changed, 10 insertions(+)