[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] tools: specifically enable VirtFS in Linux QEMU builds



> -----Original Message-----
> From: Stefano Stabellini [mailto:sstabellini@xxxxxxxxxx]
> Sent: 06 September 2018 19:12
> To: Paul Durrant <Paul.Durrant@xxxxxxxxxx>
> Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx; Andrew Cooper
> <Andrew.Cooper3@xxxxxxxxxx>; George Dunlap
> <George.Dunlap@xxxxxxxxxx>; Ian Jackson <Ian.Jackson@xxxxxxxxxx>; Jan
> Beulich <jbeulich@xxxxxxxx>; Julien Grall <julien.grall@xxxxxxx>; Konrad
> Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>; Stefano Stabellini
> <sstabellini@xxxxxxxxxx>; Tim (Xen.org) <tim@xxxxxxx>; Wei Liu
> <wei.liu2@xxxxxxxxxx>
> Subject: Re: [PATCH] tools: specifically enable VirtFS in Linux QEMU builds
> 
> On Thu, 6 Sep 2018, Paul Durrant wrote:
> > 9pfs support has been a documented feature since Xen 4.9, but QEMU will
> > not be built with backend support unless libcap and libattr dev packages
> > are installed.
> >
> > This patch modifies the README to call out those packages as pre-
> requisites
> > for Linux builds and specifically enables VirtFS in the configure line
> > for QEMU so that an error message is displayed if they are missing.
> >
> > Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
> 
> Thank you, Paul!

NP. I'm at the point of seriously considering a Windows frontend, which is why 
I've been playing.

BTW, as a heads-up... Before I realised QEMU was not building the backend, I 
tried a modprobe of the Xen 9pfs transport module in a Linux guest and 
immediately hit a kernel BUG (NULL ptr IIRC) which was apparently down to the 
frontend expecting the backend to be present when its probe routine is run, 
rather than deferring things until the backend goes into InitWait (which is 
what a frontend generally should do). Also, it's non-obvious why I have to 
explicitly modprobe anyway... Shouldn't the module get demand-loaded when I run 
mount -t 9pfs blah?

> Do we need to do anything for the configure stuff
> (AC_CHECK_LIB in tools/configure.ac)?

That's certainly a reasonable belt'n'braces approach so that folks don't have 
to wait until their tools build fails to find out what they need. I'll have a 
look at that.

  Cheers,

    Paul

> 
> > ---
> > Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
> > Cc: George Dunlap <George.Dunlap@xxxxxxxxxxxxx>
> > Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
> > Cc: Jan Beulich <jbeulich@xxxxxxxx>
> > Cc: Julien Grall <julien.grall@xxxxxxx>
> > Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
> > Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx>
> > Cc: Tim Deegan <tim@xxxxxxx>
> > Cc: Wei Liu <wei.liu2@xxxxxxxxxx>
> > ---
> >  README         |  2 ++
> >  tools/Makefile | 11 +++++++++++
> >  2 files changed, 13 insertions(+)
> >
> > diff --git a/README b/README
> > index 4b95b21c7b..1a4e4b2c1b 100644
> > --- a/README
> > +++ b/README
> > @@ -56,6 +56,8 @@ provided by your OS distributor:
> >        greater.
> >      * Development install of GLib v2.0 (e.g. libglib2.0-dev)
> >      * Development install of Pixman (e.g. libpixman-1-dev)
> > +    * Development install of libcap (e.g. libcap-dev) [Linux only]
> > +    * Development install of libattr (e.g. libattr1-dev) [Linux only]
> >      * pkg-config
> >      * bridge-utils package (/sbin/brctl)
> >      * iproute package (/sbin/ip)
> > diff --git a/tools/Makefile b/tools/Makefile
> > index 67977ad850..e74efb8a6e 100644
> > --- a/tools/Makefile
> > +++ b/tools/Makefile
> > @@ -216,6 +216,11 @@ else
> >  QEMU_XEN_ENABLE_DEBUG :=
> >  endif
> >
> > +#
> > +# 9pfs support is a documented feature but it depends on a QEMU with
> > +# VirtFS enabled. However VirtFS is a Linux-only option so only enable
> > +# it for Linux builds.
> > +#
> >  subdir-all-qemu-xen-dir: qemu-xen-dir-find
> >     unset MAKELEVEL; \
> >     if test -d $(QEMU_UPSTREAM_LOC) ; then \
> > @@ -232,10 +237,16 @@ subdir-all-qemu-xen-dir: qemu-xen-dir-find
> >     else \
> >             enable_trace_backend='' ; \
> >     fi ; \
> > +   if [ "$(CONFIG_Linux)" = "y" ]; then \
> > +           enable_virtfs='--enable-virtfs' ; \
> > +   else \
> > +           enable_virtfs='' ; \
> > +   fi ; \
> >     PKG_CONFIG_PATH=$(XEN_ROOT)/tools/pkg-
> config$${PKG_CONFIG_PATH:+:$${PKG_CONFIG_PATH}} \
> >     $$source/configure --enable-xen --target-list=i386-softmmu \
> >             $(QEMU_XEN_ENABLE_DEBUG) \
> >             $$enable_trace_backend \
> > +           $$enable_virtfs \
> >             --prefix=$(LIBEXEC) \
> >             --libdir=$(LIBEXEC_LIB) \
> >             --includedir=$(LIBEXEC_INC) \
> > --
> > 2.11.0
> >

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.