From: Xie Yongji <xieyon...@baidu.com> We introduced two flags "started" and "start_on_kick" to indicate virtio device's state before. But there still are some problems with them. So we try to fixup them in this patchset.
The patch 1 fixes a regression bug that old guest is not able to boot with vhost-user-blk device. The patch 2 set "start_on_kick" flag for legacy devices. The patch 3,4 fix some problems with "started" and "start_on_kick" flag. The patch 5 introduces a "use-started" property to avoid a migration issue under Greg Kurz's suggestion [1]. [1] https://lists.gnu.org/archive/html/qemu-devel/2019-05/msg06247.html v2: - Recalculate "start_on_kick" flag after migration instead of migrating it - Set "start_on_kick" flag for legacy devices - Avoid setting "started" flag when "use_started" property is true - Set "use_started" to false by hw_compat_4_0_1 instead of hw_compat_4_0 Xie Yongji (5): virtio: Set "start_on_kick" on virtio_set_features() virtio: Set "start_on_kick" for legacy devices virtio: Make sure we get correct state of device on handle_aio_output() virtio: Don't change "started" flag on virtio_vmstate_change() virtio: add "use-started" property hw/block/vhost-user-blk.c | 4 +-- hw/core/machine.c | 4 ++- hw/virtio/virtio.c | 53 ++++++++++++++++++++++---------------- include/hw/virtio/virtio.h | 23 ++++++++++++++++- 4 files changed, 58 insertions(+), 26 deletions(-) -- 2.17.1