On 07/15/2011 12:26 PM, Eric Blake wrote:
On 07/15/2011 09:27 AM, Matthias Bolte wrote:
> 2011/7/15 Eric Blake <eblake(a)redhat.com>:
>> * src/qemu/qemu_driver.c (QEMU_MIGRATION_FLAGS): New define.
>> Simplify all migration callbacks.
>> ---
>>
>> v3: new patch
>>
>> src/qemu/qemu_driver.c | 101 ++++++++++--------------------------------------
>> 1 files changed, 21 insertions(+), 80 deletions(-)
>
> ACK.
Ouch. Stefan pointed out on IRC that I added a virCheckFlags(0,01) in
qemuMigrationConfirm() which is indeed a regression that breaks qemu
migration. I'll have to fix that before pushing this. :(
Found it, so I'm squashing this in, as well as updating the commit message:
flags: fix qemu migration regression
Commit f548480b broke migration v3 on qemu, because the driver
passed flags on through to qemu_migration even though
qemu_migration wasn't using those flags.
diff --git i/src/qemu/qemu_driver.c w/src/qemu/qemu_driver.c
index 3e0479c..8d146aa 100644
--- i/src/qemu/qemu_driver.c
+++ w/src/qemu/qemu_driver.c
@@ -112,17 +112,6 @@
#define QEMU_NB_BLKIO_PARAM 1
-/* All supported qemu migration flags. */
-#define QEMU_MIGRATION_FLAGS \
- (VIR_MIGRATE_LIVE | \
- VIR_MIGRATE_PEER2PEER | \
- VIR_MIGRATE_TUNNELLED | \
- VIR_MIGRATE_PERSIST_DEST | \
- VIR_MIGRATE_UNDEFINE_SOURCE | \
- VIR_MIGRATE_PAUSED | \
- VIR_MIGRATE_NON_SHARED_DISK | \
- VIR_MIGRATE_NON_SHARED_INC)
-
static void processWatchdogEvent(void *data, void *opaque);
static int qemudShutdown(void);
diff --git i/src/qemu/qemu_migration.c w/src/qemu/qemu_migration.c
index b8f563b..dfa80e3 100644
--- i/src/qemu/qemu_migration.c
+++ w/src/qemu/qemu_migration.c
@@ -2575,7 +2575,7 @@ int qemuMigrationConfirm(struct qemud_driver *driver,
driver, conn, vm, NULLSTR(cookiein), cookieinlen,
flags, retcode);
- virCheckFlags(0, -1);
+ virCheckFlags(QEMU_MIGRATION_FLAGS, -1);
if (!(mig = qemuMigrationEatCookie(driver, vm, cookiein,
cookieinlen, 0)))
return -1;
diff --git i/src/qemu/qemu_migration.h w/src/qemu/qemu_migration.h
index d3a3743..df3f06f 100644
--- i/src/qemu/qemu_migration.h
+++ w/src/qemu/qemu_migration.h
@@ -24,6 +24,16 @@
# include "qemu_conf.h"
+/* All supported qemu migration flags. */
+#define QEMU_MIGRATION_FLAGS \
+ (VIR_MIGRATE_LIVE | \
+ VIR_MIGRATE_PEER2PEER | \
+ VIR_MIGRATE_TUNNELLED | \
+ VIR_MIGRATE_PERSIST_DEST | \
+ VIR_MIGRATE_UNDEFINE_SOURCE | \
+ VIR_MIGRATE_PAUSED | \
+ VIR_MIGRATE_NON_SHARED_DISK | \
+ VIR_MIGRATE_NON_SHARED_INC)
bool qemuMigrationIsAllowed(virDomainDefPtr def)
ATTRIBUTE_NONNULL(1);
--
libvir-list mailing list
libvir-list(a)redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
--
Eric Blake eblake(a)redhat.com +1-801-349-2682
Libvirt virtualization library
http://libvirt.org