From: Stefan Hajnoczi <stefanha@redhat.com>
To: Hanna Czenczek <hreitz@redhat.com>
Cc: Stefan Hajnoczi <stefanha@gmail.com>,
qemu-devel@nongnu.org, virtio-fs@redhat.com,
German Maglione <gmaglione@redhat.com>,
Anton Kuchin <antonkuchin@yandex-team.ru>,
Juan Quintela <quintela@redhat.com>,
"Michael S . Tsirkin" <mst@redhat.com>,
Stefano Garzarella <sgarzare@redhat.com>,
Eugenio Perez Martin <eperezma@redhat.com>
Subject: Re: [Virtio-fs] [PATCH 0/4] vhost-user-fs: Internal migration
Date: Tue, 9 May 2023 11:41:30 -0400 [thread overview]
Message-ID: <20230509154130.GG926999@fedora> (raw)
In-Reply-To: <dfec96a1-84c3-3639-6f09-204c2d12244a@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 7560 bytes --]
On Fri, May 05, 2023 at 11:03:16AM +0200, Hanna Czenczek wrote:
> On 04.05.23 23:14, Stefan Hajnoczi wrote:
> > On Thu, 4 May 2023 at 13:39, Hanna Czenczek <hreitz@redhat.com> wrote:
> > > On 11.04.23 17:05, Hanna Czenczek wrote:
> > >
> > > [...]
> > >
> > > > Hanna Czenczek (4):
> > > > vhost: Re-enable vrings after setting features
> > > > vhost-user: Interface for migration state transfer
> > > > vhost: Add high-level state save/load functions
> > > > vhost-user-fs: Implement internal migration
> > > I’m trying to write v2, and my intention was to keep the code
> > > conceptually largely the same, but include in the documentation change
> > > thoughts and notes on how this interface is to be used in the future,
> > > when e.g. vDPA “extensions” come over to vhost-user. My plan was to,
> > > based on that documentation, discuss further.
> > >
> > > But now I’m struggling to even write that documentation because it’s not
> > > clear to me what exactly the result of the discussion was, so I need to
> > > stop even before that.
> > >
> > > So as far as I understand, we need/want SUSPEND/RESUME for two reasons:
> > > 1. As a signal to the back-end when virt queues are no longer to be
> > > processed, so that it is clear that it will not do that when asked for
> > > migration state.
> > > 2. Stateful devices that support SET_STATUS receive a status of 0 when
> > > the VM is stopped, which supposedly resets the internal state. While
> > > suspended, device state is frozen, so as far as I understand, SUSPEND
> > > before SET_STATUS would have the status change be deferred until RESUME.
> > I'm not sure about SUSPEND -> SET_STATUS 0 -> RESUME. I guess the
> > device would be reset right away and it would either remain suspended
> > or be resumed as part of reset :).
> >
> > Unfortunately the concepts of SUSPEND/RESUME and the Device Status
> > Field are orthogonal and there is no spec that explains how they
> > interact.
>
> Ah, OK. So I guess it’s up to the implementation to decide whether the
> virtio device status counts as part of the “configuration” that “[it] must
> not change”.
>
> > > I don’t want to hang myself up on 2 because it doesn’t really seem
> > > important to this series, but: Why does a status of 0 reset the internal
> > > state? [Note: This is all virtio_reset() seems to do, set the status to
> > > 0.] The vhost-user specification only points to the virtio
> > > specification, which doesn’t say anything to that effect. Instead, an
> > > explicit device reset is mentioned, which would be
> > > VHOST_USER_RESET_DEVICE, i.e. something completely different. Because
> > > RESET_DEVICE directly contradicts SUSPEND’s description, I would like to
> > > think that invoking RESET_DEVICE on a SUSPEND-ed device is just invalid.
> > The vhost-user protocol didn't have the concept of the VIRTIO Device
> > Status Field until SET_STATUS was added.
> >
> > In order to participate in the VIRTIO device lifecycle to some extent,
> > the pre-SET_STATUS vhost-user protocol relied on vhost-user-specific
> > messages like RESET_DEVICE.
> >
> > At the VIRTIO level, devices are reset by setting the Device Status
> > Field to 0.
>
> (I didn’t find this in the virtio specification until today, turns out it’s
> under 4.1.4.3 “Common configuration structure layout”, not under 2.1 “Device
> Status Field”, where I was looking.)
>
> > All state is lost and the Device Initialization process
> > must be followed to make the device operational again.
> >
> > Existing vhost-user backends don't implement SET_STATUS 0 (it's new).
> >
> > It's messy and not your fault. I think QEMU should solve this by
> > treating stateful devices differently from non-stateful devices. That
> > way existing vhost-user backends continue to work and new stateful
> > devices can also be supported.
>
> It’s my understanding that SET_STATUS 0/RESET_DEVICE is problematic for
> stateful devices. In a previous email, you wrote that these should
> implement SUSPEND+RESUME so qemu can use those instead. But those are
> separate things, so I assume we just use SET_STATUS 0 when stopping the VM
> because this happens to also stop processing vrings as a side effect?
SET_STATUS 0 doesn't do anything in most existing vhost-user backends
and QEMU's vhost code doesn't rely on it doing anything. It was added as
an optimization hint for DPDK's vhost-user-net implementation without
noticing that it breaks stateful devices (see commit 923b8921d210).
>
> I.e. I understand “treating stateful devices differently” to mean that qemu
> should use SUSPEND+RESUME instead of SET_STATUS 0 when the back-end supports
> it, and stateful back-ends should support it.
>
> > > Is it that a status 0 won’t explicitly reset the internal state, but
> > > because it does mean that the driver is unbound, the state should
> > > implicitly be reset?
> > I think the fundamental problem is that transports like virtio-pci put
> > registers back in their initialization state upon reset, so internal
> > state is lost.
> >
> > The VIRTIO spec does not go into detail on device state across reset
> > though, so I don't think much more can be said about the semantics.
> >
> > > Anyway. 1 seems to be the relevant point for migration. As far as I
> > > understand, currently, a vhost-user back-end has no way of knowing when
> > > to stop processing virt queues. Basically, rings can only transition
> > > from stopped to started, but not vice versa. The vhost-user
> > > specification has this bit: “Once the source has finished migration,
> > > rings will be stopped by the source. No further update must be done
> > > before rings are restarted.” It just doesn’t say how the front-end lets
> > > the back-end know that the rings are (to be) stopped. So this seems
> > > like a pre-existing problem for stateless migration. Unless this is
> > > communicated precisely by setting the device status to 0?
> > No, my understanding is different. The vhost-user spec says the
> > backend must "stop [the] ring upon receiving
> > ``VHOST_USER_GET_VRING_BASE``".
>
> Yes, I missed that part!
>
> > The "Ring states" section goes into
> > more detail and adds the concept of enabled/disabled too.
> >
> > SUSPEND is stronger than GET_VRING_BASE though. GET_VRING_BASE only
> > applies to a single virtqueue, whereas SUSPEND acts upon the entire
> > device, including non-virtqueue aspects like Configuration Change
> > Notifications (VHOST_USER_BACKEND_CONFIG_CHANGE_MSG).
> >
> > You can approximate SUSPEND today by sending GET_VRING_BASE for all
> > virtqueues. I think in practice this does fully stop the device even
> > if the spec doesn't require it.
> >
> > If we want minimal changes to vhost-user, then we could rely on
> > GET_VRING_BASE to suspend and SET_VRING_ENABLE to resume. And
> > SET_STATUS 0 must not be sent so that the device's state is not lost.
>
> So you mean that we’d use SUSPEND instead of SET_STATUS 0, but because we
> have no SUSPEND, we’d ensure that GET_VRING_BASE is/was called on all
> vrings?
Yes. I prefer adding SUSPEND+RESUME to vhost-user, but if we were
limited to today's vhost-user commands, then relying on GET_VRING_BASE
and skipping SET_STATUS calls for vhost_dev_start/stop() would come
close to achieving the behavior needed by stateful backends.
Stefan
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Stefan Hajnoczi <stefanha@redhat.com>
To: Hanna Czenczek <hreitz@redhat.com>
Cc: Stefan Hajnoczi <stefanha@gmail.com>,
qemu-devel@nongnu.org, virtio-fs@redhat.com,
German Maglione <gmaglione@redhat.com>,
Anton Kuchin <antonkuchin@yandex-team.ru>,
Juan Quintela <quintela@redhat.com>,
"Michael S . Tsirkin" <mst@redhat.com>,
Stefano Garzarella <sgarzare@redhat.com>,
Eugenio Perez Martin <eperezma@redhat.com>
Subject: Re: [PATCH 0/4] vhost-user-fs: Internal migration
Date: Tue, 9 May 2023 11:41:30 -0400 [thread overview]
Message-ID: <20230509154130.GG926999@fedora> (raw)
In-Reply-To: <dfec96a1-84c3-3639-6f09-204c2d12244a@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 7560 bytes --]
On Fri, May 05, 2023 at 11:03:16AM +0200, Hanna Czenczek wrote:
> On 04.05.23 23:14, Stefan Hajnoczi wrote:
> > On Thu, 4 May 2023 at 13:39, Hanna Czenczek <hreitz@redhat.com> wrote:
> > > On 11.04.23 17:05, Hanna Czenczek wrote:
> > >
> > > [...]
> > >
> > > > Hanna Czenczek (4):
> > > > vhost: Re-enable vrings after setting features
> > > > vhost-user: Interface for migration state transfer
> > > > vhost: Add high-level state save/load functions
> > > > vhost-user-fs: Implement internal migration
> > > I’m trying to write v2, and my intention was to keep the code
> > > conceptually largely the same, but include in the documentation change
> > > thoughts and notes on how this interface is to be used in the future,
> > > when e.g. vDPA “extensions” come over to vhost-user. My plan was to,
> > > based on that documentation, discuss further.
> > >
> > > But now I’m struggling to even write that documentation because it’s not
> > > clear to me what exactly the result of the discussion was, so I need to
> > > stop even before that.
> > >
> > > So as far as I understand, we need/want SUSPEND/RESUME for two reasons:
> > > 1. As a signal to the back-end when virt queues are no longer to be
> > > processed, so that it is clear that it will not do that when asked for
> > > migration state.
> > > 2. Stateful devices that support SET_STATUS receive a status of 0 when
> > > the VM is stopped, which supposedly resets the internal state. While
> > > suspended, device state is frozen, so as far as I understand, SUSPEND
> > > before SET_STATUS would have the status change be deferred until RESUME.
> > I'm not sure about SUSPEND -> SET_STATUS 0 -> RESUME. I guess the
> > device would be reset right away and it would either remain suspended
> > or be resumed as part of reset :).
> >
> > Unfortunately the concepts of SUSPEND/RESUME and the Device Status
> > Field are orthogonal and there is no spec that explains how they
> > interact.
>
> Ah, OK. So I guess it’s up to the implementation to decide whether the
> virtio device status counts as part of the “configuration” that “[it] must
> not change”.
>
> > > I don’t want to hang myself up on 2 because it doesn’t really seem
> > > important to this series, but: Why does a status of 0 reset the internal
> > > state? [Note: This is all virtio_reset() seems to do, set the status to
> > > 0.] The vhost-user specification only points to the virtio
> > > specification, which doesn’t say anything to that effect. Instead, an
> > > explicit device reset is mentioned, which would be
> > > VHOST_USER_RESET_DEVICE, i.e. something completely different. Because
> > > RESET_DEVICE directly contradicts SUSPEND’s description, I would like to
> > > think that invoking RESET_DEVICE on a SUSPEND-ed device is just invalid.
> > The vhost-user protocol didn't have the concept of the VIRTIO Device
> > Status Field until SET_STATUS was added.
> >
> > In order to participate in the VIRTIO device lifecycle to some extent,
> > the pre-SET_STATUS vhost-user protocol relied on vhost-user-specific
> > messages like RESET_DEVICE.
> >
> > At the VIRTIO level, devices are reset by setting the Device Status
> > Field to 0.
>
> (I didn’t find this in the virtio specification until today, turns out it’s
> under 4.1.4.3 “Common configuration structure layout”, not under 2.1 “Device
> Status Field”, where I was looking.)
>
> > All state is lost and the Device Initialization process
> > must be followed to make the device operational again.
> >
> > Existing vhost-user backends don't implement SET_STATUS 0 (it's new).
> >
> > It's messy and not your fault. I think QEMU should solve this by
> > treating stateful devices differently from non-stateful devices. That
> > way existing vhost-user backends continue to work and new stateful
> > devices can also be supported.
>
> It’s my understanding that SET_STATUS 0/RESET_DEVICE is problematic for
> stateful devices. In a previous email, you wrote that these should
> implement SUSPEND+RESUME so qemu can use those instead. But those are
> separate things, so I assume we just use SET_STATUS 0 when stopping the VM
> because this happens to also stop processing vrings as a side effect?
SET_STATUS 0 doesn't do anything in most existing vhost-user backends
and QEMU's vhost code doesn't rely on it doing anything. It was added as
an optimization hint for DPDK's vhost-user-net implementation without
noticing that it breaks stateful devices (see commit 923b8921d210).
>
> I.e. I understand “treating stateful devices differently” to mean that qemu
> should use SUSPEND+RESUME instead of SET_STATUS 0 when the back-end supports
> it, and stateful back-ends should support it.
>
> > > Is it that a status 0 won’t explicitly reset the internal state, but
> > > because it does mean that the driver is unbound, the state should
> > > implicitly be reset?
> > I think the fundamental problem is that transports like virtio-pci put
> > registers back in their initialization state upon reset, so internal
> > state is lost.
> >
> > The VIRTIO spec does not go into detail on device state across reset
> > though, so I don't think much more can be said about the semantics.
> >
> > > Anyway. 1 seems to be the relevant point for migration. As far as I
> > > understand, currently, a vhost-user back-end has no way of knowing when
> > > to stop processing virt queues. Basically, rings can only transition
> > > from stopped to started, but not vice versa. The vhost-user
> > > specification has this bit: “Once the source has finished migration,
> > > rings will be stopped by the source. No further update must be done
> > > before rings are restarted.” It just doesn’t say how the front-end lets
> > > the back-end know that the rings are (to be) stopped. So this seems
> > > like a pre-existing problem for stateless migration. Unless this is
> > > communicated precisely by setting the device status to 0?
> > No, my understanding is different. The vhost-user spec says the
> > backend must "stop [the] ring upon receiving
> > ``VHOST_USER_GET_VRING_BASE``".
>
> Yes, I missed that part!
>
> > The "Ring states" section goes into
> > more detail and adds the concept of enabled/disabled too.
> >
> > SUSPEND is stronger than GET_VRING_BASE though. GET_VRING_BASE only
> > applies to a single virtqueue, whereas SUSPEND acts upon the entire
> > device, including non-virtqueue aspects like Configuration Change
> > Notifications (VHOST_USER_BACKEND_CONFIG_CHANGE_MSG).
> >
> > You can approximate SUSPEND today by sending GET_VRING_BASE for all
> > virtqueues. I think in practice this does fully stop the device even
> > if the spec doesn't require it.
> >
> > If we want minimal changes to vhost-user, then we could rely on
> > GET_VRING_BASE to suspend and SET_VRING_ENABLE to resume. And
> > SET_STATUS 0 must not be sent so that the device's state is not lost.
>
> So you mean that we’d use SUSPEND instead of SET_STATUS 0, but because we
> have no SUSPEND, we’d ensure that GET_VRING_BASE is/was called on all
> vrings?
Yes. I prefer adding SUSPEND+RESUME to vhost-user, but if we were
limited to today's vhost-user commands, then relying on GET_VRING_BASE
and skipping SET_STATUS calls for vhost_dev_start/stop() would come
close to achieving the behavior needed by stateful backends.
Stefan
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
next prev parent reply other threads:[~2023-05-09 15:41 UTC|newest]
Thread overview: 181+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-11 15:05 [Virtio-fs] [PATCH 0/4] vhost-user-fs: Internal migration Hanna Czenczek
2023-04-11 15:05 ` Hanna Czenczek
2023-04-11 15:05 ` [Virtio-fs] [PATCH 1/4] vhost: Re-enable vrings after setting features Hanna Czenczek
2023-04-11 15:05 ` Hanna Czenczek
2023-04-12 10:55 ` [Virtio-fs] " German Maglione
2023-04-12 10:55 ` German Maglione
2023-04-12 12:18 ` [Virtio-fs] " Hanna Czenczek
2023-04-12 12:18 ` Hanna Czenczek
2023-04-12 20:51 ` [Virtio-fs] " Stefan Hajnoczi
2023-04-12 20:51 ` Stefan Hajnoczi
2023-04-13 7:17 ` [Virtio-fs] " Maxime Coquelin
2023-04-13 7:17 ` Maxime Coquelin
2023-04-13 8:19 ` [Virtio-fs] " Hanna Czenczek
2023-04-13 8:19 ` Hanna Czenczek
2023-04-13 11:03 ` [Virtio-fs] " Stefan Hajnoczi
2023-04-13 11:03 ` Stefan Hajnoczi
2023-04-13 14:24 ` [Virtio-fs] " Anton Kuchin
2023-04-13 14:24 ` Anton Kuchin
2023-04-13 15:48 ` [Virtio-fs] " Michael S. Tsirkin
2023-04-13 15:48 ` Michael S. Tsirkin
2023-04-13 11:03 ` [Virtio-fs] " Stefan Hajnoczi
2023-04-13 11:03 ` Stefan Hajnoczi
2023-04-13 17:32 ` [Virtio-fs] " Hanna Czenczek
2023-04-13 17:32 ` Hanna Czenczek
2023-04-13 13:19 ` [Virtio-fs] " Michael S. Tsirkin
2023-04-13 13:19 ` Michael S. Tsirkin
2023-04-11 15:05 ` [Virtio-fs] [PATCH 2/4] vhost-user: Interface for migration state transfer Hanna Czenczek
2023-04-11 15:05 ` Hanna Czenczek
2023-04-12 21:06 ` [Virtio-fs] " Stefan Hajnoczi
2023-04-12 21:06 ` Stefan Hajnoczi
2023-04-13 9:24 ` [Virtio-fs] " Hanna Czenczek
2023-04-13 9:24 ` Hanna Czenczek
2023-04-13 11:38 ` [Virtio-fs] " Stefan Hajnoczi
2023-04-13 11:38 ` Stefan Hajnoczi
2023-04-13 17:55 ` [Virtio-fs] " Hanna Czenczek
2023-04-13 17:55 ` Hanna Czenczek
2023-04-13 20:42 ` [Virtio-fs] " Stefan Hajnoczi
2023-04-13 20:42 ` Stefan Hajnoczi
2023-04-14 15:17 ` [Virtio-fs] " Eugenio Perez Martin
2023-04-14 15:17 ` Eugenio Perez Martin
2023-04-17 15:18 ` [Virtio-fs] " Stefan Hajnoczi
2023-04-17 15:18 ` Stefan Hajnoczi
2023-04-17 18:55 ` [Virtio-fs] " Eugenio Perez Martin
2023-04-17 18:55 ` Eugenio Perez Martin
2023-04-17 19:08 ` [Virtio-fs] " Stefan Hajnoczi
2023-04-17 19:08 ` Stefan Hajnoczi
2023-04-17 19:11 ` [Virtio-fs] " Eugenio Perez Martin
2023-04-17 19:11 ` Eugenio Perez Martin
2023-04-17 19:46 ` [Virtio-fs] " Stefan Hajnoczi
2023-04-17 19:46 ` Stefan Hajnoczi
2023-04-18 10:09 ` [Virtio-fs] " Eugenio Perez Martin
2023-04-18 10:09 ` Eugenio Perez Martin
2023-04-19 10:45 ` [Virtio-fs] " Hanna Czenczek
2023-04-19 10:45 ` Hanna Czenczek
2023-04-19 10:57 ` [Virtio-fs] " Stefan Hajnoczi
2023-04-19 10:57 ` Stefan Hajnoczi
2023-04-13 10:14 ` [Virtio-fs] " Eugenio Perez Martin
2023-04-13 10:14 ` Eugenio Perez Martin
2023-04-13 11:07 ` [Virtio-fs] " Stefan Hajnoczi
2023-04-13 11:07 ` Stefan Hajnoczi
2023-04-13 17:31 ` [Virtio-fs] " Hanna Czenczek
2023-04-13 17:31 ` Hanna Czenczek
2023-04-17 15:12 ` [Virtio-fs] " Stefan Hajnoczi
2023-04-17 15:12 ` Stefan Hajnoczi
2023-04-19 10:47 ` [Virtio-fs] " Hanna Czenczek
2023-04-19 10:47 ` Hanna Czenczek
2023-04-17 18:37 ` [Virtio-fs] " Eugenio Perez Martin
2023-04-17 18:37 ` Eugenio Perez Martin
2023-04-17 15:38 ` [Virtio-fs] " Stefan Hajnoczi
2023-04-17 15:38 ` Stefan Hajnoczi
2023-04-17 19:09 ` [Virtio-fs] " Eugenio Perez Martin
2023-04-17 19:09 ` Eugenio Perez Martin
2023-04-17 19:33 ` [Virtio-fs] " Stefan Hajnoczi
2023-04-17 19:33 ` Stefan Hajnoczi
2023-04-18 8:09 ` [Virtio-fs] " Eugenio Perez Martin
2023-04-18 8:09 ` Eugenio Perez Martin
2023-04-18 17:59 ` [Virtio-fs] " Stefan Hajnoczi
2023-04-18 17:59 ` Stefan Hajnoczi
2023-04-18 18:31 ` [Virtio-fs] " Eugenio Perez Martin
2023-04-18 18:31 ` Eugenio Perez Martin
2023-04-18 20:40 ` [Virtio-fs] " Stefan Hajnoczi
2023-04-18 20:40 ` Stefan Hajnoczi
2023-04-20 13:27 ` [Virtio-fs] " Eugenio Pérez
2023-04-20 13:27 ` Eugenio Pérez
2023-05-08 19:12 ` [Virtio-fs] " Stefan Hajnoczi
2023-05-08 19:12 ` Stefan Hajnoczi
2023-05-09 6:31 ` [Virtio-fs] " Eugenio Perez Martin
2023-05-09 6:31 ` Eugenio Perez Martin
2023-05-09 9:01 ` [Virtio-fs] " Hanna Czenczek
2023-05-09 9:01 ` Hanna Czenczek
2023-05-09 15:26 ` [Virtio-fs] " Eugenio Perez Martin
2023-05-09 15:26 ` Eugenio Perez Martin
2023-04-19 10:57 ` [Virtio-fs] " Hanna Czenczek
2023-04-19 11:10 ` Stefan Hajnoczi
2023-04-19 11:15 ` Hanna Czenczek
2023-04-19 11:24 ` Stefan Hajnoczi
2023-04-17 17:14 ` Stefan Hajnoczi
2023-04-17 17:14 ` Stefan Hajnoczi
2023-04-17 19:06 ` [Virtio-fs] " Eugenio Perez Martin
2023-04-17 19:06 ` Eugenio Perez Martin
2023-04-17 19:20 ` [Virtio-fs] " Stefan Hajnoczi
2023-04-17 19:20 ` Stefan Hajnoczi
2023-04-18 7:54 ` [Virtio-fs] " Eugenio Perez Martin
2023-04-18 7:54 ` Eugenio Perez Martin
2023-04-19 11:10 ` [Virtio-fs] " Hanna Czenczek
2023-04-19 11:10 ` Hanna Czenczek
2023-04-19 11:21 ` [Virtio-fs] " Stefan Hajnoczi
2023-04-19 11:21 ` Stefan Hajnoczi
2023-04-19 11:24 ` [Virtio-fs] " Hanna Czenczek
2023-04-19 11:24 ` Hanna Czenczek
2023-04-20 13:29 ` [Virtio-fs] " Eugenio Pérez
2023-04-20 13:29 ` Eugenio Pérez
2023-05-08 20:10 ` [Virtio-fs] " Stefan Hajnoczi
2023-05-08 20:10 ` Stefan Hajnoczi
2023-05-09 6:45 ` [Virtio-fs] " Eugenio Perez Martin
2023-05-09 6:45 ` Eugenio Perez Martin
2023-05-09 15:09 ` [Virtio-fs] " Stefan Hajnoczi
2023-05-09 15:09 ` Stefan Hajnoczi
2023-05-09 15:35 ` [Virtio-fs] " Eugenio Perez Martin
2023-05-09 15:35 ` Eugenio Perez Martin
2023-05-09 17:33 ` [Virtio-fs] " Stefan Hajnoczi
2023-05-09 17:33 ` Stefan Hajnoczi
2023-04-20 10:44 ` [Virtio-fs] " Eugenio Pérez
2023-04-20 10:44 ` Eugenio Pérez
2023-04-13 8:50 ` [Virtio-fs] " Eugenio Perez Martin
2023-04-13 8:50 ` Eugenio Perez Martin
2023-04-13 9:25 ` [Virtio-fs] " Hanna Czenczek
2023-04-13 9:25 ` Hanna Czenczek
2023-04-11 15:05 ` [Virtio-fs] [PATCH 3/4] vhost: Add high-level state save/load functions Hanna Czenczek
2023-04-11 15:05 ` Hanna Czenczek
2023-04-12 21:14 ` [Virtio-fs] " Stefan Hajnoczi
2023-04-12 21:14 ` Stefan Hajnoczi
2023-04-13 9:04 ` [Virtio-fs] " Hanna Czenczek
2023-04-13 9:04 ` Hanna Czenczek
2023-04-13 11:22 ` [Virtio-fs] " Stefan Hajnoczi
2023-04-13 11:22 ` Stefan Hajnoczi
2023-04-11 15:05 ` [Virtio-fs] [PATCH 4/4] vhost-user-fs: Implement internal migration Hanna Czenczek
2023-04-11 15:05 ` Hanna Czenczek
2023-04-12 21:00 ` [Virtio-fs] [PATCH 0/4] vhost-user-fs: Internal migration Stefan Hajnoczi
2023-04-12 21:00 ` Stefan Hajnoczi
2023-04-13 8:20 ` [Virtio-fs] " Hanna Czenczek
2023-04-13 8:20 ` Hanna Czenczek
2023-04-13 16:11 ` [Virtio-fs] " Michael S. Tsirkin
2023-04-13 16:11 ` Michael S. Tsirkin
2023-04-13 17:53 ` [Virtio-fs] " Hanna Czenczek
2023-05-04 16:05 ` Hanna Czenczek
2023-05-04 16:05 ` Hanna Czenczek
2023-05-04 21:14 ` [Virtio-fs] " Stefan Hajnoczi
2023-05-04 21:14 ` Stefan Hajnoczi
2023-05-05 9:03 ` [Virtio-fs] " Hanna Czenczek
2023-05-05 9:03 ` Hanna Czenczek
2023-05-05 9:51 ` [Virtio-fs] " Hanna Czenczek
2023-05-05 9:51 ` Hanna Czenczek
2023-05-05 14:26 ` [Virtio-fs] " Eugenio Perez Martin
2023-05-05 14:26 ` Eugenio Perez Martin
2023-05-05 14:37 ` [Virtio-fs] " Hanna Czenczek
2023-05-05 14:37 ` Hanna Czenczek
2023-05-08 17:00 ` [Virtio-fs] " Hanna Czenczek
2023-05-08 17:00 ` Hanna Czenczek
2023-05-08 17:51 ` [Virtio-fs] " Eugenio Perez Martin
2023-05-08 17:51 ` Eugenio Perez Martin
2023-05-08 19:31 ` [Virtio-fs] " Eugenio Perez Martin
2023-05-08 19:31 ` Eugenio Perez Martin
2023-05-09 8:59 ` [Virtio-fs] " Hanna Czenczek
2023-05-09 8:59 ` Hanna Czenczek
2023-05-09 15:30 ` [Virtio-fs] " Stefan Hajnoczi
2023-05-09 15:30 ` Stefan Hajnoczi
2023-05-09 15:43 ` [Virtio-fs] " Eugenio Perez Martin
2023-05-09 15:43 ` Eugenio Perez Martin
2023-05-05 9:53 ` [Virtio-fs] " Eugenio Perez Martin
2023-05-05 9:53 ` Eugenio Perez Martin
2023-05-05 12:51 ` [Virtio-fs] " Hanna Czenczek
2023-05-05 12:51 ` Hanna Czenczek
2023-05-08 21:10 ` [Virtio-fs] " Stefan Hajnoczi
2023-05-08 21:10 ` Stefan Hajnoczi
2023-05-09 8:53 ` [Virtio-fs] " Hanna Czenczek
2023-05-09 8:53 ` Hanna Czenczek
2023-05-09 14:53 ` [Virtio-fs] " Stefan Hajnoczi
2023-05-09 14:53 ` Stefan Hajnoczi
2023-05-09 15:41 ` Stefan Hajnoczi [this message]
2023-05-09 15:41 ` Stefan Hajnoczi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230509154130.GG926999@fedora \
--to=stefanha@redhat.com \
--cc=antonkuchin@yandex-team.ru \
--cc=eperezma@redhat.com \
--cc=gmaglione@redhat.com \
--cc=hreitz@redhat.com \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=sgarzare@redhat.com \
--cc=stefanha@gmail.com \
--cc=virtio-fs@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.