[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH for-4.0 0/6] vhost-user-blk: Add support for bac
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-devel] [PATCH for-4.0 0/6] vhost-user-blk: Add support for backend reconnecting |
Date: |
Thu, 6 Dec 2018 08:59:54 -0500 |
On Thu, Dec 06, 2018 at 09:57:22PM +0800, Jason Wang wrote:
>
> On 2018/12/6 下午2:35, address@hidden wrote:
> > From: Xie Yongji <address@hidden>
> >
> > This patchset is aimed at supporting qemu to reconnect
> > vhost-user-blk backend after vhost-user-blk backend crash or
> > restart.
> >
> > The patch 1 tries to implenment the sync connection for
> > "reconnect socket".
> >
> > The patch 2 introduces a new message VHOST_USER_SET_VRING_INFLIGHT
> > to support offering shared memory to backend to record
> > its inflight I/O.
> >
> > The patch 3,4 are the corresponding libvhost-user patches of
> > patch 2. Make libvhost-user support VHOST_USER_SET_VRING_INFLIGHT.
> >
> > The patch 5 supports vhost-user-blk to reconnect backend when
> > connection closed.
> >
> > The patch 6 tells qemu that we support reconnecting now.
> >
> > To use it, we could start qemu with:
> >
> > qemu-system-x86_64 \
> > -chardev socket,id=char0,path=/path/vhost.socket,reconnect=1,wait \
> > -device vhost-user-blk-pci,chardev=char0 \
> >
> > and start vhost-user-blk backend with:
> >
> > vhost-user-blk -b /path/file -s /path/vhost.socket
> >
> > Then we can restart vhost-user-blk at any time during VM running.
>
>
> I wonder whether or not it's better to handle this at the level of virtio
> protocol itself instead of vhost-user level. E.g expose last_avail_idx to
> driver might be sufficient?
>
> Another possible issue is, looks like you need to deal with different kinds
> of ring layouts e.g packed virtqueues.
>
> Thanks
I'm not sure I understand your comments here.
All these would be guest-visible extensions.
Possible for sure but how is this related to
a patch supporting transparent reconnects?
>
> >
> > Xie Yongji (6):
> > char-socket: Enable "wait" option for client mode
> > vhost-user: Add shared memory to record inflight I/O
> > libvhost-user: Introduce vu_queue_map_desc()
> > libvhost-user: Support recording inflight I/O in shared memory
> > vhost-user-blk: Add support for reconnecting backend
> > contrib/vhost-user-blk: enable inflight I/O recording
> >
> > chardev/char-socket.c | 5 +-
> > contrib/libvhost-user/libvhost-user.c | 215 ++++++++++++++++++++----
> > contrib/libvhost-user/libvhost-user.h | 19 +++
> > contrib/vhost-user-blk/vhost-user-blk.c | 3 +-
> > hw/block/vhost-user-blk.c | 169 +++++++++++++++++--
> > hw/virtio/vhost-user.c | 69 ++++++++
> > hw/virtio/vhost.c | 8 +
> > include/hw/virtio/vhost-backend.h | 4 +
> > include/hw/virtio/vhost-user-blk.h | 4 +
> > include/hw/virtio/vhost-user.h | 8 +
> > 10 files changed, 452 insertions(+), 52 deletions(-)
> >
- Re: [Qemu-devel] [PATCH for-4.0 5/6] vhost-user-blk: Add support for reconnecting backend, (continued)
- Re: [Qemu-devel] [PATCH for-4.0 0/6] vhost-user-blk: Add support for backend reconnecting, Jason Wang, 2018/12/06
- Re: [Qemu-devel] [PATCH for-4.0 0/6] vhost-user-blk: Add support for backend reconnecting, Jason Wang, 2018/12/06
- Re: [Qemu-devel] [PATCH for-4.0 0/6] vhost-user-blk: Add support for backend reconnecting,
Michael S. Tsirkin <=
- Re: [Qemu-devel] [PATCH for-4.0 0/6] vhost-user-blk: Add support for backend reconnecting, Jason Wang, 2018/12/10
- Re: [Qemu-devel] [PATCH for-4.0 0/6] vhost-user-blk: Add support for backend reconnecting, Yongji Xie, 2018/12/11
- Re: [Qemu-devel] [PATCH for-4.0 0/6] vhost-user-blk: Add support for backend reconnecting, Jason Wang, 2018/12/11
- Re: [Qemu-devel] [PATCH for-4.0 0/6] vhost-user-blk: Add support for backend reconnecting, Yongji Xie, 2018/12/11
- Re: [Qemu-devel] [PATCH for-4.0 0/6] vhost-user-blk: Add support for backend reconnecting, Jason Wang, 2018/12/11
- Re: [Qemu-devel] [PATCH for-4.0 0/6] vhost-user-blk: Add support for backend reconnecting, Yongji Xie, 2018/12/12
- Re: [Qemu-devel] [PATCH for-4.0 0/6] vhost-user-blk: Add support for backend reconnecting, Jason Wang, 2018/12/12
- Re: [Qemu-devel] [PATCH for-4.0 0/6] vhost-user-blk: Add support for backend reconnecting, Yongji Xie, 2018/12/12
- Re: [Qemu-devel] [PATCH for-4.0 0/6] vhost-user-blk: Add support for backend reconnecting, Jason Wang, 2018/12/12
- Re: [Qemu-devel] [PATCH for-4.0 0/6] vhost-user-blk: Add support for backend reconnecting, Yongji Xie, 2018/12/12