diff --git a/migration/savevm.c b/migration/savevm.c index ef707b8c43..1c49776a91 100644 --- a/migration/savevm.c +++ b/migration/savevm.c @@ -2455,6 +2455,10 @@ int save_snapshot(const char *name, Error **errp) struct tm tm; AioContext *aio_context; + if (migration_is_blocked(errp)) { + return false; + } + if (!replay_can_snapshot()) { error_setg(errp, "Record/replay does not allow making snapshot " "right now. Try once more later."); diff --git a/target/i386/kvm.c b/target/i386/kvm.c index 2724800686..b2401d13ea 100644 --- a/target/i386/kvm.c +++ b/target/i386/kvm.c @@ -1266,7 +1266,6 @@ int kvm_arch_init_vcpu(CPUState *cs) if (!env->user_tsc_khz) { if ((env->features[FEAT_8000_0007_EDX] & CPUID_APM_INVTSC) && invtsc_mig_blocker == NULL) { - /* for migration */ error_setg(&invtsc_mig_blocker, "State blocked by non-migratable CPU device" " (invtsc flag)"); @@ -1276,8 +1275,6 @@ int kvm_arch_init_vcpu(CPUState *cs) error_free(invtsc_mig_blocker); return r; } - /* for savevm */ - vmstate_x86_cpu.unmigratable = 1; } }