]> git.proxmox.com Git - qemu.git/commitdiff
vmstate: add no_migrate flag to VMStateDescription
authorGerd Hoffmann <kraxel@redhat.com>
Fri, 8 Jul 2011 08:44:35 +0000 (10:44 +0200)
committerGerd Hoffmann <kraxel@redhat.com>
Wed, 20 Jul 2011 07:23:33 +0000 (09:23 +0200)
This allows to easily tag devices as non-migratable,
so any attempt to migrate a virtual machine with the
device in question active will make migration fail.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
hw/hw.h
savevm.c

diff --git a/hw/hw.h b/hw/hw.h
index 9dd7096fc27f9780e618f8a6d395d023b3fa8f31..df6ca650580a6884896016399cfe17ca73f514b0 100644 (file)
--- a/hw/hw.h
+++ b/hw/hw.h
@@ -324,6 +324,7 @@ typedef struct VMStateSubsection {
 
 struct VMStateDescription {
     const char *name;
+    int unmigratable;
     int version_id;
     int minimum_version_id;
     int minimum_version_id_old;
index 8139bc7e297db9604bfc7a607025a435b6aec75f..1c5abe247697d9a8cb7a61ba3e7b7381eda9a624 100644 (file)
--- a/savevm.c
+++ b/savevm.c
@@ -1234,6 +1234,7 @@ int vmstate_register_with_alias_id(DeviceState *dev, int instance_id,
     se->opaque = opaque;
     se->vmsd = vmsd;
     se->alias_id = alias_id;
+    se->no_migrate = vmsd->unmigratable;
 
     if (dev && dev->parent_bus && dev->parent_bus->info->get_dev_path) {
         char *id = dev->parent_bus->info->get_dev_path(dev);