All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v1 0/1] Allow the building of VirtFS to be disabled
@ 2012-02-07 20:44 Meador Inge
  2012-02-07 20:44 ` [Qemu-devel] [PATCH v1 1/1] ./configure: add option for disabling VirtFS Meador Inge
  2012-02-08  8:15 ` [Qemu-devel] [PATCH v1 0/1] Allow the building of VirtFS to be disabled Aneesh Kumar K.V
  0 siblings, 2 replies; 7+ messages in thread
From: Meador Inge @ 2012-02-07 20:44 UTC (permalink / raw)
  To: qemu-devel; +Cc: aliguori, aneesh.kumar

There have been reports [1, 2] where folks have had issues building
VirtFS and the virtio backend on older systems.  I personally saw
problems due to the use of features (struct statfs f_frsize field,
fdopendir, O_NOATIME) in this code that are not available on much older
Linux systems.  Given, the system I ran into this on is ancient (RH8 sysroot),
but I still need to build QEMU on it nonetheless.

This patch adds a new configure option for disabling the building of
VirtFS all together.  Tested by building with and without --disable-virtfs
on older (RH8 sysroot) and newer systems (x64 Fedora 16).

[1] http://lists.nongnu.org/archive/html/qemu-devel/2011-12/msg00171.html
[2] http://lists.nongnu.org/archive/html/qemu-devel/2012-02/msg00404.html

Meador Inge (1):
  ./configure: add option for disabling VirtFS

 Makefile  |    4 ++++
 configure |   16 +++++++++++++---
 2 files changed, 17 insertions(+), 3 deletions(-)

-- 
1.7.7.6

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

* [Qemu-devel] [PATCH v1 1/1] ./configure: add option for disabling VirtFS
  2012-02-07 20:44 [Qemu-devel] [PATCH v1 0/1] Allow the building of VirtFS to be disabled Meador Inge
