These patches add live migration support to -device virtio-blk-pci,x-data-plane=on.
Patch 1 has already been posted and merged into the block tree. I have included it for convenience. Patches 2 & 3 implement a switch from dataplane mode back to regular virtio-blk mode when migration starts. This way live migration works. If migration is cancelled or the guest accesses the virtio-blk device after completion, dataplane starts again. Since this approach is so small, it's more palatable for QEMU 1.6 than trying to make vring.c log dirty memory. It makes dataplane usable in situations where live migration is a requirement. Stefan Hajnoczi (3): dataplane: sync virtio.c and vring.c virtqueue state migration: notify migration state before starting thread dataplane: enable virtio-blk x-data-plane=on live migration hw/block/dataplane/virtio-blk.c | 19 +++++++++---------- hw/block/virtio-blk.c | 32 ++++++++++++++++++++++++++++++++ hw/virtio/dataplane/vring.c | 8 +++++--- include/hw/virtio/dataplane/vring.h | 2 +- include/hw/virtio/virtio-blk.h | 1 + migration.c | 4 +++- 6 files changed, 51 insertions(+), 15 deletions(-) -- 1.8.1.4