[Qemu-devel] [PATCH v4 0/8] xen/9pfs: introduce the Xen 9pfs backend

Stefano Stabellini posted 8 patches 7 years, 1 month ago
Only 1 patches received!
hw/9pfs/9p.h                 |   6 +
hw/9pfs/Makefile.objs        |   1 +
hw/9pfs/virtio-9p-device.c   |   6 +-
hw/9pfs/xen-9p-backend.c     | 444 +++++++++++++++++++++++++++++++++++++++++
hw/block/xen_blkif.h         |   2 +-
hw/usb/xen-usb.c             |   2 +-
hw/xen/xen_backend.c         |   3 +
include/hw/xen/io/ring.h     | 455 +++++++++++++++++++++++++++++++++++++++++++
include/hw/xen/xen_backend.h |   3 +
9 files changed, 915 insertions(+), 7 deletions(-)
create mode 100644 hw/9pfs/xen-9p-backend.c
create mode 100644 include/hw/xen/io/ring.h
[Qemu-devel] [PATCH v4 0/8] xen/9pfs: introduce the Xen 9pfs backend
Posted by Stefano Stabellini 7 years, 1 month ago
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 backend, which typically runs in
Dom0. I sent another series to implement the frontend in Linux
(http://marc.info/?l=linux-kernel&m=148883047125960&w=2).

The backend complies to the Xen transport for 9pfs specification
version 1, available here:

https://xenbits.xen.org/docs/unstable/misc/9pfs.html


Changes in v4:
- add reviewed-bys
- remove useless if(NULL) checks around g_free
- g_free g_malloc'ed sgs
- remove XEN_9PFS_RING_ORDER, make the ring order dynamic per ring,
  reading the ring_order field in xen_9pfs_data_intf
- remove patch not to build Xen backends on non-Xen capable targets
  because it is already upstream

Changes in v3:
- do not build backends for targets that do not support xen
- remove xen_9pfs.h, merge its content into xen-9p-backend.c
- remove xen_9pfs_header, introduce P9MsgHeader
- use le32_to_cpu to access P9MsgHeader fields
- many coding style fixes
- run checkpatch on all patches
- add check if num_rings < 1
- use g_strdup_printf
- free fsdev_id in xen_9pfs_free
- add comments

Changes in v2:
- fix coding style
- compile xen-9p-backend.c if CONFIG_XEN_BACKEND
- add patch to set CONFIG_XEN_BACKEND only for the right targets
- add review-bys


Stefano Stabellini (8):
      xen: import ring.h from xen
      9p: introduce a type for the 9p header
      xen/9pfs: introduce Xen 9pfs backend
      xen/9pfs: connect to the frontend
      xen/9pfs: receive requests from the frontend
      xen/9pfs: implement in/out_iov_from_pdu and vmarshal/vunmarshal
      xen/9pfs: send responses back to the frontend
      xen/9pfs: build and register Xen 9pfs backend

 hw/9pfs/9p.h                 |   6 +
 hw/9pfs/Makefile.objs        |   1 +
 hw/9pfs/virtio-9p-device.c   |   6 +-
 hw/9pfs/xen-9p-backend.c     | 444 +++++++++++++++++++++++++++++++++++++++++
 hw/block/xen_blkif.h         |   2 +-
 hw/usb/xen-usb.c             |   2 +-
 hw/xen/xen_backend.c         |   3 +
 include/hw/xen/io/ring.h     | 455 +++++++++++++++++++++++++++++++++++++++++++
 include/hw/xen/xen_backend.h |   3 +
 9 files changed, 915 insertions(+), 7 deletions(-)
 create mode 100644 hw/9pfs/xen-9p-backend.c
 create mode 100644 include/hw/xen/io/ring.h

Re: [Qemu-devel] [PATCH v4 0/8] xen/9pfs: introduce the Xen 9pfs backend
Posted by Greg Kurz 7 years, 1 month ago
On Mon, 20 Mar 2017 11:18:46 -0700 (PDT)
Stefano Stabellini <sstabellini@kernel.org> 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 backend, which typically runs in
> Dom0. I sent another series to implement the frontend in Linux
> (http://marc.info/?l=linux-kernel&m=148883047125960&w=2).
> 
> The backend complies to the Xen transport for 9pfs specification
> version 1, available here:
> 
> https://xenbits.xen.org/docs/unstable/misc/9pfs.html
> 
> 
> Changes in v4:
> - add reviewed-bys
> - remove useless if(NULL) checks around g_free
> - g_free g_malloc'ed sgs
> - remove XEN_9PFS_RING_ORDER, make the ring order dynamic per ring,
>   reading the ring_order field in xen_9pfs_data_intf
> - remove patch not to build Xen backends on non-Xen capable targets
>   because it is already upstream
> 

Hi Stefano,

This looks good to me. Do you want these patches to go through my 9p
tree or through your xen tree ? Also, I guess you may want to add
F: hw/9pfs/xen-9p-backend.c to the Xen section in MAINTAINERS.

Cheers,

--
Greg

> Changes in v3:
> - do not build backends for targets that do not support xen
> - remove xen_9pfs.h, merge its content into xen-9p-backend.c
> - remove xen_9pfs_header, introduce P9MsgHeader
> - use le32_to_cpu to access P9MsgHeader fields
> - many coding style fixes
> - run checkpatch on all patches
> - add check if num_rings < 1
> - use g_strdup_printf
> - free fsdev_id in xen_9pfs_free
> - add comments
> 
> Changes in v2:
> - fix coding style
> - compile xen-9p-backend.c if CONFIG_XEN_BACKEND
> - add patch to set CONFIG_XEN_BACKEND only for the right targets
> - add review-bys
> 
> 
> Stefano Stabellini (8):
>       xen: import ring.h from xen
>       9p: introduce a type for the 9p header
>       xen/9pfs: introduce Xen 9pfs backend
>       xen/9pfs: connect to the frontend
>       xen/9pfs: receive requests from the frontend
>       xen/9pfs: implement in/out_iov_from_pdu and vmarshal/vunmarshal
>       xen/9pfs: send responses back to the frontend
>       xen/9pfs: build and register Xen 9pfs backend
> 
>  hw/9pfs/9p.h                 |   6 +
>  hw/9pfs/Makefile.objs        |   1 +
>  hw/9pfs/virtio-9p-device.c   |   6 +-
>  hw/9pfs/xen-9p-backend.c     | 444 +++++++++++++++++++++++++++++++++++++++++
>  hw/block/xen_blkif.h         |   2 +-
>  hw/usb/xen-usb.c             |   2 +-
>  hw/xen/xen_backend.c         |   3 +
>  include/hw/xen/io/ring.h     | 455 +++++++++++++++++++++++++++++++++++++++++++
>  include/hw/xen/xen_backend.h |   3 +
>  9 files changed, 915 insertions(+), 7 deletions(-)
>  create mode 100644 hw/9pfs/xen-9p-backend.c
>  create mode 100644 include/hw/xen/io/ring.h

Re: [Qemu-devel] [PATCH v4 0/8] xen/9pfs: introduce the Xen 9pfs backend
Posted by Stefano Stabellini 7 years, 1 month ago
On Tue, 21 Mar 2017, Greg Kurz wrote:
> On Mon, 20 Mar 2017 11:18:46 -0700 (PDT)
> Stefano Stabellini <sstabellini@kernel.org> 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 backend, which typically runs in
> > Dom0. I sent another series to implement the frontend in Linux
> > (http://marc.info/?l=linux-kernel&m=148883047125960&w=2).
> > 
> > The backend complies to the Xen transport for 9pfs specification
> > version 1, available here:
> > 
> > https://xenbits.xen.org/docs/unstable/misc/9pfs.html
> > 
> > 
> > Changes in v4:
> > - add reviewed-bys
> > - remove useless if(NULL) checks around g_free
> > - g_free g_malloc'ed sgs
> > - remove XEN_9PFS_RING_ORDER, make the ring order dynamic per ring,
> >   reading the ring_order field in xen_9pfs_data_intf
> > - remove patch not to build Xen backends on non-Xen capable targets
> >   because it is already upstream
> > 
> 
> Hi Stefano,
> 
> This looks good to me. Do you want these patches to go through my 9p
> tree or through your xen tree ?

Thanks Greg! It can work both ways. If you have any changes in your queue
that could conflict with this, it's best to go via your tree.

Otherwise, I'll merge it in mine, so that I can keep an eye on the
correspondent Xen changes to the header files and make sure they are in
sync (specifically http://marc.info/?l=qemu-devel&m=149003412910278).


>  Also, I guess you may want to add
> F: hw/9pfs/xen-9p-backend.c to the Xen section in MAINTAINERS.

I'll send a patch to be applied on top of the series


> --
> Greg
> 
> > Changes in v3:
> > - do not build backends for targets that do not support xen
> > - remove xen_9pfs.h, merge its content into xen-9p-backend.c
> > - remove xen_9pfs_header, introduce P9MsgHeader
> > - use le32_to_cpu to access P9MsgHeader fields
> > - many coding style fixes
> > - run checkpatch on all patches
> > - add check if num_rings < 1
> > - use g_strdup_printf
> > - free fsdev_id in xen_9pfs_free
> > - add comments
> > 
> > Changes in v2:
> > - fix coding style
> > - compile xen-9p-backend.c if CONFIG_XEN_BACKEND
> > - add patch to set CONFIG_XEN_BACKEND only for the right targets
> > - add review-bys
> > 
> > 
> > Stefano Stabellini (8):
> >       xen: import ring.h from xen
> >       9p: introduce a type for the 9p header
> >       xen/9pfs: introduce Xen 9pfs backend
> >       xen/9pfs: connect to the frontend
> >       xen/9pfs: receive requests from the frontend
> >       xen/9pfs: implement in/out_iov_from_pdu and vmarshal/vunmarshal
> >       xen/9pfs: send responses back to the frontend
> >       xen/9pfs: build and register Xen 9pfs backend
> > 
> >  hw/9pfs/9p.h                 |   6 +
> >  hw/9pfs/Makefile.objs        |   1 +
> >  hw/9pfs/virtio-9p-device.c   |   6 +-
> >  hw/9pfs/xen-9p-backend.c     | 444 +++++++++++++++++++++++++++++++++++++++++
> >  hw/block/xen_blkif.h         |   2 +-
> >  hw/usb/xen-usb.c             |   2 +-
> >  hw/xen/xen_backend.c         |   3 +
> >  include/hw/xen/io/ring.h     | 455 +++++++++++++++++++++++++++++++++++++++++++
> >  include/hw/xen/xen_backend.h |   3 +
> >  9 files changed, 915 insertions(+), 7 deletions(-)
> >  create mode 100644 hw/9pfs/xen-9p-backend.c
> >  create mode 100644 include/hw/xen/io/ring.h
> 
> 

Re: [Qemu-devel] [PATCH v4 0/8] xen/9pfs: introduce the Xen 9pfs backend
Posted by Greg Kurz 7 years, 1 month ago
On Tue, 21 Mar 2017 13:14:02 -0700 (PDT)
Stefano Stabellini <sstabellini@kernel.org> wrote:

> On Tue, 21 Mar 2017, Greg Kurz wrote:
> > On Mon, 20 Mar 2017 11:18:46 -0700 (PDT)
> > Stefano Stabellini <sstabellini@kernel.org> 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 backend, which typically runs in
> > > Dom0. I sent another series to implement the frontend in Linux
> > > (http://marc.info/?l=linux-kernel&m=148883047125960&w=2).
> > > 
> > > The backend complies to the Xen transport for 9pfs specification
> > > version 1, available here:
> > > 
> > > https://xenbits.xen.org/docs/unstable/misc/9pfs.html
> > > 
> > > 
> > > Changes in v4:
> > > - add reviewed-bys
> > > - remove useless if(NULL) checks around g_free
> > > - g_free g_malloc'ed sgs
> > > - remove XEN_9PFS_RING_ORDER, make the ring order dynamic per ring,
> > >   reading the ring_order field in xen_9pfs_data_intf
> > > - remove patch not to build Xen backends on non-Xen capable targets
> > >   because it is already upstream
> > >   
> > 
> > Hi Stefano,
> > 
> > This looks good to me. Do you want these patches to go through my 9p
> > tree or through your xen tree ?  
> 
> Thanks Greg! It can work both ways. If you have any changes in your queue
> that could conflict with this, it's best to go via your tree.
> 
> Otherwise, I'll merge it in mine, so that I can keep an eye on the
> correspondent Xen changes to the header files and make sure they are in
> sync (specifically http://marc.info/?l=qemu-devel&m=149003412910278).
> 

I don't have any conflicting patches on my side. Please merge this in your
tree (as well as the MAINTAINERS patch).

Cheers,

--
Greg

> 
> >  Also, I guess you may want to add
> > F: hw/9pfs/xen-9p-backend.c to the Xen section in MAINTAINERS.  
> 
> I'll send a patch to be applied on top of the series
> 
> 
> > --
> > Greg
> >   
> > > Changes in v3:
> > > - do not build backends for targets that do not support xen
> > > - remove xen_9pfs.h, merge its content into xen-9p-backend.c
> > > - remove xen_9pfs_header, introduce P9MsgHeader
> > > - use le32_to_cpu to access P9MsgHeader fields
> > > - many coding style fixes
> > > - run checkpatch on all patches
> > > - add check if num_rings < 1
> > > - use g_strdup_printf
> > > - free fsdev_id in xen_9pfs_free
> > > - add comments
> > > 
> > > Changes in v2:
> > > - fix coding style
> > > - compile xen-9p-backend.c if CONFIG_XEN_BACKEND
> > > - add patch to set CONFIG_XEN_BACKEND only for the right targets
> > > - add review-bys
> > > 
> > > 
> > > Stefano Stabellini (8):
> > >       xen: import ring.h from xen
> > >       9p: introduce a type for the 9p header
> > >       xen/9pfs: introduce Xen 9pfs backend
> > >       xen/9pfs: connect to the frontend
> > >       xen/9pfs: receive requests from the frontend
> > >       xen/9pfs: implement in/out_iov_from_pdu and vmarshal/vunmarshal
> > >       xen/9pfs: send responses back to the frontend
> > >       xen/9pfs: build and register Xen 9pfs backend
> > > 
> > >  hw/9pfs/9p.h                 |   6 +
> > >  hw/9pfs/Makefile.objs        |   1 +
> > >  hw/9pfs/virtio-9p-device.c   |   6 +-
> > >  hw/9pfs/xen-9p-backend.c     | 444 +++++++++++++++++++++++++++++++++++++++++
> > >  hw/block/xen_blkif.h         |   2 +-
> > >  hw/usb/xen-usb.c             |   2 +-
> > >  hw/xen/xen_backend.c         |   3 +
> > >  include/hw/xen/io/ring.h     | 455 +++++++++++++++++++++++++++++++++++++++++++
> > >  include/hw/xen/xen_backend.h |   3 +
> > >  9 files changed, 915 insertions(+), 7 deletions(-)
> > >  create mode 100644 hw/9pfs/xen-9p-backend.c
> > >  create mode 100644 include/hw/xen/io/ring.h  
> > 
> >   

Re: [Qemu-devel] [Xen-devel] [PATCH v4 0/8] xen/9pfs: introduce the Xen 9pfs backend
Posted by Stefano Stabellini 7 years, 1 month ago
On Wed, 22 Mar 2017, Greg Kurz wrote:
> On Tue, 21 Mar 2017 13:14:02 -0700 (PDT)
> Stefano Stabellini <sstabellini@kernel.org> wrote:
> 
> > On Tue, 21 Mar 2017, Greg Kurz wrote:
> > > On Mon, 20 Mar 2017 11:18:46 -0700 (PDT)
> > > Stefano Stabellini <sstabellini@kernel.org> 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 backend, which typically runs in
> > > > Dom0. I sent another series to implement the frontend in Linux
> > > > (http://marc.info/?l=linux-kernel&m=148883047125960&w=2).
> > > > 
> > > > The backend complies to the Xen transport for 9pfs specification
> > > > version 1, available here:
> > > > 
> > > > https://xenbits.xen.org/docs/unstable/misc/9pfs.html
> > > > 
> > > > 
> > > > Changes in v4:
> > > > - add reviewed-bys
> > > > - remove useless if(NULL) checks around g_free
> > > > - g_free g_malloc'ed sgs
> > > > - remove XEN_9PFS_RING_ORDER, make the ring order dynamic per ring,
> > > >   reading the ring_order field in xen_9pfs_data_intf
> > > > - remove patch not to build Xen backends on non-Xen capable targets
> > > >   because it is already upstream
> > > >   
> > > 
> > > Hi Stefano,
> > > 
> > > This looks good to me. Do you want these patches to go through my 9p
> > > tree or through your xen tree ?  
> > 
> > Thanks Greg! It can work both ways. If you have any changes in your queue
> > that could conflict with this, it's best to go via your tree.
> > 
> > Otherwise, I'll merge it in mine, so that I can keep an eye on the
> > correspondent Xen changes to the header files and make sure they are in
> > sync (specifically http://marc.info/?l=qemu-devel&m=149003412910278).
> > 
> 
> I don't have any conflicting patches on my side. Please merge this in your
> tree (as well as the MAINTAINERS patch).

All right, thanks! I'll add a reviewed-by you on all patches if for you
is OK.


> > 
> > >  Also, I guess you may want to add
> > > F: hw/9pfs/xen-9p-backend.c to the Xen section in MAINTAINERS.  
> > 
> > I'll send a patch to be applied on top of the series
> > 
> > 
> > > --
> > > Greg
> > >   
> > > > Changes in v3:
> > > > - do not build backends for targets that do not support xen
> > > > - remove xen_9pfs.h, merge its content into xen-9p-backend.c
> > > > - remove xen_9pfs_header, introduce P9MsgHeader
> > > > - use le32_to_cpu to access P9MsgHeader fields
> > > > - many coding style fixes
> > > > - run checkpatch on all patches
> > > > - add check if num_rings < 1
> > > > - use g_strdup_printf
> > > > - free fsdev_id in xen_9pfs_free
> > > > - add comments
> > > > 
> > > > Changes in v2:
> > > > - fix coding style
> > > > - compile xen-9p-backend.c if CONFIG_XEN_BACKEND
> > > > - add patch to set CONFIG_XEN_BACKEND only for the right targets
> > > > - add review-bys
> > > > 
> > > > 
> > > > Stefano Stabellini (8):
> > > >       xen: import ring.h from xen
> > > >       9p: introduce a type for the 9p header
> > > >       xen/9pfs: introduce Xen 9pfs backend
> > > >       xen/9pfs: connect to the frontend
> > > >       xen/9pfs: receive requests from the frontend
> > > >       xen/9pfs: implement in/out_iov_from_pdu and vmarshal/vunmarshal
> > > >       xen/9pfs: send responses back to the frontend
> > > >       xen/9pfs: build and register Xen 9pfs backend
> > > > 
> > > >  hw/9pfs/9p.h                 |   6 +
> > > >  hw/9pfs/Makefile.objs        |   1 +
> > > >  hw/9pfs/virtio-9p-device.c   |   6 +-
> > > >  hw/9pfs/xen-9p-backend.c     | 444 +++++++++++++++++++++++++++++++++++++++++
> > > >  hw/block/xen_blkif.h         |   2 +-
> > > >  hw/usb/xen-usb.c             |   2 +-
> > > >  hw/xen/xen_backend.c         |   3 +
> > > >  include/hw/xen/io/ring.h     | 455 +++++++++++++++++++++++++++++++++++++++++++
> > > >  include/hw/xen/xen_backend.h |   3 +
> > > >  9 files changed, 915 insertions(+), 7 deletions(-)
> > > >  create mode 100644 hw/9pfs/xen-9p-backend.c
> > > >  create mode 100644 include/hw/xen/io/ring.h  
> > > 
> > >   
> 
> 

Re: [Qemu-devel] [Xen-devel] [PATCH v4 0/8] xen/9pfs: introduce the Xen 9pfs backend
Posted by Greg Kurz 7 years, 1 month ago
On Wed, 22 Mar 2017 11:32:22 -0700 (PDT)
Stefano Stabellini <sstabellini@kernel.org> wrote:

> On Wed, 22 Mar 2017, Greg Kurz wrote:
> > On Tue, 21 Mar 2017 13:14:02 -0700 (PDT)
> > Stefano Stabellini <sstabellini@kernel.org> wrote:
> >   
> > > On Tue, 21 Mar 2017, Greg Kurz wrote:  
> > > > On Mon, 20 Mar 2017 11:18:46 -0700 (PDT)
> > > > Stefano Stabellini <sstabellini@kernel.org> 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 backend, which typically runs in
> > > > > Dom0. I sent another series to implement the frontend in Linux
> > > > > (http://marc.info/?l=linux-kernel&m=148883047125960&w=2).
> > > > > 
> > > > > The backend complies to the Xen transport for 9pfs specification
> > > > > version 1, available here:
> > > > > 
> > > > > https://xenbits.xen.org/docs/unstable/misc/9pfs.html
> > > > > 
> > > > > 
> > > > > Changes in v4:
> > > > > - add reviewed-bys
> > > > > - remove useless if(NULL) checks around g_free
> > > > > - g_free g_malloc'ed sgs
> > > > > - remove XEN_9PFS_RING_ORDER, make the ring order dynamic per ring,
> > > > >   reading the ring_order field in xen_9pfs_data_intf
> > > > > - remove patch not to build Xen backends on non-Xen capable targets
> > > > >   because it is already upstream
> > > > >     
> > > > 
> > > > Hi Stefano,
> > > > 
> > > > This looks good to me. Do you want these patches to go through my 9p
> > > > tree or through your xen tree ?    
> > > 
> > > Thanks Greg! It can work both ways. If you have any changes in your queue
> > > that could conflict with this, it's best to go via your tree.
> > > 
> > > Otherwise, I'll merge it in mine, so that I can keep an eye on the
> > > correspondent Xen changes to the header files and make sure they are in
> > > sync (specifically http://marc.info/?l=qemu-devel&m=149003412910278).
> > >   
> > 
> > I don't have any conflicting patches on my side. Please merge this in your
> > tree (as well as the MAINTAINERS patch).  
> 
> All right, thanks! I'll add a reviewed-by you on all patches if for you
> is OK.
> 

I'd prefer not as I haven't reviewed the Xen specific bits actually :)

> 
> > >   
> > > >  Also, I guess you may want to add
> > > > F: hw/9pfs/xen-9p-backend.c to the Xen section in MAINTAINERS.    
> > > 
> > > I'll send a patch to be applied on top of the series
> > > 
> > >   
> > > > --
> > > > Greg
> > > >     
> > > > > Changes in v3:
> > > > > - do not build backends for targets that do not support xen
> > > > > - remove xen_9pfs.h, merge its content into xen-9p-backend.c
> > > > > - remove xen_9pfs_header, introduce P9MsgHeader
> > > > > - use le32_to_cpu to access P9MsgHeader fields
> > > > > - many coding style fixes
> > > > > - run checkpatch on all patches
> > > > > - add check if num_rings < 1
> > > > > - use g_strdup_printf
> > > > > - free fsdev_id in xen_9pfs_free
> > > > > - add comments
> > > > > 
> > > > > Changes in v2:
> > > > > - fix coding style
> > > > > - compile xen-9p-backend.c if CONFIG_XEN_BACKEND
> > > > > - add patch to set CONFIG_XEN_BACKEND only for the right targets
> > > > > - add review-bys
> > > > > 
> > > > > 
> > > > > Stefano Stabellini (8):
> > > > >       xen: import ring.h from xen
> > > > >       9p: introduce a type for the 9p header
> > > > >       xen/9pfs: introduce Xen 9pfs backend
> > > > >       xen/9pfs: connect to the frontend
> > > > >       xen/9pfs: receive requests from the frontend
> > > > >       xen/9pfs: implement in/out_iov_from_pdu and vmarshal/vunmarshal
> > > > >       xen/9pfs: send responses back to the frontend
> > > > >       xen/9pfs: build and register Xen 9pfs backend
> > > > > 
> > > > >  hw/9pfs/9p.h                 |   6 +
> > > > >  hw/9pfs/Makefile.objs        |   1 +
> > > > >  hw/9pfs/virtio-9p-device.c   |   6 +-
> > > > >  hw/9pfs/xen-9p-backend.c     | 444 +++++++++++++++++++++++++++++++++++++++++
> > > > >  hw/block/xen_blkif.h         |   2 +-
> > > > >  hw/usb/xen-usb.c             |   2 +-
> > > > >  hw/xen/xen_backend.c         |   3 +
> > > > >  include/hw/xen/io/ring.h     | 455 +++++++++++++++++++++++++++++++++++++++++++
> > > > >  include/hw/xen/xen_backend.h |   3 +
> > > > >  9 files changed, 915 insertions(+), 7 deletions(-)
> > > > >  create mode 100644 hw/9pfs/xen-9p-backend.c
> > > > >  create mode 100644 include/hw/xen/io/ring.h    
> > > > 
> > > >     
> > 
> >   

Re: [Qemu-devel] [Xen-devel] [PATCH v4 0/8] xen/9pfs: introduce the Xen 9pfs backend
Posted by Stefano Stabellini 7 years, 1 month ago
On Thu, 23 Mar 2017, Greg Kurz wrote:
> On Wed, 22 Mar 2017 11:32:22 -0700 (PDT)
> Stefano Stabellini <sstabellini@kernel.org> wrote:
> 
> > On Wed, 22 Mar 2017, Greg Kurz wrote:
> > > On Tue, 21 Mar 2017 13:14:02 -0700 (PDT)
> > > Stefano Stabellini <sstabellini@kernel.org> wrote:
> > >   
> > > > On Tue, 21 Mar 2017, Greg Kurz wrote:  
> > > > > On Mon, 20 Mar 2017 11:18:46 -0700 (PDT)
> > > > > Stefano Stabellini <sstabellini@kernel.org> 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 backend, which typically runs in
> > > > > > Dom0. I sent another series to implement the frontend in Linux
> > > > > > (http://marc.info/?l=linux-kernel&m=148883047125960&w=2).
> > > > > > 
> > > > > > The backend complies to the Xen transport for 9pfs specification
> > > > > > version 1, available here:
> > > > > > 
> > > > > > https://xenbits.xen.org/docs/unstable/misc/9pfs.html
> > > > > > 
> > > > > > 
> > > > > > Changes in v4:
> > > > > > - add reviewed-bys
> > > > > > - remove useless if(NULL) checks around g_free
> > > > > > - g_free g_malloc'ed sgs
> > > > > > - remove XEN_9PFS_RING_ORDER, make the ring order dynamic per ring,
> > > > > >   reading the ring_order field in xen_9pfs_data_intf
> > > > > > - remove patch not to build Xen backends on non-Xen capable targets
> > > > > >   because it is already upstream
> > > > > >     
> > > > > 
> > > > > Hi Stefano,
> > > > > 
> > > > > This looks good to me. Do you want these patches to go through my 9p
> > > > > tree or through your xen tree ?    
> > > > 
> > > > Thanks Greg! It can work both ways. If you have any changes in your queue
> > > > that could conflict with this, it's best to go via your tree.
> > > > 
> > > > Otherwise, I'll merge it in mine, so that I can keep an eye on the
> > > > correspondent Xen changes to the header files and make sure they are in
> > > > sync (specifically http://marc.info/?l=qemu-devel&m=149003412910278).
> > > >   
> > > 
> > > I don't have any conflicting patches on my side. Please merge this in your
> > > tree (as well as the MAINTAINERS patch).  
> > 
> > All right, thanks! I'll add a reviewed-by you on all patches if for you
> > is OK.
> > 
> 
> I'd prefer not as I haven't reviewed the Xen specific bits actually :)

OK :)


> > > >   
> > > > >  Also, I guess you may want to add
> > > > > F: hw/9pfs/xen-9p-backend.c to the Xen section in MAINTAINERS.    
> > > > 
> > > > I'll send a patch to be applied on top of the series
> > > > 
> > > >   
> > > > > --
> > > > > Greg
> > > > >     
> > > > > > Changes in v3:
> > > > > > - do not build backends for targets that do not support xen
> > > > > > - remove xen_9pfs.h, merge its content into xen-9p-backend.c
> > > > > > - remove xen_9pfs_header, introduce P9MsgHeader
> > > > > > - use le32_to_cpu to access P9MsgHeader fields
> > > > > > - many coding style fixes
> > > > > > - run checkpatch on all patches
> > > > > > - add check if num_rings < 1
> > > > > > - use g_strdup_printf
> > > > > > - free fsdev_id in xen_9pfs_free
> > > > > > - add comments
> > > > > > 
> > > > > > Changes in v2:
> > > > > > - fix coding style
> > > > > > - compile xen-9p-backend.c if CONFIG_XEN_BACKEND
> > > > > > - add patch to set CONFIG_XEN_BACKEND only for the right targets
> > > > > > - add review-bys
> > > > > > 
> > > > > > 
> > > > > > Stefano Stabellini (8):
> > > > > >       xen: import ring.h from xen
> > > > > >       9p: introduce a type for the 9p header
> > > > > >       xen/9pfs: introduce Xen 9pfs backend
> > > > > >       xen/9pfs: connect to the frontend
> > > > > >       xen/9pfs: receive requests from the frontend
> > > > > >       xen/9pfs: implement in/out_iov_from_pdu and vmarshal/vunmarshal
> > > > > >       xen/9pfs: send responses back to the frontend
> > > > > >       xen/9pfs: build and register Xen 9pfs backend
> > > > > > 
> > > > > >  hw/9pfs/9p.h                 |   6 +
> > > > > >  hw/9pfs/Makefile.objs        |   1 +
> > > > > >  hw/9pfs/virtio-9p-device.c   |   6 +-
> > > > > >  hw/9pfs/xen-9p-backend.c     | 444 +++++++++++++++++++++++++++++++++++++++++
> > > > > >  hw/block/xen_blkif.h         |   2 +-
> > > > > >  hw/usb/xen-usb.c             |   2 +-
> > > > > >  hw/xen/xen_backend.c         |   3 +
> > > > > >  include/hw/xen/io/ring.h     | 455 +++++++++++++++++++++++++++++++++++++++++++
> > > > > >  include/hw/xen/xen_backend.h |   3 +
> > > > > >  9 files changed, 915 insertions(+), 7 deletions(-)
> > > > > >  create mode 100644 hw/9pfs/xen-9p-backend.c
> > > > > >  create mode 100644 include/hw/xen/io/ring.h    
> > > > > 
> > > > >     
> > > 
> > >   
> 
>