@ 2012-02-07 20:44 ` Meador Inge
  2012-02-09 22:39   ` Peter Maydell
  2012-02-08  8:15 ` [Qemu-devel] [PATCH v1 0/1] Allow the building of VirtFS to be disabled Aneesh Kumar K.V
  1 sibling, 1 reply; 7+ messages in thread
From: Meador Inge @ 2012-02-07 20:44 UTC (permalink / raw)
  To: qemu-devel; +Cc: aliguori, aneesh.kumar

Signed-off-by: Meador Inge <meadori@codesourcery.com>
---
 Makefile  |    4 ++++
 configure |   16 +++++++++++++---
 2 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index 47acf3d..030619c 100644
--- a/Makefile
+++ b/Makefile
@@ -40,7 +40,9 @@ HELPERS-$(CONFIG_LINUX) = qemu-bridge-helper$(EXESUF)
 
 ifdef BUILD_DOCS
 DOCS=qemu-doc.html qemu-tech.html qemu.1 qemu-img.1 qemu-nbd.8 QMP/qmp-commands.txt
+ifdef CONFIG_VIRTFS
 DOCS+=fsdev/virtfs-proxy-helper.1
+endif
 else
 DOCS=
 endif
@@ -162,8 +164,10 @@ qemu-io$(EXESUF): qemu-io.o cmd.o $(tools-obj-y) $(block-obj-y)
 
 qemu-bridge-helper$(EXESUF): qemu-bridge-helper.o
 
+ifdef CONFIG_VIRTFS
 fsdev/virtfs-proxy-helper$(EXESUF): fsdev/virtfs-proxy-helper.o fsdev/virtio-9p-marshal.o oslib-posix.o $(trace-obj-y)
 fsdev/virtfs-proxy-helper$(EXESUF): LIBS += -lcap
+endif
 
 qemu-img-cmds.h: $(SRC_PATH)/qemu-img-cmds.hx
 	$(call quiet-command,sh $(SRC_PATH)/scripts/hxtool -h < $< > $@,"  GEN   $@")
diff --git a/configure b/configure
index 763db24..081d720 100755
--- a/configure
+++ b/configure
@@ -121,6 +121,7 @@ docs=""
 fdt=""
 nptl=""
 sdl=""
+virtfs="yes"
 vnc="yes"
 sparse="no"
 uuid=""
@@ -586,6 +587,10 @@ for opt do
   ;;
   --enable-sdl) sdl="yes"
   ;;
+  --disable-virtfs) virtfs="no"
+  ;;
+  --enable-virtfs) virtfs="yes"
+  ;;
   --disable-vnc) vnc="no"
   ;;
   --enable-vnc) vnc="yes"
@@ -993,6 +998,8 @@ echo "  --disable-strip          disable stripping binaries"
 echo "  --disable-werror         disable compilation abort on warning"
 echo "  --disable-sdl            disable SDL"
 echo "  --enable-sdl             enable SDL"
+echo "  --disable-virtfs         disable VirtFS"
+echo "  --enable-virtfs          enable VirtFS"
 echo "  --disable-vnc            disable VNC"
 echo "  --enable-vnc             enable VNC"
 echo "  --enable-cocoa           enable COCOA (Mac OS X only)"
@@ -2808,7 +2815,7 @@ confdir=$sysconfdir$confsuffix
 tools=
 if test "$softmmu" = yes ; then
   tools="qemu-img\$(EXESUF) qemu-io\$(EXESUF) $tools"
-  if [ "$cap" = "yes" -a "$linux" = "yes" ] ; then
+  if [ "$cap" = "yes" -a "$linux" = "yes" -a "$virtfs" = "yes" ] ; then
       tools="$tools fsdev/virtfs-proxy-helper\$(EXESUF)"
   fi
   if [ "$linux" = "yes" -o "$bsd" = "yes" -o "$solaris" = "yes" ] ; then
@@ -2874,6 +2881,7 @@ echo "Audio drivers     $audio_drv_list"
 echo "Extra audio cards $audio_card_list"
 echo "Block whitelist   $block_drv_whitelist"
 echo "Mixer emulation   $mixemu"
+echo "VirtFS support    $virtfs"
 echo "VNC support       $vnc"
 if test "$vnc" = "yes" ; then
     echo "VNC TLS support   $vnc_tls"
@@ -3164,8 +3172,10 @@ if test "$libattr" = "yes" ; then
   echo "CONFIG_LIBATTR=y" >> $config_host_mak
 fi
 if test "$linux" = "yes" ; then
-  if test "$attr" = "yes" ; then
-    echo "CONFIG_VIRTFS=y" >> $config_host_mak
+  if test "$virtfs" = "yes" ; then
+    if test "$attr" = "yes" ; then
+      echo "CONFIG_VIRTFS=y" >> $config_host_mak
+    fi
   fi
 fi
 if test "$blobs" = "yes" ; then
-- 
1.7.7.6

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

* Re: [Qemu-devel] [PATCH v1 0/1] Allow the building of VirtFS to be disabled
  2012-02-07 20:44 [Qemu-devel] [PATCH v1 0/1] Allow the building of VirtFS to be disabled Meador Inge
  2012-02-07 20:44 ` [Qemu-devel] [PATCH v1 1/1] ./configure: add option for disabling VirtFS Meador Inge
@ 2012-02-08  8:15 ` Aneesh Kumar K.V
  2012-02-08 10:14   ` Daniel P. Berrange
  2012-02-09 22:25   ` Meador Inge
  1 sibling, 2 replies; 7+ messages in thread
From: Aneesh Kumar K.V @ 2012-02-08  8:15 UTC (permalink / raw)
  To: Meador Inge, qemu-devel; +Cc: aliguori

On Tue, 7 Feb 2012 14:44:05 -0600, Meador Inge <meadori@codesourcery.com> wrote:
> There have been reports [1, 2] where folks have had issues building
> VirtFS and the virtio backend on older systems.  I personally saw
> problems due to the use of features (struct statfs f_frsize field,
> fdopendir, O_NOATIME) in this code that are not available on much older
> Linux systems.  Given, the system I ran into this on is ancient (RH8 sysroot),
> but I still need to build QEMU on it nonetheless.
> 
> This patch adds a new configure option for disabling the building of
> VirtFS all together.  Tested by building with and without --disable-virtfs
> on older (RH8 sysroot) and newer systems (x64 Fedora 16).
> 
> [1] http://lists.nongnu.org/archive/html/qemu-devel/2011-12/msg00171.html
> [2] http://lists.nongnu.org/archive/html/qemu-devel/2012-02/msg00404.html
> 
> Meador Inge (1):
>   ./configure: add option for disabling VirtFS
> 
>  Makefile  |    4 ++++
>  configure |   16 +++++++++++++---
>  2 files changed, 17 insertions(+), 3 deletions(-)

I like the patch because it help to get qemu build on platforms where
the build failures are only due to virtfs. VirtFS do depend on some of
the recent linux APIs, so sometime we do break build on old Linux
distros.

Anthony any objection here ?

-aneesh

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

* Re: [Qemu-devel] [PATCH v1 0/1] Allow the building of VirtFS to be disabled
  2012-02-08  8:15 ` [Qemu-devel] [PATCH v1 0/1] Allow the building of VirtFS to be disabled Aneesh Kumar K.V
