X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=libcfs%2Fautoconf%2Flustre-libcfs.m4;h=90bb1c10e4bc1960a7f79d121690809d4106c425;hp=dba971d9c8024d53da19949b8bc840b969ddf8bd;hb=5655ee76f5c7573c9ad076a92df6388f27b65196;hpb=cf5b4ff87e7494fbc551ebd2c05d8ee5137dbcd9 diff --git a/libcfs/autoconf/lustre-libcfs.m4 b/libcfs/autoconf/lustre-libcfs.m4 index dba971d..90bb1c1 100644 --- a/libcfs/autoconf/lustre-libcfs.m4 +++ b/libcfs/autoconf/lustre-libcfs.m4 @@ -49,28 +49,6 @@ AS_IF([test "x$enable_panic_dumplog" = xyes], ]) # LIBCFS_CONFIG_PANIC_DUMPLOG # -# LIBCFS_U64_LONG_LONG_LINUX -# -# check kernel __u64 type -# -AC_DEFUN([LIBCFS_U64_LONG_LONG_LINUX], [ -tmp_flags="$EXTRA_KCFLAGS" -EXTRA_KCFLAGS="$EXTRA_KCFLAGS -Werror" -LB_CHECK_COMPILE([if Linux kernel '__u64' is 'long long' type], -kernel_u64_long_long, [ - #include - #include -],[ - unsigned long long *data; - data = (__u64*)sizeof(data); -],[ - AC_DEFINE(HAVE_KERN__U64_LONG_LONG, 1, - [Linux kernel __u64 is long long type]) -]) -EXTRA_KCFLAGS="$tmp_flags" -]) # LIBCFS_U64_LONG_LONG_LINUX - -# # LIBCFS_STACKTRACE_OPS_HAVE_WALK_STACK # # 2.6.32-30.el6 adds a new 'walk_stack' field in 'struct stacktrace_ops' @@ -219,7 +197,7 @@ shrink_control, [ # # LIBCFS_PROCESS_NAMESPACE # -# 3.4 introduced process namespace +# 3.5 introduced process namespace AC_DEFUN([LIBCFS_PROCESS_NAMESPACE], [ LB_CHECK_LINUX_HEADER([linux/uidgid.h], [ AC_DEFINE(HAVE_UIDGID_HEADER, 1, @@ -227,6 +205,23 @@ LB_CHECK_LINUX_HEADER([linux/uidgid.h], [ ]) # LIBCFS_PROCESS_NAMESPACE # +# LIBCFS_I_UID_READ +# +# 3.5 added helpers to read the new uid/gid types from VFS structures +# SLE11 SP3 has uidgid.h but not the helpers +# +AC_DEFUN([LIBCFS_I_UID_READ], [ +LB_CHECK_COMPILE([if 'i_uid_read' is present], +i_uid_read, [ + #include +],[ + i_uid_read(NULL); +],[ + AC_DEFINE(HAVE_I_UID_READ, 1, [i_uid_read is present]) +]) +]) # LIBCFS_I_UID_READ + +# # LIBCFS_SOCK_ALLOC_FILE # # FC18 3.7.2-201 unexport sock_map_fd() change to @@ -290,6 +285,22 @@ No crc32c pclmulqdq crypto api found, enable internal pclmulqdq based crc32c ]) # LIBCFS_ENABLE_CRC32C_ACCEL # +# FC19 3.12 kernel struct shrinker change +# +AC_DEFUN([LIBCFS_SHRINKER_COUNT],[ +LB_CHECK_COMPILE([shrinker has 'count_objects'], +shrinker_count_objects, [ + #include + #include +],[ + ((struct shrinker*)0)->count_objects(NULL, NULL); +],[ + AC_DEFINE(HAVE_SHRINKER_COUNT, 1, + [shrinker has count_objects memeber]) +]) +]) + +# # LIBCFS_PROG_LINUX # # LibCFS linux kernel checks @@ -299,7 +310,6 @@ AC_MSG_NOTICE([LibCFS kernel checks ==============================================================================]) LIBCFS_CONFIG_PANIC_DUMPLOG -LIBCFS_U64_LONG_LONG_LINUX # 2.6.32 LIBCFS_STACKTRACE_OPS_HAVE_WALK_STACK LC_SHRINKER_WANT_SHRINK_PTR @@ -315,8 +325,9 @@ LIBCFS_DUMP_TRACE_ADDRESS LC_SHRINK_CONTROL # 3.0 LIBCFS_STACKTRACE_WARNING -# 3.4 +# 3.5 LIBCFS_PROCESS_NAMESPACE +LIBCFS_I_UID_READ # 3.7 LIBCFS_SOCK_ALLOC_FILE # 3.8 @@ -324,18 +335,11 @@ LIBCFS_HAVE_CRC32 LIBCFS_ENABLE_CRC32_ACCEL # 3.10 LIBCFS_ENABLE_CRC32C_ACCEL +# 3.12 +LIBCFS_SHRINKER_COUNT ]) # LIBCFS_PROG_LINUX # -# LIBCFS_PROG_DARWIN -# -# Darwin checks -# -AC_DEFUN([LIBCFS_PROG_DARWIN], [ -LB_DARWIN_CHECK_FUNCS([get_preemption_level]) -]) # LIBCFS_PROG_DARWIN - -# # LIBCFS_PATH_DEFAULTS # # default paths for installed files @@ -372,76 +376,6 @@ AC_CHECK_FUNCS([strlcpy]) # libcfs/libcfs/user-prim.c, missing for RHEL5 and earlier userspace AC_CHECK_FUNCS([strlcat]) -AC_CHECK_TYPE([umode_t], - [AC_DEFINE(HAVE_UMODE_T, 1, [umode_t is defined])], - [], - [#include ]) - -AC_CHECK_TYPE([__s8], - [AC_DEFINE(HAVE___S8, 1, [__s8 is defined])], - [], - [#include ]) - -AC_CHECK_TYPE([__u8], - [AC_DEFINE(HAVE___U8, 1, [__u8 is defined])], - [], - [#include ]) - -AC_CHECK_TYPE([__s16], - [AC_DEFINE(HAVE___S16, 1, [__s16 is defined])], - [], - [#include ]) - -AC_CHECK_TYPE([__u16], - [AC_DEFINE(HAVE___U16, 1, [__u16 is defined])], - [], - [#include ]) - -AC_CHECK_TYPE([__s32], - [AC_DEFINE(HAVE___S32, 1, [__s32 is defined])], - [], - [#include ]) - -AC_CHECK_TYPE([__u32], - [AC_DEFINE(HAVE___U32, 1, [__u32 is defined])], - [], - [#include ]) - -AC_CHECK_TYPE([__u64], - [AC_DEFINE(HAVE___U64, 1, [__u64 is defined])], - [], - [#include ]) - -AC_CHECK_TYPE([__s64], - [AC_DEFINE(HAVE___S64, 1, [__s64 is defined])], - [], - [#include ]) - -# check userland __u64 type -tmp_flags="$CFLAGS" -CFLAGS="$CFLAGS -Werror" -AC_CACHE_CHECK([if userspace '__u64' is 'long long' type], -lb_cv_compile_userspace_u64_long_long, [ -AC_COMPILE_IFELSE([AC_LANG_SOURCE([ - #include - #include - #include - int main(void) { - unsigned long long *data1; - __u64 *data2 = NULL; - data1 = data2; - data2 = data1; - return 0; - } -])], - [lb_cv_compile_userspace_u64_long_long="yes"], - [lb_cv_compile_userspace_u64_long_long="no"]) -]) -CFLAGS="$tmp_flags" -AS_IF([test "x$lb_cv_compile_userspace_u64_long_long" = xyes], - [AC_DEFINE(HAVE_USER__U64_LONG_LONG, 1, - [__u64 is long long type])]) - # -------- Check for required packages -------------- AC_MSG_NOTICE([LibCFS required packages checks @@ -517,7 +451,5 @@ libcfs/libcfs/autoMakefile libcfs/libcfs/linux/Makefile libcfs/libcfs/posix/Makefile libcfs/libcfs/util/Makefile -libcfs/include/libcfs/darwin/Makefile -libcfs/libcfs/darwin/Makefile ]) ]) # LIBCFS_CONFIG_FILES