From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wen Congyang Subject: [RFC Patch 10/25] Introduce a new internal API libxl__domain_unpause() Date: Fri, 18 Jul 2014 19:38:55 +0800 Message-ID: <1405683551-12579-11-git-send-email-wency@cn.fujitsu.com> References: <1405683551-12579-1-git-send-email-wency@cn.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1405683551-12579-1-git-send-email-wency@cn.fujitsu.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen devel Cc: Ian Campbell , Wen Congyang , Ian Jackson , Jiang Yunhong , Dong Eddie , Yang Hongyang , Lai Jiangshan List-Id: xen-devel@lists.xenproject.org The guest is paused after libxl_domain_create_restore(). Secondary vm is running in colo mode. So we need to unpause the guest. The current API libxl_domain_unpause() is not an internal API. Introduce a new API to support it. Signed-off-by: Wen Congyang --- tools/libxl/libxl.c | 21 +++++++++++++++------ tools/libxl/libxl_internal.h | 1 + 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c index 7ff1cb6..86958fe 100644 --- a/tools/libxl/libxl.c +++ b/tools/libxl/libxl.c @@ -975,9 +975,8 @@ out: return AO_INPROGRESS; } -int libxl_domain_unpause(libxl_ctx *ctx, uint32_t domid) +int libxl__domain_unpause(libxl__gc *gc, uint32_t domid) { - GC_INIT(ctx); char *path; char *state; int ret, rc = 0; @@ -997,12 +996,22 @@ int libxl_domain_unpause(libxl_ctx *ctx, uint32_t domid) NULL, NULL, NULL); } } - ret = xc_domain_unpause(ctx->xch, domid); - if (ret<0) { - LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "unpausing domain %d", domid); + + ret = xc_domain_unpause(CTX->xch, domid); + if (ret < 0) { + LOGE(ERROR, "unpausing domain %d", domid); rc = ERROR_FAIL; } - out: + +out: + return rc; +} + +int libxl_domain_unpause(libxl_ctx *ctx, uint32_t domid) +{ + GC_INIT(ctx); + int rc = libxl__domain_unpause(gc, domid); + GC_FREE; return rc; } diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h index 2dd157c..bfc9513 100644 --- a/tools/libxl/libxl_internal.h +++ b/tools/libxl/libxl_internal.h @@ -1002,6 +1002,7 @@ _hidden void libxl__userdata_destroyall(libxl__gc *gc, uint32_t domid); _hidden int libxl__domain_resume(libxl__gc *gc, uint32_t domid, int suspend_cancel, int read_savefile); +_hidden int libxl__domain_unpause(libxl__gc *gc, uint32_t domid); /* returns 0 or 1, or a libxl error code */ _hidden int libxl__domain_pvcontrol_available(libxl__gc *gc, uint32_t domid); -- 1.9.3