diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c index e7abbc18ee..d29d661a0f 100644 --- a/tools/libxl/xl_cmdimpl.c +++ b/tools/libxl/xl_cmdimpl.c @@ -1437,7 +1437,7 @@ static int create_domain(struct domain_create *dom_info) printf_info(-1, &d_config, &d_config.dm_info); start: - domid = 0; + domid = -1; rc = acquire_lock(); if (rc < 0) @@ -1450,14 +1450,6 @@ start: goto error_out; } - ret = libxl_userdata_store(&ctx, domid, "xl", - config_data, config_len); - if (ret) { - perror("cannot save config file"); - ret = ERROR_FAIL; - goto error_out; - } - if ( dom_info->console_autoconnect ) { cb = autoconnect_console; }else{ @@ -1475,6 +1467,14 @@ start: if ( ret ) goto error_out; + ret = libxl_userdata_store(&ctx, domid, "xl", + config_data, config_len); + if (ret) { + perror("cannot save config file"); + ret = ERROR_FAIL; + goto error_out; + } + release_lock(); if (!paused)