qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] configure: add option for virtiofsd
@ 2020-10-07  9:29 Misono Tomohiro
  2020-10-07 15:30 ` Paolo Bonzini
  0 siblings, 1 reply; 6+ messages in thread
From: Misono Tomohiro @ 2020-10-07  9:29 UTC (permalink / raw)
  To: qemu-devel, virtio-fs; +Cc: misono.tomohiro

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: virtiofsd requires libcap-ng devel, seccomp devel, vhost user and tools support

In addition, configuration summary now includes virtiofsd entry:

  build virtiofs daemon: YES/NO

Sidenote: this patch defines CONFIG_VIRTIOFSD for config-host.mak
to avoid duplicate dependency check in tools/meson.build.

Signed-off-by: Misono Tomohiro <misono.tomohiro@jp.fujitsu.com>
---
 configure         | 22 ++++++++++++++++++++++
 docs/meson.build  |  2 +-
 meson.build       |  1 +
 tools/meson.build |  9 +--------
 4 files changed, 25 insertions(+), 9 deletions(-)

diff --git a/configure b/configure
index ecc8e90e8b..9d76e73014 100755
--- a/configure
+++ b/configure
@@ -403,6 +403,7 @@ netmap="no"
 sdl="auto"
 sdl_image="auto"
 virtfs=""
+virtiofsd=""
 mpath=""
 vnc="enabled"
 sparse="no"
@@ -1117,6 +1118,10 @@ for opt do
   ;;
   --enable-virtfs) virtfs="yes"
   ;;
+  --disable-virtiofsd) virtiofsd="no"
+  ;;
+  --enable-virtiofsd) virtiofsd="yes"
+  ;;
   --disable-mpath) mpath="no"
   ;;
   --enable-mpath) mpath="yes"
@@ -1873,6 +1878,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
@@ -6344,6 +6350,15 @@ if test "$softmmu" = yes ; then
       fi
       virtfs=no
     fi
+    if test "$virtiofsd" != no && test "$cap_ng" = yes && test "$seccomp" = yes \
+         && test "$vhost_user" = yes && test "$want_tools" = yes; then
+      virtiofsd=yes
+    else
+      if test "$virtiofsd" = yes; then
+        error_exit "virtiofsd requires libcap-ng devel, seccomp devel, vhost user and tools support"
+      fi
+      virtiofsd=no
+    fi
     if test "$mpath" != no && test "$mpathpersist" = yes ; then
       mpath=yes
     else
@@ -6357,6 +6372,10 @@ if test "$softmmu" = yes ; then
       error_exit "VirtFS is supported only on Linux"
     fi
     virtfs=no
+    if test "$virtiofsd" = yes; then
+      error_exit "virtiofsd is supported only on Linux"
+    fi
+    virtiofsd=no
     if test "$mpath" = yes; then
       error_exit "Multipath is supported only on Linux"
     fi
@@ -6901,6 +6920,9 @@ fi
 if test "$virtfs" = "yes" ; then
   echo "CONFIG_VIRTFS=y" >> $config_host_mak
 fi
+if test "$virtiofsd" = "yes" ; then
+  echo "CONFIG_VIRTIOFSD=y" >> $config_host_mak
+fi
 if test "$mpath" = "yes" ; then
   echo "CONFIG_MPATH=y" >> $config_host_mak
   if test "$mpathpersist_new_api" = "yes"; then
diff --git a/docs/meson.build b/docs/meson.build
index 0340d489ac..6b9b277ef7 100644
--- a/docs/meson.build
+++ b/docs/meson.build
@@ -15,7 +15,7 @@ if build_docs
         'qemu-nbd.8': (have_tools ? 'man8' : ''),
         'qemu-trace-stap.1': (config_host.has_key('CONFIG_TRACE_SYSTEMTAP') ? 'man1' : ''),
         'virtfs-proxy-helper.1': (have_virtfs_proxy_helper ? 'man1' : ''),
-        'virtiofsd.1': (have_virtiofsd ? 'man1' : ''),
+        'virtiofsd.1': (config_host.has_key('CONFIG_VIRTIOFSD') ? 'man1' : ''),
     },
     'system': {
         'qemu.1': 'man1',
diff --git a/meson.build b/meson.build
index 5b586afc38..a4ea961272 100644
--- a/meson.build
+++ b/meson.build
@@ -1336,6 +1336,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': config_host.has_key('CONFIG_VIRTIOFSD')}
 summary_info += {'Multipath support': config_host.has_key('CONFIG_MPATH')}
 summary_info += {'VNC support':       vnc.found()}
 if vnc.found()
diff --git a/tools/meson.build b/tools/meson.build
index 513bd2ff4f..f1241982d6 100644
--- a/tools/meson.build
+++ b/tools/meson.build
@@ -1,10 +1,3 @@
-have_virtiofsd = (have_system 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 have_virtiofsd
+if 'CONFIG_VIRTIOFSD' in config_host
   subdir('virtiofsd')
 endif
-- 
2.25.4



^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-10-08 10:45 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-10-07  9:29 [PATCH] configure: add option for virtiofsd Misono Tomohiro
2020-10-07 15:30 ` Paolo Bonzini
2020-10-08  9:17   ` misono.tomohiro
2020-10-08  9:55     ` [Virtio-fs] " Dr. David Alan Gilbert
2020-10-08 10:13       ` misono.tomohiro
2020-10-08 10:43     ` Paolo Bonzini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).