> -----Original Message-----
> From: Stefano Stabellini [mailto:[email protected]]
> Sent: 06 September 2018 19:12
> To: Paul Durrant <[email protected]>
> Cc: [email protected]; Andrew Cooper
> <[email protected]>; George Dunlap
> <[email protected]>; Ian Jackson <[email protected]>; Jan
> Beulich <[email protected]>; Julien Grall <[email protected]>; Konrad
> Rzeszutek Wilk <[email protected]>; Stefano Stabellini
> <[email protected]>; Tim (Xen.org) <[email protected]>; Wei Liu
> <[email protected]>
> 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 <[email protected]>
>
> 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 <[email protected]>
> > Cc: George Dunlap <[email protected]>
> > Cc: Ian Jackson <[email protected]>
> > Cc: Jan Beulich <[email protected]>
> > Cc: Julien Grall <[email protected]>
> > Cc: Konrad Rzeszutek Wilk <[email protected]>
> > Cc: Stefano Stabellini <[email protected]>
> > Cc: Tim Deegan <[email protected]>
> > Cc: Wei Liu <[email protected]>
> > ---
> > 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
[email protected]
https://lists.xenproject.org/mailman/listinfo/xen-devel