migration: options incompatible with cpr
Fail the migration request if options are set that are incompatible with cpr. Signed-off-by: Steve Sistare <steven.sistare@oracle.com> Reviewed-by: Peter Xu <peterx@redhat.com> Link: https://lore.kernel.org/r/1708622920-68779-15-git-send-email-steven.sistare@oracle.com Signed-off-by: Peter Xu <peterx@redhat.com>
This commit is contained in:
parent
ce5db1cb49
commit
cbdafc1b34
@ -1953,6 +1953,23 @@ static bool migrate_prepare(MigrationState *s, bool blk, bool blk_inc,
|
||||
return false;
|
||||
}
|
||||
|
||||
if (migrate_mode_is_cpr(s)) {
|
||||
const char *conflict = NULL;
|
||||
|
||||
if (migrate_postcopy()) {
|
||||
conflict = "postcopy";
|
||||
} else if (migrate_background_snapshot()) {
|
||||
conflict = "background snapshot";
|
||||
} else if (migrate_colo()) {
|
||||
conflict = "COLO";
|
||||
}
|
||||
|
||||
if (conflict) {
|
||||
error_setg(errp, "Cannot use %s with CPR", conflict);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (blk || blk_inc) {
|
||||
if (migrate_colo()) {
|
||||
error_setg(errp, "No disk migration is required in COLO mode");
|
||||
|
@ -657,6 +657,8 @@
|
||||
# shared backend must be be non-volatile across reboot, such as by backing
|
||||
# it with a dax device.
|
||||
#
|
||||
# cpr-reboot may not be used with postcopy, colo, or background-snapshot.
|
||||
#
|
||||
# (since 8.2)
|
||||
##
|
||||
{ 'enum': 'MigMode',
|
||||
|
Loading…
Reference in New Issue
Block a user