Introduce a simple libxlDomainDefCheckABIStability() function that can be used check ABI stability between two virDomainDef objects. Signed-off-by: Jim Fehlig <jfehlig@xxxxxxxx> --- src/libxl/libxl_domain.c | 23 +++++++++++++++++++++++ src/libxl/libxl_domain.h | 5 +++++ 2 files changed, 28 insertions(+) diff --git a/src/libxl/libxl_domain.c b/src/libxl/libxl_domain.c index eab789a..73242ac 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 979ce2a..6939008 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 */ -- 1.8.4.5 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list