From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46560) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V3pFk-0003Vq-VW for qemu-devel@nongnu.org; Mon, 29 Jul 2013 11:20:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V3pFf-0005nk-JP for qemu-devel@nongnu.org; Mon, 29 Jul 2013 11:20:52 -0400 Received: from mail-we0-x22f.google.com ([2a00:1450:400c:c03::22f]:40092) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V3pFf-0005ng-BY for qemu-devel@nongnu.org; Mon, 29 Jul 2013 11:20:47 -0400 Received: by mail-we0-f175.google.com with SMTP id q58so4085398wes.20 for ; Mon, 29 Jul 2013 08:20:46 -0700 (PDT) Date: Mon, 29 Jul 2013 17:20:44 +0200 From: Stefan Hajnoczi Message-ID: <20130729152044.GA7687@stefanha-thinkpad.redhat.com> References: <1375102920-18817-1-git-send-email-stefanha@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1375102920-18817-1-git-send-email-stefanha@redhat.com> Subject: Re: [Qemu-devel] [PATCH v3 0/4] dataplane: virtio-blk live migration with x-data-plane=on List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Hajnoczi Cc: Kevin Wolf , qemu-devel@nongnu.org, Juan Quintela 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