[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Virtio-fs] [PATCH v2] configure: add option for virtiofsd
From: |
Dr. David Alan Gilbert |
Subject: |
Re: [Virtio-fs] [PATCH v2] configure: add option for virtiofsd |
Date: |
Fri, 9 Oct 2020 13:13:29 +0100 |
User-agent: |
Mutt/1.14.6 (2020-07-11) |
* Paolo Bonzini (pbonzini@redhat.com) wrote:
> On 08/10/20 12:31, Misono Tomohiro wrote:
> > Currently it is unknown whether virtiofsd will be built at
> > configuration time. It will be automatically built when dependency
> > is met. Also, required libraries are not clear.
> >
> > To make this clear, add configure option --{enable,disable}-virtiofsd.
> > The default is the same as current (enabled if available) like many
> > other options. When --enable-virtiofsd is given and dependency is not
> > met, we get:
> >
> > ERROR: Problem encountered: virtiofsd requires libcap-ng-devel and
> > seccomp-devel
> > or
> > ERROR: Problem encountered: virtiofsd needs tools and vhost-user support
> >
> > In addition, configuration summary now includes virtiofsd entry:
> >
> > build virtiofs daemon: YES/NO
> >
> > Signed-off-by: Misono Tomohiro <misono.tomohiro@jp.fujitsu.com>
> > ---
> > This patch is based on current master branch
> >
> > v1 ...
> > 20201007092913.1524199-1-misono.tomohiro@jp.fujitsu.com/">https://lore.kernel.org/qemu-devel/20201007092913.1524199-1-misono.tomohiro@jp.fujitsu.com/
> > v1 -> v2: Update to follow the current meson build style
> >
> > configure | 8 +++++++-
> > meson.build | 1 +
> > meson_options.txt | 2 ++
> > tools/meson.build | 17 +++++++++++++++--
> > 4 files changed, 25 insertions(+), 3 deletions(-)
> >
> > diff --git a/configure b/configure
> > index 28df227db5..2bd8419b1f 100755
> > --- a/configure
> > +++ b/configure
> > @@ -302,6 +302,7 @@ netmap="no"
> > sdl="auto"
> > sdl_image="auto"
> > virtfs=""
> > +virtiofsd="auto"
> > mpath="auto"
> > vnc="enabled"
> > sparse="auto"
> > @@ -1004,6 +1005,10 @@ for opt do
> > ;;
> > --enable-virtfs) virtfs="yes"
> > ;;
> > + --disable-virtiofsd) virtiofsd="disabled"
> > + ;;
> > + --enable-virtiofsd) virtiofsd="enabled"
> > + ;;
> > --disable-mpath) mpath="disabled"
> > ;;
> > --enable-mpath) mpath="enabled"
> > @@ -1761,6 +1766,7 @@ disabled with --disable-FEATURE, default is enabled
> > if available:
> > vnc-png PNG compression for VNC server
> > cocoa Cocoa UI (Mac OS X only)
> > virtfs VirtFS
> > + virtiofsd build virtiofs daemon (virtiofsd)
> > mpath Multipath persistent reservation passthrough
> > xen xen backend driver support
> > xen-pci-passthrough PCI passthrough support for Xen
> > @@ -7215,7 +7221,7 @@ NINJA=${ninja:-$PWD/ninjatool} $meson setup \
> > -Dxen=$xen -Dxen_pci_passthrough=$xen_pci_passthrough -Dtcg=$tcg \
> > -Dcocoa=$cocoa -Dmpath=$mpath -Dsdl=$sdl -Dsdl_image=$sdl_image \
> > -Dvnc=$vnc -Dvnc_sasl=$vnc_sasl -Dvnc_jpeg=$vnc_jpeg -Dvnc_png=$vnc_png
> > \
> > - -Dgettext=$gettext -Dxkbcommon=$xkbcommon -Du2f=$u2f \
> > + -Dgettext=$gettext -Dxkbcommon=$xkbcommon -Du2f=$u2f
> > -Dvirtiofsd=$virtiofsd \
> > -Dcapstone=$capstone -Dslirp=$slirp -Dfdt=$fdt \
> > $cross_arg \
> > "$PWD" "$source_path"
> > diff --git a/meson.build b/meson.build
> > index 17c89c87c6..a087239009 100644
> > --- a/meson.build
> > +++ b/meson.build
> > @@ -1843,6 +1843,7 @@ summary_info += {'Audio drivers':
> > config_host['CONFIG_AUDIO_DRIVERS']}
> > summary_info += {'Block whitelist (rw)':
> > config_host['CONFIG_BDRV_RW_WHITELIST']}
> > summary_info += {'Block whitelist (ro)':
> > config_host['CONFIG_BDRV_RO_WHITELIST']}
> > summary_info += {'VirtFS support': config_host.has_key('CONFIG_VIRTFS')}
> > +summary_info += {'build virtiofs daemon': have_virtiofsd}
> > summary_info += {'Multipath support': mpathpersist.found()}
> > summary_info += {'VNC support': vnc.found()}
> > if vnc.found()
> > diff --git a/meson_options.txt b/meson_options.txt
> > index 1d3c94840a..80637ada63 100644
> > --- a/meson_options.txt
> > +++ b/meson_options.txt
> > @@ -48,6 +48,8 @@ option('vnc_sasl', type : 'feature', value : 'auto',
> > description: 'SASL authentication for VNC server')
> > option('xkbcommon', type : 'feature', value : 'auto',
> > description: 'xkbcommon support')
> > +option('virtiofsd', type: 'feature', value: 'auto',
> > + description: 'build virtiofs daemon (virtiofsd)')
> >
> > option('capstone', type: 'combo', value: 'auto',
> > choices: ['disabled', 'enabled', 'auto', 'system', 'internal'],
> > diff --git a/tools/meson.build b/tools/meson.build
> > index 513bd2ff4f..76bf84df52 100644
> > --- a/tools/meson.build
> > +++ b/tools/meson.build
> > @@ -1,10 +1,23 @@
> > -have_virtiofsd = (have_system and
> > +have_virtiofsd = (targetos == 'linux' and
> > have_tools and
> > - 'CONFIG_LINUX' in config_host and
> > 'CONFIG_SECCOMP' in config_host and
> > 'CONFIG_LIBCAP_NG' in config_host and
> > 'CONFIG_VHOST_USER' in config_host)
> >
> > +if get_option('virtiofsd').enabled()
> > + if not have_virtiofsd
> > + if targetos != 'linux'
> > + error('virtiofsd requires Linux')
> > + elif 'CONFIG_SECCOMP' not in config_host or 'CONFIG_LIBCAP_NG' not in
> > config_host
> > + error('virtiofsd requires libcap-ng-devel and seccomp-devel')
> > + elif not have_tools or 'CONFIG_VHOST_USER' not in config_host
> > + error('virtiofsd needs tools and vhost-user support')
> > + endif
> > + endif
> > +elif get_option('virtiofsd').disabled() or not have_system
> > + have_virtiofsd = false
> > +endif
> > +
> > if have_virtiofsd
> > subdir('virtiofsd')
> > endif
> >
>
> This looks good and the way you solved --enable-virtiofsd
> --disable-tools makes sense. I'll let David pick it up or decide if he
> wants a different approach.
In that case I'll take your word the meson bit is OK, so:
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
(I've also hit this, wondering why virtiofsd hasn't been built and
realising I was missing capng on a new host).
> Paolo
>
> _______________________________________________
> Virtio-fs mailing list
> Virtio-fs@redhat.com
> https://www.redhat.com/mailman/listinfo/virtio-fs
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK