On Mon, Jul 29, 2013 at 03:01:56PM +0200, Stefan Hajnoczi wrote: > v3: > * Fix spice migration, also needed for dataplane migration [kwolf] > > v2: > * Rebase onto qemu.git/master > * Split bdrv_in_use() into separate patch, it's a bug fix [bonzini] > > These patches add live migration support to -device > virtio-blk-pci,x-data-plane=on. > > Patches 1 & 2 make migration state notifiers reliable and fix spice migration. > Dataplane migration faces the same issues so I'm including the patches here. > > Patch 3 implements a switch from dataplane mode back to regular virtio-blk > mode > when migration starts. This way live migration works. > > Patch 4 is a bug fix: we need to check the device is not in use when creating > the dataplane thread. It applies to live migration but it turns out the same > problem can be hit without migration too, see the commit description. > > 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 (4): > migration: notify migration state before starting thread > migration: fix spice migration > dataplane: enable virtio-blk x-data-plane=on live migration > dataplane: refuse to start if device is already in use > > hw/block/dataplane/virtio-blk.c | 17 ++++++++--------- > hw/block/virtio-blk.c | 32 ++++++++++++++++++++++++++++++++ > include/hw/virtio/virtio-blk.h | 1 + > include/migration/migration.h | 2 +- > migration.c | 8 +++++--- > ui/spice-core.c | 2 +- > 6 files changed, 48 insertions(+), 14 deletions(-)
Applied to my block tree: https://github.com/stefanha/qemu/commits/block Stefan
