summary refs log tree commit diff stats
path: root/hw/vfio/common.c
diff options
context:
space:
mode:
authorSteve Sistare <steven.sistare@oracle.com>2024-02-22 09:28:38 -0800
committerCédric Le Goater <clg@redhat.com>2024-03-08 22:10:13 +0100
commit0cb51c183a91e882b10ead4ddf2321296a537c47 (patch)
tree8f82a28bb1786ccfd0d1e6f8d2a116e69149c026 /hw/vfio/common.c
parentd9fa4223b30ab881cc2f506fda1fc6a86aad5529 (diff)
downloadfocaccia-qemu-0cb51c183a91e882b10ead4ddf2321296a537c47.tar.gz
focaccia-qemu-0cb51c183a91e882b10ead4ddf2321296a537c47.zip
vfio: allow cpr-reboot migration if suspended
Allow cpr-reboot for vfio if the guest is in the suspended runstate.  The
guest drivers' suspend methods flush outstanding requests and re-initialize
the devices, and thus there is no device state to save and restore.  The
user is responsible for suspending the guest before initiating cpr, such as
by issuing guest-suspend-ram to the qemu guest agent.

Relax the vfio blocker so it does not apply to cpr, and add a notifier that
verifies the guest is suspended.

Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Diffstat (limited to 'hw/vfio/common.c')
-rw-r--r--hw/vfio/common.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/vfio/common.c b/hw/vfio/common.c
index 059bfdc07a..ff88c3f31c 100644
--- a/hw/vfio/common.c
+++ b/hw/vfio/common.c
@@ -128,7 +128,7 @@ int vfio_block_multiple_devices_migration(VFIODevice *vbasedev, Error **errp)
     error_setg(&multiple_devices_migration_blocker,
                "Multiple VFIO devices migration is supported only if all of "
                "them support P2P migration");
-    ret = migrate_add_blocker(&multiple_devices_migration_blocker, errp);
+    ret = migrate_add_blocker_normal(&multiple_devices_migration_blocker, errp);
 
     return ret;
 }