[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v19 for-4.14 07/13] tools/libxl: Adjust libxl__build_pre
Skips parts not relevant for VM forks. No functional change in existing code, only relocating some bits that don't need to be done at the very end. Signed-off-by: Tamas K Lengyel <tamas.lengyel@xxxxxxxxx> --- tools/libxl/libxl_dom.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c index dd1aff89a3..1b55097a1a 100644 --- a/tools/libxl/libxl_dom.c +++ b/tools/libxl/libxl_dom.c @@ -249,9 +249,12 @@ int libxl__build_pre(libxl__gc *gc, uint32_t domid, libxl_domain_build_info *const info = &d_config->b_info; libxl_ctx *ctx = libxl__gc_owner(gc); char *xs_domid, *con_domid; - int rc; + int rc = 0; uint64_t size; + if (state->forked_vm) + goto skip_fork; + if (xc_domain_max_vcpus(ctx->xch, domid, info->max_vcpus) != 0) { LOG(ERROR, "Couldn't set max vcpu count"); return ERROR_FAIL; @@ -374,6 +377,16 @@ int libxl__build_pre(libxl__gc *gc, uint32_t domid, return ERROR_FAIL; } + if ( (rc = libxl__arch_domain_create(gc, d_config, domid)) ) + return rc; + + /* Construct a CPUID policy, but only for brand new domains. Domains + * being migrated-in/restored have CPUID handled during the + * static_data_done() callback. */ + if (!state->restore) + libxl__cpuid_legacy(ctx, domid, info); + +skip_fork: xs_domid = xs_read(ctx->xsh, XBT_NULL, "/tool/xenstored/domid", NULL); state->store_domid = xs_domid ? atoi(xs_domid) : 0; free(xs_domid); @@ -385,14 +398,6 @@ int libxl__build_pre(libxl__gc *gc, uint32_t domid, state->store_port = xc_evtchn_alloc_unbound(ctx->xch, domid, state->store_domid); state->console_port = xc_evtchn_alloc_unbound(ctx->xch, domid, state->console_domid); - rc = libxl__arch_domain_create(gc, d_config, domid); - - /* Construct a CPUID policy, but only for brand new domains. Domains - * being migrated-in/restored have CPUID handled during the - * static_data_done() callback. */ - if (!state->restore) - libxl__cpuid_legacy(ctx, domid, info); - return rc; } -- 2.25.1
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |