[PATCH] savevm: check for incoming-state in savevm

lichun posted 1 patch 3 years, 2 months ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/1612266107-76091-1-git-send-email-lichun@ruijie.com.cn
Maintainers: Juan Quintela <quintela@redhat.com>, "Dr. David Alan Gilbert" <dgilbert@redhat.com>
migration/savevm.c | 5 +++++
1 file changed, 5 insertions(+)
[PATCH] savevm: check for incoming-state in savevm
Posted by lichun 3 years, 2 months ago
Running #qemu-system-i386 test.img -monitor stdio -incoming tcp:0.0.0.0:1234
        (qemu) savevm
we get:

before the patch:
    bdrv_co_pwritev: Assertion `!(bs->open_flags & 0x0800)' failed.
    Aborted
after:
    Error: Guest is waiting for an incoming migration

Signed-off-by: lichun <lichun@ruijie.com.cn>
---
 migration/savevm.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/migration/savevm.c b/migration/savevm.c
index 4f3b69e..84e76e4 100644
--- a/migration/savevm.c
+++ b/migration/savevm.c
@@ -1522,6 +1522,11 @@ static int qemu_savevm_state(QEMUFile *f, Error **errp)
         return -EINVAL;
     }
 
+    if (runstate_check(RUN_STATE_INMIGRATE)) {
+        error_setg(errp, "Guest is waiting for an incoming migration");
+        return -EINVAL;
+    }
+
     if (migrate_use_block()) {
         error_setg(errp, "Block migration and snapshots are incompatible");
         return -EINVAL;
-- 
1.8.3.1