[libvirt] [PATCH v2 2/3] libxl: streamline top-level migrate functions

Joao Martins joao.m.martins at oracle.com
Wed Feb 8 00:35:21 UTC 2017


This allows us to reuse a single function for both tunnelled and
non-tunnelled variants.

Signed-off-by: Joao Martins <joao.m.martins at oracle.com>
---
New in v2
---
 src/libxl/libxl_driver.c | 36 +++++++++++++++++++++++++++---------
 1 file changed, 27 insertions(+), 9 deletions(-)

diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
index 3a69720..7bc8adf 100644
--- a/src/libxl/libxl_driver.c
+++ b/src/libxl/libxl_driver.c
@@ -5930,21 +5930,22 @@ libxlDomainMigrateBegin3Params(virDomainPtr domain,
 }
 
 static int
-libxlDomainMigratePrepare3Params(virConnectPtr dconn,
-                                 virTypedParameterPtr params,
-                                 int nparams,
-                                 const char *cookiein,
-                                 int cookieinlen,
-                                 char **cookieout ATTRIBUTE_UNUSED,
-                                 int *cookieoutlen ATTRIBUTE_UNUSED,
-                                 char **uri_out,
-                                 unsigned int flags)
+libxlDomainMigratePrepareCommon(virConnectPtr dconn,
+                                virTypedParameterPtr params,
+                                int nparams,
+                                const char *cookiein,
+                                int cookieinlen,
+                                char **cookieout ATTRIBUTE_UNUSED,
+                                int *cookieoutlen ATTRIBUTE_UNUSED,
+                                unsigned int flags,
+                                void *data)
 {
     libxlDriverPrivatePtr driver = dconn->privateData;
     virDomainDefPtr def = NULL;
     const char *dom_xml = NULL;
     const char *dname = NULL;
     const char *uri_in = NULL;
+    char **uri_out = data;
 
 #ifdef LIBXL_HAVE_NO_SUSPEND_RESUME
     virReportUnsupportedError();
@@ -5985,6 +5986,23 @@ libxlDomainMigratePrepare3Params(virConnectPtr dconn,
 }
 
 static int
+libxlDomainMigratePrepare3Params(virConnectPtr dconn,
+                                 virTypedParameterPtr params,
+                                 int nparams,
+                                 const char *cookiein,
+                                 int cookieinlen,
+                                 char **cookieout ATTRIBUTE_UNUSED,
+                                 int *cookieoutlen ATTRIBUTE_UNUSED,
+                                 char **uri_out,
+                                 unsigned int flags)
+{
+    return libxlDomainMigratePrepareCommon(dconn, params, nparams,
+                                           cookiein, cookieinlen,
+                                           cookieout, cookieoutlen,
+                                           flags, uri_out);
+}
+
+static int
 libxlDomainMigratePerform3Params(virDomainPtr dom,
                                  const char *dconnuri,
                                  virTypedParameterPtr params,
-- 
2.1.4




More information about the libvir-list mailing list