summaryrefslogtreecommitdiffstats
path: root/include/migration
diff options
context:
space:
mode:
authorJens Freimann2019-10-29 12:49:02 +0100
committerMichael S. Tsirkin2019-10-29 23:55:26 +0100
commitc7e0acd5a3f87d4aabb7a702aff87f83fc3ce151 (patch)
tree0868e8d6d33b26c4259d0331a85658f815ba0300 /include/migration
parentmigration: allow unplug during migration for failover devices (diff)
downloadqemu-c7e0acd5a3f87d4aabb7a702aff87f83fc3ce151.tar.gz
qemu-c7e0acd5a3f87d4aabb7a702aff87f83fc3ce151.tar.xz
qemu-c7e0acd5a3f87d4aabb7a702aff87f83fc3ce151.zip
migration: add new migration state wait-unplug
This patch adds a new migration state called wait-unplug. It is entered after the SETUP state if failover devices are present. It will transition into ACTIVE once all devices were succesfully unplugged from the guest. So if a guest doesn't respond or takes long to honor the unplug request the user will see the migration state 'wait-unplug'. In the migration thread we query failover devices if they're are still pending the guest unplug. When all are unplugged the migration continues. If one device won't unplug migration will stay in wait_unplug state. Signed-off-by: Jens Freimann <jfreimann@redhat.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Message-Id: <20191029114905.6856-9-jfreimann@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'include/migration')
-rw-r--r--include/migration/vmstate.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/migration/vmstate.h b/include/migration/vmstate.h
index b9ee563aa4..ac4f46a67d 100644
--- a/include/migration/vmstate.h
+++ b/include/migration/vmstate.h
@@ -186,6 +186,8 @@ struct VMStateDescription {
int (*pre_save)(void *opaque);
int (*post_save)(void *opaque);
bool (*needed)(void *opaque);
+ bool (*dev_unplug_pending)(void *opaque);
+
const VMStateField *fields;
const VMStateDescription **subsections;
};