]> Git Repo - qemu.git/commitdiff
vpc: Add migration blocker
authorKevin Wolf <[email protected]>
Tue, 22 Nov 2011 15:51:12 +0000 (16:51 +0100)
committerKevin Wolf <[email protected]>
Wed, 23 Nov 2011 16:04:04 +0000 (17:04 +0100)
vpc caches the BAT. For migration to work, it would have to be
invalidated. Block migration for now.

Signed-off-by: Kevin Wolf <[email protected]>
block/vpc.c

index 39a324705d5d0d0070069f1b42ef9feb4d906de7..75d7d4ac7761e535a7a869c7e9b65bd1cc1a99b8 100644 (file)
@@ -25,6 +25,7 @@
 #include "qemu-common.h"
 #include "block_int.h"
 #include "module.h"
+#include "migration.h"
 
 /**************************************************************/
 
@@ -128,6 +129,8 @@ typedef struct BDRVVPCState {
 
     uint64_t last_bitmap;
 #endif
+
+    Error *migration_blocker;
 } BDRVVPCState;
 
 static uint32_t vpc_checksum(uint8_t* buf, size_t size)
@@ -228,6 +231,13 @@ static int vpc_open(BlockDriverState *bs, int flags)
 #endif
 
     qemu_co_mutex_init(&s->lock);
+
+    /* Disable migration when VHD images are used */
+    error_set(&s->migration_blocker,
+              QERR_BLOCK_FORMAT_FEATURE_NOT_SUPPORTED,
+              "vpc", bs->device_name, "live migration");
+    migrate_add_blocker(s->migration_blocker);
+
     return 0;
  fail:
     return err;
@@ -651,6 +661,9 @@ static void vpc_close(BlockDriverState *bs)
 #ifdef CACHE
     g_free(s->pageentry_u8);
 #endif
+
+    migrate_del_blocker(s->migration_blocker);
+    error_free(s->migration_blocker);
 }
 
 static QEMUOptionParameter vpc_create_options[] = {
This page took 0.028477 seconds and 4 git commands to generate.