@ 2012-02-08 10:14   ` Daniel P. Berrange
  2012-02-09 22:25   ` Meador Inge
  1 sibling, 0 replies; 7+ messages in thread
From: Daniel P. Berrange @ 2012-02-08 10:14 UTC (permalink / raw)
  To: Aneesh Kumar K.V; +Cc: aliguori, Meador Inge, qemu-devel

On Wed, Feb 08, 2012 at 01:45:15PM +0530, Aneesh Kumar K.V wrote:
> On Tue, 7 Feb 2012 14:44:05 -0600, Meador Inge <meadori@codesourcery.com> wrote:
> > There have been reports [1, 2] where folks have had issues building
> > VirtFS and the virtio backend on older systems.  I personally saw
> > problems due to the use of features (struct statfs f_frsize field,
> > fdopendir, O_NOATIME) in this code that are not available on much older
> > Linux systems.  Given, the system I ran into this on is ancient (RH8 sysroot),
> > but I still need to build QEMU on it nonetheless.

[snip]

> I like the patch because it help to get qemu build on platforms where
> the build failures are only due to virtfs. VirtFS do depend on some of
> the recent linux APIs, so sometime we do break build on old Linux
> distros.

Allowing build to be disabled is a fine goal in itself. I think someone
should still fix the code to be more portable though. f_frsize is a
non-standardized field in 'struct stat', so its usage should be made
conditional.

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

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

* Re: [Qemu-devel] [PATCH v1 0/1] Allow the building of VirtFS to be disabled
  2012-02-08  8:15 ` [Qemu-devel] [PATCH v1 0/1] Allow the building of VirtFS to be disabled Aneesh Kumar K.V
  2012-02-08 10:14   ` Daniel P. Berrange
@ 2012-02-09 22:25   ` Meador Inge
  1 sibling, 0 replies; 7+ messages in thread
From: Meador Inge @ 2012-02-09 22:25 UTC (permalink / raw)
  To: Aneesh Kumar K.V; +Cc: aliguori, qemu-devel

On 02/08/2012 02:15 AM, Aneesh Kumar K.V wrote:

> On Tue, 7 Feb 2012 14:44:05 -0600, Meador Inge <meadori@codesourcery.com> wrote:
>> There have been reports [1, 2] where folks have had issues building
>> VirtFS and the virtio backend on older systems.  I personally saw
>> problems due to the use of features (struct statfs f_frsize field,
>> fdopendir, O_NOATIME) in this code that are not available on much older
>> Linux systems.  Given, the system I ran into this on is ancient (RH8 sysroot),
>> but I still need to build QEMU on it nonetheless.
>>
>> This patch adds a new configure option for disabling the building of
>> VirtFS all together.  Tested by building with and without --disable-virtfs
>> on older (RH8 sysroot) and newer systems (x64 Fedora 16).
>>
>> [1] http://lists.nongnu.org/archive/html/qemu-devel/2011-12/msg00171.html
>> [2] http://lists.nongnu.org/archive/html/qemu-devel/2012-02/msg00404.html
>>
>> Meador Inge (1):
>>   ./configure: add option for disabling VirtFS
>>
>>  Makefile  |    4 ++++
>>  configure |   16 +++++++++++++---
>>  2 files changed, 17 insertions(+), 3 deletions(-)
> 
> I like the patch because it help to get qemu build on platforms where
> the build failures are only due to virtfs. VirtFS do depend on some of
> the recent linux APIs, so sometime we do break build on old Linux
> distros.

Great.  Thanks for the review.  Can someone commit this for me?

> Anthony any objection here ?
> 
> -aneesh
> 


-- 
Meador Inge
CodeSourcery / Mentor Embedded
http://www.mentor.com/embedded-software

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

* Re: [Qemu-devel] [PATCH v1 1/1] ./configure: add option for disabling VirtFS
  2012-02-07 20:44 ` [Qemu-devel] [PATCH v1 1/1] ./configure: add option for disabling VirtFS Meador Inge
