File d9a099a4-libxl-abi-check.patch of Package libvirt

commit d9a099a4c572b45c1f8f3d2847cc64ebd039f5ad
Author: Jim Fehlig <jfehlig@suse.com>
Date:   Wed Jun 4 14:02:27 2014 -0600

    libxl: introduce libxlDomainDefCheckABIStability
    
    Introduce a simple libxlDomainDefCheckABIStability() function that
    can be used check ABI stability between two virDomainDef objects.
    
    Signed-off-by: Jim Fehlig <jfehlig@suse.com>

Index: libvirt-1.2.5/src/libxl/libxl_domain.c
===================================================================
--- libvirt-1.2.5.orig/src/libxl/libxl_domain.c
+++ libvirt-1.2.5/src/libxl/libxl_domain.c
@@ -1255,3 +1255,26 @@ libxlDomainStart(libxlDriverPrivatePtr d
     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;
+}
Index: libvirt-1.2.5/src/libxl/libxl_domain.h
===================================================================
--- libvirt-1.2.5.orig/src/libxl/libxl_domain.h
+++ libvirt-1.2.5/src/libxl/libxl_domain.h
@@ -139,4 +139,9 @@ libxlDomainStart(libxlDriverPrivatePtr d
                  bool start_paused,
                  int restore_fd);
 
+bool
+libxlDomainDefCheckABIStability(libxlDriverPrivatePtr driver,
+                                virDomainDefPtr src,
+                                virDomainDefPtr dst);
+
 #endif /* LIBXL_DOMAIN_H */