From: Jim Fehlig Date: Wed, 4 Jun 2014 20:02:27 +0000 (-0600) Subject: libxl: introduce libxlDomainDefCheckABIStability X-Git-Tag: v1.2.6-rc1~192 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d9a099a4c572b45c1f8f3d2847cc64ebd039f5ad;p=thirdparty%2Flibvirt.git libxl: introduce libxlDomainDefCheckABIStability Introduce a simple libxlDomainDefCheckABIStability() function that can be used check ABI stability between two virDomainDef objects. Signed-off-by: Jim Fehlig --- diff --git a/src/libxl/libxl_domain.c b/src/libxl/libxl_domain.c index eab789ac7f..73242ac023 100644 --- a/src/libxl/libxl_domain.c +++ b/src/libxl/libxl_domain.c @@ -1256,3 +1256,26 @@ libxlDomainStart(libxlDriverPrivatePtr driver, virDomainObjPtr vm, virObjectUnref(cfg); return ret; } + +bool +libxlDomainDefCheckABIStability(libxlDriverPrivatePtr driver, + virDomainDefPtr src, + virDomainDefPtr dst) +{ + virDomainDefPtr migratableDefSrc = NULL; + virDomainDefPtr migratableDefDst = NULL; + libxlDriverConfigPtr cfg = libxlDriverConfigGet(driver); + bool ret = false; + + if (!(migratableDefSrc = virDomainDefCopy(src, cfg->caps, driver->xmlopt, true)) || + !(migratableDefDst = virDomainDefCopy(dst, cfg->caps, driver->xmlopt, true))) + goto cleanup; + + ret = virDomainDefCheckABIStability(migratableDefSrc, migratableDefDst); + + cleanup: + virDomainDefFree(migratableDefSrc); + virDomainDefFree(migratableDefDst); + virObjectUnref(cfg); + return ret; +} diff --git a/src/libxl/libxl_domain.h b/src/libxl/libxl_domain.h index 979ce2afd9..693900895b 100644 --- a/src/libxl/libxl_domain.h +++ b/src/libxl/libxl_domain.h @@ -139,4 +139,9 @@ libxlDomainStart(libxlDriverPrivatePtr driver, bool start_paused, int restore_fd); +bool +libxlDomainDefCheckABIStability(libxlDriverPrivatePtr driver, + virDomainDefPtr src, + virDomainDefPtr dst); + #endif /* LIBXL_DOMAIN_H */