diff options
author | Kevin Wolf <kwolf@redhat.com> | 2011-11-22 16:51:12 +0100 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2011-11-23 17:04:04 +0100 |
commit | 612ff3d8876a6df0484aa6ebb5cae4575f7514c5 (patch) | |
tree | 45cca0daa74313783530c8c6f4d93f40423c9d8c /block/vpc.c | |
parent | 2bc3166c22aeeb5cd7b8f21104f4744f08c7a288 (diff) | |
download | qemu-612ff3d8876a6df0484aa6ebb5cae4575f7514c5.zip qemu-612ff3d8876a6df0484aa6ebb5cae4575f7514c5.tar.gz qemu-612ff3d8876a6df0484aa6ebb5cae4575f7514c5.tar.bz2 |
vpc: Add migration blocker
vpc caches the BAT. For migration to work, it would have to be
invalidated. Block migration for now.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'block/vpc.c')
-rw-r--r-- | block/vpc.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/block/vpc.c b/block/vpc.c index 39a3247..75d7d4a 100644 --- a/block/vpc.c +++ b/block/vpc.c @@ -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[] = { |