Skip to content

Commit

Permalink
migration: update cpr-reboot description
Browse files Browse the repository at this point in the history
Clarify qapi for cpr-reboot migration mode, and add vfio support.

Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Link: https://lore.kernel.org/r/1708622920-68779-14-git-send-email-steven.sistare@oracle.com
Signed-off-by: Peter Xu <peterx@redhat.com>
  • Loading branch information
Steve Sistare authored and xzpeter committed Feb 28, 2024
1 parent 9867d4d commit ce5db1c
Showing 1 changed file with 22 additions and 13 deletions.
35 changes: 22 additions & 13 deletions qapi/migration.json
Expand Up @@ -636,19 +636,28 @@
#
# @normal: the original form of migration. (since 8.2)
#
# @cpr-reboot: The migrate command saves state to a file, allowing one to
# quit qemu, reboot to an updated kernel, and restart an updated
# version of qemu. The caller must specify a migration URI
# that writes to and reads from a file. Unlike normal mode,
# the use of certain local storage options does not block the
# migration, but the caller must not modify guest block devices
# between the quit and restart. To avoid saving guest RAM to the
# file, the memory backend must be shared, and the @x-ignore-shared
# migration capability must be set. Guest RAM must be non-volatile
# across reboot, such as by backing it with a dax device, but this
# is not enforced. The restarted qemu arguments must match those
# used to initially start qemu, plus the -incoming option.
# (since 8.2)
# @cpr-reboot: The migrate command stops the VM and saves state to the URI.
# After quitting qemu, the user resumes by running qemu -incoming.
#
# This mode allows the user to quit qemu, and restart an updated version
# of qemu. The user may even update and reboot the OS before restarting,
# as long as the URI persists across a reboot.
#
# Unlike normal mode, the use of certain local storage options does not
# block the migration, but the user must not modify guest block devices
# between the quit and restart.
#
# This mode supports vfio devices provided the user first puts the guest
# in the suspended runstate, such as by issuing guest-suspend-ram to the
# qemu guest agent.
#
# Best performance is achieved when the memory backend is shared and the
# @x-ignore-shared migration capability is set, but this is not required.
# Further, if the user reboots before restarting such a configuration, the
# shared backend must be be non-volatile across reboot, such as by backing
# it with a dax device.
#
# (since 8.2)
##
{ 'enum': 'MigMode',
'data': [ 'normal', 'cpr-reboot' ] }
Expand Down

0 comments on commit ce5db1c

Please sign in to comment.