From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39570) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V3n5b-0005Vl-GM for qemu-devel@nongnu.org; Mon, 29 Jul 2013 09:02:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V3n5V-00011X-I5 for qemu-devel@nongnu.org; Mon, 29 Jul 2013 09:02:15 -0400 Received: from mx1.redhat.com ([209.132.183.28]:59537) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V3n5V-00011T-AZ for qemu-devel@nongnu.org; Mon, 29 Jul 2013 09:02:09 -0400 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r6TD27e3008950 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 29 Jul 2013 09:02:08 -0400 From: Stefan Hajnoczi Date: Mon, 29 Jul 2013 15:01:56 +0200 Message-Id: <1375102920-18817-1-git-send-email-stefanha@redhat.com> Subject: [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: qemu-devel@nongnu.org Cc: Kevin Wolf , Stefan Hajnoczi , Juan Quintela 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