Whamcloud - gitweb
fix patchless client build breakage with vanila 2.6.19 kernel.
[fs/lustre-release.git] / lustre / autoconf / lustre-core.m4
index bae9bca..f9ee3a8 100644 (file)
@@ -448,6 +448,23 @@ LB_LINUX_TRY_COMPILE([
 ])
 ])
 
+#
+# LC_READLINK_SSIZE_T
+#
+AC_DEFUN([LC_READLINK_SSIZE_T],
+[AC_MSG_CHECKING([if readlink returns ssize_t])
+AC_TRY_COMPILE([
+       #include <unistd.h>
+],[
+       ssize_t readlink(const char *, char *, size_t);
+],[
+       AC_MSG_RESULT([yes])
+       AC_DEFINE(HAVE_POSIX_1003_READLINK, 1, [readlink returns ssize_t])
+],[
+       AC_MSG_RESULT([no])
+])
+])
+
 AC_DEFUN([LC_FUNC_PAGE_MAPPED],
 [AC_MSG_CHECKING([if kernel offers page_mapped])
 LB_LINUX_TRY_COMPILE([
@@ -987,6 +1004,26 @@ LB_LINUX_TRY_COMPILE([
 ])
 ])
 
+# LC_WB_RANGE_START
+# 2.6.20 rename struct writeback fields
+AC_DEFUN([LC_WB_RANGE_START],
+[AC_MSG_CHECKING([kernel has range_start in struct writeback_control])
+LB_LINUX_TRY_COMPILE([
+        #include <linux/fs.h>
+        #include <linux/sched.h>
+        #include <linux/writeback.h>
+],[
+        struct writeback_control wb;
+
+        wb.range_start = 0;
+],[
+        AC_MSG_RESULT(yes)
+        AC_DEFINE(HAVE_WB_RANGE_START, 1,
+                  [writeback control has range_start field])
+],[
+        AC_MSG_RESULT(NO)
+])
+])
 
 #
 # LC_PROG_LINUX
@@ -1043,6 +1080,7 @@ LC_STATFS_DENTRY_PARAM
 LC_VFS_KERN_MOUNT
 LC_INVALIDATEPAGE_RETURN_INT
 LC_UMOUNTBEGIN_HAS_VFSMOUNT
+LC_WB_RANGE_START
 
 # 2.6.19
 LC_INODE_BLKSIZE
@@ -1194,6 +1232,9 @@ AC_CHECK_HEADERS([linux/types.h sys/types.h linux/unistd.h unistd.h])
 AC_CHECK_HEADERS([netinet/in.h arpa/inet.h catamount/data.h])
 AC_CHECK_FUNCS([inet_ntoa])
 
+# libsysio/src/readlink.c
+LC_READLINK_SSIZE_T
+
 # utils/llverfs.c
 AC_CHECK_HEADERS([ext2fs/ext2fs.h])