Whamcloud - gitweb
Branch b1_8
authoryangsheng <yangsheng>
Sat, 21 Nov 2009 15:33:17 +0000 (15:33 +0000)
committeryangsheng <yangsheng>
Sat, 21 Nov 2009 15:33:17 +0000 (15:33 +0000)
b=21375

i=brian, johann

Config check for FS_HAS_FIEMAP separately. It only exist in RHEL5.4.

lustre/autoconf/lustre-core.m4
lustre/obdclass/obd_mount.c

index 20e30bb..a6abfca 100644 (file)
@@ -1353,6 +1353,21 @@ AC_DEFUN([LC_LINUX_FIEMAP_H],
 [])
 ])
 
+# is FS_HAS_FIEMAP defined?
+AC_DEFUN([LC_LINUX_FS_HAS_FIEMAP],
+[AC_MSG_CHECKING([if kernel has FS_HAS_FIEMAP])
+LB_LINUX_TRY_COMPILE([
+        #include <linux/fs.h>
+],[
+        int flag = FS_HAS_FIEMAP;
+],[
+        AC_MSG_RESULT([yes])
+        AC_DEFINE(HAVE_FS_HAS_FIEMAP, 1, [kernel has FS_HAS_FIEMAP])
+],[
+        AC_MSG_RESULT([no])
+])
+])
+
 #2.6.27
 AC_DEFUN([LC_INODE_PERMISION_2ARGS],
 [AC_MSG_CHECKING([inode_operations->permission have two args])
@@ -1772,6 +1787,7 @@ AC_DEFUN([LC_PROG_LINUX],
           LC_PG_FS_MISC
           LC_PAGE_CHECKED
           LC_LINUX_FIEMAP_H
+          LC_LINUX_FS_HAS_FIEMAP
 
           # 2.6.19
           LC_INODE_BLKSIZE
index e3a37ee..c5c796e 100644 (file)
@@ -2100,7 +2100,7 @@ struct file_system_type lustre_fs_type = {
         .get_sb       = lustre_get_sb,
         .kill_sb      = lustre_kill_super,
         .fs_flags     = FS_BINARY_MOUNTDATA | FS_REQUIRES_DEV |
-#ifdef HAVE_LINUX_FIEMAP_H
+#ifdef HAVE_FS_HAS_FIEMAP
                         FS_HAS_FIEMAP |
 #endif
                         LL_RENAME_DOES_D_MOVE,