[libvirt] [PATCH] build: avoid compile failure on linux kernels older than 2.6.19

Daniel P. Berrange berrange at redhat.com
Mon May 17 14:55:44 UTC 2010


On Mon, May 17, 2010 at 04:25:43PM +0200, Jim Meyering wrote:
> This is required for any kernel prior to 2.6.19,
> since <linux/magic.h> didn't exist back then.
> Now that file is provided by the kernel-headers package.
> 
> >From d14ef1669968ffeb65076b007e318934ed99aa61 Mon Sep 17 00:00:00 2001
> From: Jim Meyering <meyering at redhat.com>
> Date: Mon, 17 May 2010 16:17:08 +0200
> Subject: [PATCH] build: avoid compile failure on linux kernels older than 2.6.19
> 
> * configure.ac: Check for <linux/magic.h>.
> * src/util/storage_file.c: Include <linux/magic.h> only if present.
> Linux kernels prior to 2.6.19 lacked it.
> [__linux__] (NFS_SUPER_MAGIC): Define if not already defined.
> ---
>  configure.ac            |    2 +-
>  src/util/storage_file.c |    7 ++++++-
>  2 files changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/configure.ac b/configure.ac
> index c187420..ebd2082 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -108,7 +108,7 @@ LIBS=$old_libs
> 
>  dnl Availability of various common headers (non-fatal if missing).
>  AC_CHECK_HEADERS([pwd.h paths.h regex.h sys/syslimits.h \
> -  termios.h sys/poll.h syslog.h mntent.h net/ethernet.h])
> +  termios.h sys/poll.h syslog.h mntent.h net/ethernet.h linux/magic.h])
> 
>  dnl Where are the XDR functions?
>  dnl If portablexdr is installed, prefer that.
> diff --git a/src/util/storage_file.c b/src/util/storage_file.c
> index 5f15a64..a07bedc 100644
> --- a/src/util/storage_file.c
> +++ b/src/util/storage_file.c
> @@ -27,7 +27,9 @@
>  #include <unistd.h>
>  #include <fcntl.h>
>  #ifdef __linux__
> -# include <linux/magic.h>
> +# if HAVE_LINUX_MAGIC_H
> +#  include <linux/magic.h>
> +# endif

Don't bother with this - just kill this include off completely. It is a
waste of time using it if we can't rely on it existing & have to re-define 
everything ourselves.

>  # include <sys/statfs.h>
>  #endif
>  #include "dirname.h"
> @@ -416,6 +418,9 @@ virStorageFileGetMetadata(const char *path,
> 
>  #ifdef __linux__
> 
> +# ifndef NFS_SUPER_MAGIC
> +#  define NFS_SUPER_MAGIC 0x6969
> +# endif
>  # ifndef OCFS2_SUPER_MAGIC
>  #  define OCFS2_SUPER_MAGIC 0x7461636f
>  # endif



Daniel
-- 
|: Red Hat, Engineering, London    -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org -o- http://virt-manager.org -o- http://deltacloud.org :|
|: http://autobuild.org        -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|




More information about the libvir-list mailing list