From patchwork Thu Oct 22 17:38:42 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg Kurz X-Patchwork-Id: 534520 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 242A114131C for ; Fri, 23 Oct 2015 04:39:12 +1100 (AEDT) Received: from localhost ([::1]:33673 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZpJpV-00082E-Vs for incoming@patchwork.ozlabs.org; Thu, 22 Oct 2015 13:39:10 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40131) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZpJpF-0007lY-Js for qemu-devel@nongnu.org; Thu, 22 Oct 2015 13:38:54 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZpJpC-0005pO-95 for qemu-devel@nongnu.org; Thu, 22 Oct 2015 13:38:53 -0400 Received: from e06smtp10.uk.ibm.com ([195.75.94.106]:53628) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZpJpC-0005oT-07 for qemu-devel@nongnu.org; Thu, 22 Oct 2015 13:38:50 -0400 Received: from localhost by e06smtp10.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 22 Oct 2015 18:38:48 +0100 Received: from d06dlp01.portsmouth.uk.ibm.com (9.149.20.13) by e06smtp10.uk.ibm.com (192.168.101.140) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Thu, 22 Oct 2015 18:38:46 +0100 X-IBM-Helo: d06dlp01.portsmouth.uk.ibm.com X-IBM-MailFrom: gkurz@linux.vnet.ibm.com X-IBM-RcptTo: qemu-devel@nongnu.org Received: from b06cxnps4074.portsmouth.uk.ibm.com (d06relay11.portsmouth.uk.ibm.com [9.149.109.196]) by d06dlp01.portsmouth.uk.ibm.com (Postfix) with ESMTP id 5E26E17D8024 for ; Thu, 22 Oct 2015 18:38:55 +0100 (BST) Received: from d06av04.portsmouth.uk.ibm.com (d06av04.portsmouth.uk.ibm.com [9.149.37.216]) by b06cxnps4074.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id t9MHcjWG9503164 for ; Thu, 22 Oct 2015 17:38:46 GMT Received: from d06av04.portsmouth.uk.ibm.com (localhost [127.0.0.1]) by d06av04.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id t9MHcjeb019300 for ; Thu, 22 Oct 2015 11:38:45 -0600 Received: from smtp.lab.toulouse-stg.fr.ibm.com (srv01.lab.toulouse-stg.fr.ibm.com [9.101.4.1]) by d06av04.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVin) with ESMTP id t9MHcjid019294; Thu, 22 Oct 2015 11:38:45 -0600 Received: from bahia.huguette.org (icon-9-164-162-174.megacenter.de.ibm.com [9.164.162.174]) by smtp.lab.toulouse-stg.fr.ibm.com (Postfix) with ESMTP id C9D952202EB; Thu, 22 Oct 2015 19:38:43 +0200 (CEST) From: Greg Kurz To: qemu-devel@nongnu.org Date: Thu, 22 Oct 2015 19:38:42 +0200 Message-ID: <20151022171252.15633.54658.stgit@bahia.huguette.org> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 15102217-0041-0000-0000-000006145A5B X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 195.75.94.106 Cc: aneesh.kumar@linux.vnet.ibm.com, "Michael S. Tsirkin" Subject: [Qemu-devel] [PATCH] virtio-9p: add savem handlers X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org We don't support migration of mounted 9p shares. This is handled by a migration blocker. One would expect, however, to be able to migrate if the share is unmounted. Unfortunately virtio-9p-device does not register savevm handlers at all ! Migration succeeds and leaves the guest with a dangling device... This patch simply registers migration handlers for virtio-9p-device. Whether migration is possible or not still depends on the migration blocker. Signed-off-by: Greg Kurz --- Michael, Aneesh, This is the same patch minus the call to unregister_savevm() since we don't have an unrealize handler. I decided to simply drop all the other patches. Hot-unplug support is totally missing and definitely needs more work. I'll try to come up with a solution in its own series. Cheers. -- Greg --- hw/9pfs/virtio-9p-device.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/hw/9pfs/virtio-9p-device.c b/hw/9pfs/virtio-9p-device.c index 93a407c45926..e3abcfaffb2a 100644 --- a/hw/9pfs/virtio-9p-device.c +++ b/hw/9pfs/virtio-9p-device.c @@ -43,6 +43,16 @@ static void virtio_9p_get_config(VirtIODevice *vdev, uint8_t *config) g_free(cfg); } +static void virtio_9p_save(QEMUFile *f, void *opaque) +{ + virtio_save(VIRTIO_DEVICE(opaque), f); +} + +static int virtio_9p_load(QEMUFile *f, void *opaque, int version_id) +{ + return virtio_load(VIRTIO_DEVICE(opaque), f, version_id); +} + static void virtio_9p_device_realize(DeviceState *dev, Error **errp) { VirtIODevice *vdev = VIRTIO_DEVICE(dev); @@ -130,6 +140,7 @@ static void virtio_9p_device_realize(DeviceState *dev, Error **errp) } v9fs_path_free(&path); + register_savevm(dev, "virtio-9p", -1, 1, virtio_9p_save, virtio_9p_load, s); return; out: g_free(s->ctx.fs_root);