qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/5] 9pfs: handle transport errors
@ 2017-03-27 17:45 Greg Kurz
  2017-03-27 17:46 ` [Qemu-devel] [PATCH 1/5] virtio: Error object based virtio_error() Greg Kurz
                   ` (4 more replies)
  0 siblings, 5 replies; 13+ messages in thread
From: Greg Kurz @ 2017-03-27 17:45 UTC (permalink / raw)
  To: qemu-devel; +Cc: Stefano Stabellini, Greg Kurz, Michael S. Tsirkin

The 9p protocol relies on a reliable transport, but the current code
treats transport errors (ie, failure to marshal or unmarshal) as if
they were coming from the backend. This doesn't make sense: if the
transport failed, we should notify the guest that the transport is
broken and needs to be reset, using transport specific means.

This series modifies the existing virtio-9p transport so that it can
notify the guest about transport failures. The core 9p code is modified
as well so that it stops handling requests when the transport fails.

---

Greg Kurz (5):
      virtio: Error object based virtio_error()
      virtio-9p: factor out virtio_9p_error_err()
      fsdev: don't allow unknown format in marshal/unmarshal
      9pfs: drop pdu_push_and_notify()
      9pfs: handle broken transport


 fsdev/9p-iov-marshal.c     |    4 +--
 hw/9pfs/9p.c               |   43 +++++++++++++++++++++----------
 hw/9pfs/9p.h               |    1 +
 hw/9pfs/virtio-9p-device.c |   61 ++++++++++++++++++++++++++++++++------------
 hw/virtio/virtio.c         |   21 ++++++++++++---
 include/hw/virtio/virtio.h |    1 +
 6 files changed, 93 insertions(+), 38 deletions(-)

--
Greg

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2017-03-31 14:06 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-03-27 17:45 [Qemu-devel] [PATCH 0/5] 9pfs: handle transport errors Greg Kurz
2017-03-27 17:46 ` [Qemu-devel] [PATCH 1/5] virtio: Error object based virtio_error() Greg Kurz
2017-03-27 18:20   ` Michael S. Tsirkin
2017-03-28  7:34     ` Cornelia Huck
2017-03-28  8:14     ` Greg Kurz
2017-03-28  8:24       ` Cornelia Huck
2017-03-28  9:34         ` Greg Kurz
2017-03-28 10:14           ` Cornelia Huck
2017-03-31 14:06             ` Greg Kurz
2017-03-27 17:46 ` [Qemu-devel] [PATCH 2/5] virtio-9p: factor out virtio_9p_error_err() Greg Kurz
2017-03-27 17:46 ` [Qemu-devel] [PATCH 3/5] fsdev: don't allow unknown format in marshal/unmarshal Greg Kurz
2017-03-27 17:46 ` [Qemu-devel] [PATCH 4/5] 9pfs: drop pdu_push_and_notify() Greg Kurz
2017-03-27 17:46 ` [Qemu-devel] [PATCH 5/5] 9pfs: handle broken transport Greg Kurz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).