[libvirt] [PATCH 0/4] Allow changing guest XML during QEMU migration
Daniel P. Berrange
berrange at redhat.com
Tue May 31 13:18:32 UTC 2011
On Fri, May 27, 2011 at 01:09:06PM +0100, Daniel P. Berrange wrote:
> This patch series updates the QEMU driver to allow it to take
> advantage of the migration v3 protocol support for changing
> guest XML during migration.
>
> eg
>
> virsh migrate --xml migtest.xml migtest qemu+ssh://somehost/system
>
> NB the XML is strictly validated for guest ABI compatibility
> so only things like host NIC device names or host disk file
> paths can be changed
This series caused a build failure on Win32 due to some dodgy
#ifdef conditionals, so I pushed this followup
commit ef983dfe5ab9c8b126d435f3f3a46bdd6f8f21b6
Author: Daniel P. Berrange <berrange at redhat.com>
Date: Tue May 31 14:12:33 2011 +0100
Fix sysinfo/virsh build problems on Win32
The virSysinfoIsEqual method was mistakenly inside a #ifndef WIN32
conditional.
The existing virSysinfoFormat is also stubbed out on Win32, even
though the code works without any trouble. This breaks XML output
on Win32, so the stub is removed.
virsh migrate mistakenly had some variables inside the conditional
* src/util/sysinfo.c: Build virSysinfoIsEqual on Win32 and remove
Win32 stub for virSysinfoFormat
* tools/virsh.c: Fix variable declaration on Win32
diff --git a/src/util/sysinfo.c b/src/util/sysinfo.c
index ff07151..40ec2e3 100644
--- a/src/util/sysinfo.c
+++ b/src/util/sysinfo.c
@@ -94,15 +94,6 @@ virSysinfoRead(void) {
return NULL;
}
-char *
-virSysinfoFormat(virSysinfoDefPtr def ATTRIBUTE_UNUSED,
- const char *prefix ATTRIBUTE_UNUSED)
-{
- virReportSystemError(ENOSYS, "%s",
- _("Host sysinfo extraction not supported on this platform"));
- return NULL;
-}
-
#else /* !WIN32 */
virSysinfoDefPtr
@@ -220,6 +211,7 @@ no_memory:
ret = NULL;
goto cleanup;
}
+#endif /* !WIN32 */
/**
* virSysinfoFormat:
@@ -350,7 +342,7 @@ bool virSysinfoIsEqual(virSysinfoDefPtr src,
goto cleanup;
}
-# define CHECK_FIELD(name, desc) \
+#define CHECK_FIELD(name, desc) \
do { \
if (STRNEQ_NULLABLE(src->name, dst->name)) { \
virSmbiosReportError(VIR_ERR_CONFIG_UNSUPPORTED, \
@@ -372,12 +364,10 @@ bool virSysinfoIsEqual(virSysinfoDefPtr src,
CHECK_FIELD(system_sku, "system sku");
CHECK_FIELD(system_family, "system family");
-# undef CHECK_FIELD
+#undef CHECK_FIELD
identical = true;
cleanup:
return identical;
}
-
-#endif /* !WIN32 */
diff --git a/tools/virsh.c b/tools/virsh.c
index 520d16e..dfd5bd2 100644
--- a/tools/virsh.c
+++ b/tools/virsh.c
@@ -3850,10 +3850,10 @@ doMigrate (void *opaque)
vshCtrlData *data = opaque;
vshControl *ctl = data->ctl;
const vshCmd *cmd = data->cmd;
-#if HAVE_PTHREAD_SIGMASK
- sigset_t sigmask, oldsigmask;
const char *xmlfile = NULL;
char *xml = NULL;
+#if HAVE_PTHREAD_SIGMASK
+ sigset_t sigmask, oldsigmask;
sigemptyset(&sigmask);
sigaddset(&sigmask, SIGINT);
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list