qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v3 0/4] dataplane: virtio-blk live migration with x-


From: Stefan Hajnoczi
Subject: [Qemu-devel] [PATCH v3 0/4] dataplane: virtio-blk live migration with x-data-plane=on
Date: Mon, 29 Jul 2013 15:01:56 +0200

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(-)

-- 
1.8.1.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]