@ 2012-02-09 22:39   ` Peter Maydell
  2012-02-10  0:49     ` Meador Inge
  0 siblings, 1 reply; 7+ messages in thread
From: Peter Maydell @ 2012-02-09 22:39 UTC (permalink / raw)
  To: Meador Inge; +Cc: aliguori, qemu-devel, aneesh.kumar

On 7 February 2012 20:44, Meador Inge <meadori@codesourcery.com> wrote:
> Signed-off-by: Meador Inge <meadori@codesourcery.com>
> ---
>  Makefile  |    4 ++++
>  configure |   16 +++++++++++++---
>  2 files changed, 17 insertions(+), 3 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index 47acf3d..030619c 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -40,7 +40,9 @@ HELPERS-$(CONFIG_LINUX) = qemu-bridge-helper$(EXESUF)
>
>  ifdef BUILD_DOCS
>  DOCS=qemu-doc.html qemu-tech.html qemu.1 qemu-img.1 qemu-nbd.8 QMP/qmp-commands.txt
> +ifdef CONFIG_VIRTFS
>  DOCS+=fsdev/virtfs-proxy-helper.1
> +endif
>  else
>  DOCS=
>  endif
> @@ -162,8 +164,10 @@ qemu-io$(EXESUF): qemu-io.o cmd.o $(tools-obj-y) $(block-obj-y)
>
>  qemu-bridge-helper$(EXESUF): qemu-bridge-helper.o
>
> +ifdef CONFIG_VIRTFS
>  fsdev/virtfs-proxy-helper$(EXESUF): fsdev/virtfs-proxy-helper.o fsdev/virtio-9p-marshal.o oslib-posix.o $(trace-obj-y)
>  fsdev/virtfs-proxy-helper$(EXESUF): LIBS += -lcap
> +endif

We don't need to make this conditional, we will just not put
the proxy-helper into TOOLS if we don't want to build it and
this dependency will be ignored.

>  qemu-img-cmds.h: $(SRC_PATH)/qemu-img-cmds.hx
>        $(call quiet-command,sh $(SRC_PATH)/scripts/hxtool -h < $< > $@,"  GEN   $@")
> diff --git a/configure b/configure
> index 763db24..081d720 100755
> --- a/configure
> +++ b/configure
> @@ -121,6 +121,7 @@ docs=""
>  fdt=""
>  nptl=""
>  sdl=""
> +virtfs="yes"
>  vnc="yes"
>  sparse="no"
>  uuid=""
> @@ -586,6 +587,10 @@ for opt do
>   ;;
>   --enable-sdl) sdl="yes"
>   ;;
> +  --disable-virtfs) virtfs="no"
> +  ;;
> +  --enable-virtfs) virtfs="yes"
> +  ;;
>   --disable-vnc) vnc="no"
>   ;;
>   --enable-vnc) vnc="yes"

This should be handled the same way as a number of other optional
components : default is "" meaning 'probe and use if possible'.
So you end up with a test like:

if test "$virtfs" != no; then
   if test "$cap" = yes && test "$linux" = yes && test "$attr" = yes; then
       virtfs=yes
       tools="$tools fsdev/virtfs-proxy-helper\$(EXESUF)"
   else
       if test "$virtfs" = yes; then
           feature_not_found "virtfs"
       fi
   fi
fi

and then later just
if test "$virtfs" = "yes" ; then
   echo "CONFIG_VIRTFS=y" >> $config_host_mak
fi

-- PMM

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

* Re: [Qemu-devel] [PATCH v1 1/1] ./configure: add option for disabling VirtFS
  2012-02-09 22:39   ` Peter Maydell
@ 2012-02-10  0:49     ` Meador Inge
  0 siblings, 0 replies; 7+ messages in thread
From: Meador Inge @ 2012-02-10  0:49 UTC (permalink / raw)
  To: Peter Maydell; +Cc: aliguori, qemu-devel, aneesh.kumar

On 02/09/2012 04:39 PM, Peter Maydell wrote:

