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

Jim Meyering jim at meyering.net
Mon May 17 14:25:43 UTC 2010


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
 # 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
--
1.7.1.250.g7d1e8




More information about the libvir-list mailing list