Actually, we encounter the same problem in our test, we fix it with the follow
patch:
From 0e4d6d706afd9909b5fd71536b45c58af60892f8 Mon Sep 17 00:00:00 2001
From: zhanghailiang<address@hidden>
Date: Tue, 21 Mar 2017 09:44:36 +0800
Subject: [PATCH] migration: Re-activate blocks whenever migration been
cancelled
In commit 1d2acc3162d9c7772510c973f446353fbdd1f9a8, we try to fix the bug
'bdrv_co_do_pwritev: Assertion `!(bs->open_flags & 0x0800)' failed'
which occured in migration cancelling process.
But it seems that we didn't cover all the cases, we caught such a case
which
slipped from the old fixup in our test: if libvirtd cancelled the
migration
process for a shutting down VM, it will send 'system_reset' command first,
and then 'cont' command behind, after VM resumes to run, it will trigger
the above
error reports, because we didn't regain the control of blocks for VM.
Signed-off-by: zhanghailiang<address@hidden>
Signed-off-by: Hongyang Yang<address@hidden>
---
block.c | 12 +++++++++++-
include/block/block.h | 1 +
include/migration/migration.h | 3 ---
migration/migration.c | 7 +------
qmp.c | 4 +---
5 files changed, 14 insertions(+), 13 deletions(-)