> On 7 February 2012 20:44, Meador Inge <meadori@codesourcery.com> wrote:
>> Signed-off-by: Meador Inge <meadori@codesourcery.com>
>> ---
>>  Makefile  |    4 ++++
>>  configure |   16 +++++++++++++---
>>  2 files changed, 17 insertions(+), 3 deletions(-)
>>
>> diff --git a/Makefile b/Makefile
>> index 47acf3d..030619c 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -40,7 +40,9 @@ HELPERS-$(CONFIG_LINUX) = qemu-bridge-helper$(EXESUF)
>>
>>  ifdef BUILD_DOCS
>>  DOCS=qemu-doc.html qemu-tech.html qemu.1 qemu-img.1 qemu-nbd.8 QMP/qmp-commands.txt
>> +ifdef CONFIG_VIRTFS
>>  DOCS+=fsdev/virtfs-proxy-helper.1
>> +endif
>>  else
>>  DOCS=
>>  endif
>> @@ -162,8 +164,10 @@ qemu-io$(EXESUF): qemu-io.o cmd.o $(tools-obj-y) $(block-obj-y)
>>
>>  qemu-bridge-helper$(EXESUF): qemu-bridge-helper.o
>>
>> +ifdef CONFIG_VIRTFS
>>  fsdev/virtfs-proxy-helper$(EXESUF): fsdev/virtfs-proxy-helper.o fsdev/virtio-9p-marshal.o oslib-posix.o $(trace-obj-y)
>>  fsdev/virtfs-proxy-helper$(EXESUF): LIBS += -lcap
>> +endif
> 
> We don't need to make this conditional, we will just not put
> the proxy-helper into TOOLS if we don't want to build it and
> this dependency will be ignored.

Fixed.

>>  qemu-img-cmds.h: $(SRC_PATH)/qemu-img-cmds.hx
>>        $(call quiet-command,sh $(SRC_PATH)/scripts/hxtool -h < $< > $@,"  GEN   $@")
>> diff --git a/configure b/configure
>> index 763db24..081d720 100755
>> --- a/configure
>> +++ b/configure
>> @@ -121,6 +121,7 @@ docs=""
>>  fdt=""
>>  nptl=""
>>  sdl=""
>> +virtfs="yes"
>>  vnc="yes"
>>  sparse="no"
>>  uuid=""
>> @@ -586,6 +587,10 @@ for opt do
>>   ;;
>>   --enable-sdl) sdl="yes"
>>   ;;
>> +  --disable-virtfs) virtfs="no"
>> +  ;;
>> +  --enable-virtfs) virtfs="yes"
>> +  ;;
>>   --disable-vnc) vnc="no"
>>   ;;
>>   --enable-vnc) vnc="yes"
> 
> This should be handled the same way as a number of other optional
> components : default is "" meaning 'probe and use if possible'.
> So you end up with a test like:
> 
> if test "$virtfs" != no; then
>    if test "$cap" = yes && test "$linux" = yes && test "$attr" = yes; then
>        virtfs=yes
>        tools="$tools fsdev/virtfs-proxy-helper\$(EXESUF)"
>    else
>        if test "$virtfs" = yes; then
>            feature_not_found "virtfs"
>        fi
>    fi
> fi
> 
> and then later just
> if test "$virtfs" = "yes" ; then
>    echo "CONFIG_VIRTFS=y" >> $config_host_mak
> fi

That's much cleaner.  Thanks for the review.

v2 patch coming up soon.

-- 
Meador Inge
CodeSourcery / Mentor Embedded
http://www.mentor.com/embedded-software

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

end of thread, other threads:[~2012-02-10  0:49 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-02-07 20:44 [Qemu-devel] [PATCH v1 0/1] Allow the building of VirtFS to be disabled Meador Inge
2012-02-07 20:44 ` [Qemu-devel] [PATCH v1 1/1] ./configure: add option for disabling VirtFS Meador Inge
2012-02-09 22:39   ` Peter Maydell
2012-02-10  0:49     ` Meador Inge
2012-02-08  8:15 ` [Qemu-devel] [PATCH v1 0/1] Allow the building of VirtFS to be disabled Aneesh Kumar K.V
2012-02-08 10:14   ` Daniel P. Berrange
2012-02-09 22:25   ` Meador Inge

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.