Re: [PATCH v7 0/7] Xen transport for 9pfs frontend driver

From: Juergen Gross
Date: Mon Apr 10 2017 - 03:16:33 EST


On 05/04/17 21:03, Stefano Stabellini wrote:
> Hi all,
>
> This patch series implements a new transport for 9pfs, aimed at Xen
> systems.
>
> The transport is based on a traditional Xen frontend and backend drivers
> pair. This patch series implements the frontend, which typically runs in
> a regular unprivileged guest.
>
> I also sent a series that implements the backend in userspace in QEMU,
> which typically runs in Dom0 (but could also run in a another guest).
>
> The frontend complies to the Xen transport for 9pfs specification
> version 1, available here:
>
> https://xenbits.xen.org/docs/unstable/misc/9pfs.html
>
>
> The new Xen ring macros pulled in Linux in the first patch of the series
> have been committed upstream in Xen, so there is nothing holding back
> this series any longer. It could be considered for 4.12 or 4.13. It
> should probably go via the Xen tree.
>
>
> Changes in v7:
> - merging the final version of the macros (Xen upstream commit
> f000908276382e1c0a3de359f9bbc7ba83999119)
> - fixup argument ordering of the ring/write_packet macros callers
>
> Changes in v6:
> - add reviewd-bys
> - fix error paths
> - make p9_xen_write_todo return bool
>
> Changes in v5:
> - test priv->tag instead of ret
> - run checkpatch.pl against the whole series, fix all issues
> - set intf->ring_order appropriately
> - use shorter link to 9pfs spec
>
> Changes in v4:
> - code style improvements
> - use xenbus_read_unsigned when possible
> - do not leak "versions"
> - introduce BUILD_BUG_ON
> - introduce rwlock to protect the xen_9pfs_devs list
> - add review-by
>
> Changes in v3:
> - add full copyright header to trans_xen.c
> - rename ring->ring to ring->data
> - handle gnttab_grant_foreign_access errors
> - remove ring->bytes
> - wrap long lines
> - add reviewed-by
>
> Changes in v2:
> - use XEN_PAGE_SHIFT instead of PAGE_SHIFT
> - remove unnecessary initializations
> - fix error paths
> - fix memory allocations for 64K kernels
> - simplify p9_xen_create and p9_xen_close
> - use virt_XXX barriers
> - set status = REQ_STATUS_ERROR inside the p9_xen_response loop
> - add in-code comments
>
>
> Stefano Stabellini (7):
> xen: import new ring macros in ring.h
> xen: introduce the header file for the Xen 9pfs transport protocol
> xen/9pfs: introduce Xen 9pfs transport driver
> xen/9pfs: connect to the backend
> xen/9pfs: send requests to the backend
> xen/9pfs: receive responses
> xen/9pfs: build 9pfs Xen transport driver
>
> include/xen/interface/io/9pfs.h | 36 +++
> include/xen/interface/io/ring.h | 143 +++++++++++
> net/9p/Kconfig | 8 +
> net/9p/Makefile | 4 +
> net/9p/trans_xen.c | 545 ++++++++++++++++++++++++++++++++++++++++
> 5 files changed, 736 insertions(+)
> create mode 100644 include/xen/interface/io/9pfs.h
> create mode 100644 net/9p/trans_xen.c

Series committed to xen/tip for-linus-4.12


Juergen