From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47631) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zwsp7-0006k0-Fg for qemu-devel@nongnu.org; Thu, 12 Nov 2015 09:26:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zwsp4-0005sT-6t for qemu-devel@nongnu.org; Thu, 12 Nov 2015 09:26:01 -0500 Received: from e06smtp16.uk.ibm.com ([195.75.94.112]:56188) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zwsp3-0005qr-SC for qemu-devel@nongnu.org; Thu, 12 Nov 2015 09:25:58 -0500 Received: from localhost by e06smtp16.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 12 Nov 2015 14:25:56 -0000 Received: from b06cxnps4075.portsmouth.uk.ibm.com (d06relay12.portsmouth.uk.ibm.com [9.149.109.197]) by d06dlp02.portsmouth.uk.ibm.com (Postfix) with ESMTP id 393F1219004D for ; Thu, 12 Nov 2015 14:25:34 +0000 (GMT) Received: from d06av07.portsmouth.uk.ibm.com (d06av07.portsmouth.uk.ibm.com [9.149.37.248]) by b06cxnps4075.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id tACEPc4j56492038 for ; Thu, 12 Nov 2015 14:25:39 GMT Received: from d06av07.portsmouth.uk.ibm.com (localhost [127.0.0.1]) by d06av07.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id tACEPcjV022715 for ; Thu, 12 Nov 2015 07:25:38 -0700 Date: Thu, 12 Nov 2015 15:25:33 +0100 From: Greg Kurz Message-ID: <20151112152533.5919da99@bahia.local> In-Reply-To: <20151112135020.3cbeee45.cornelia.huck@de.ibm.com> References: <20151022171252.15633.54658.stgit@bahia.huguette.org> <20151112092821.14799fbb@bahia.local> <20151112135020.3cbeee45.cornelia.huck@de.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] virtio-9p: add savem handlers List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Cornelia Huck Cc: "Michael S. Tsirkin" , qemu-devel@nongnu.org, aneesh.kumar@linux.vnet.ibm.com On Thu, 12 Nov 2015 13:50:20 +0100 Cornelia Huck wrote: > On Thu, 12 Nov 2015 09:28:21 +0100 > Greg Kurz wrote: > > > On Thu, 22 Oct 2015 19:38:42 +0200 > > Greg Kurz wrote: > > > > > 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 > > > --- > > > > Ping ? > > > > > 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); > > Probably dumb question: Is there no state in the V9fsState, or is it > simply irrelevant if there are no mounts? My understanding is that V9fsState has state but it is not used when there are no mounts... maybe worth mentioning in a comment or in the changelog ?