[Qemu-devel] [PATCH v3 0/4] 9pfs: handle transport errors

Greg Kurz posted 4 patches 8 years, 4 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/149806690313.3840.13274158676579302242.stgit@bahia.lan
Test FreeBSD passed
Test checkpatch passed
Test docker passed
Test s390x passed
There is a newer version of this series
hw/9pfs/9p.c               |   25 +++++++++++++-------
hw/9pfs/9p.h               |    7 +++++-
hw/9pfs/virtio-9p-device.c |   56 ++++++++++++++++++++++++++++++++++++--------
hw/9pfs/xen-9p-backend.c   |    3 ++
4 files changed, 70 insertions(+), 21 deletions(-)
[Qemu-devel] [PATCH v3 0/4] 9pfs: handle transport errors
Posted by Greg Kurz 8 years, 4 months ago
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 only modifies the virtio transport so that it can notify
the guest about transport failures.

Changes since v2:
- complete rework

--
Greg

---

Greg Kurz (4):
      virtio-9p: record element after sanity checks
      virtio-9p: message header is 7-byte long
      virtio-9p: break device if buffers are misconfigured
      9pfs: handle transport errors in pdu_complete()


 hw/9pfs/9p.c               |   25 +++++++++++++-------
 hw/9pfs/9p.h               |    7 +++++-
 hw/9pfs/virtio-9p-device.c |   56 ++++++++++++++++++++++++++++++++++++--------
 hw/9pfs/xen-9p-backend.c   |    3 ++
 4 files changed, 70 insertions(+), 21 deletions(-)