From 29d627f860bc1963f2103ea441577dbd18d71344 Mon Sep 17 00:00:00 2001 From: Andreas Dilger Date: Fri, 14 Dec 2018 15:43:41 -0700 Subject: [PATCH] LU-8130 libcfs: don't include rhashtable if unavailable Don't include if it is not available. Test-Parameters: trivial Signed-off-by: Andreas Dilger Change-Id: I80b2ee63fb2a438399359f8052a5063429dd6506 Reviewed-on: https://review.whamcloud.com/34020 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: James Simmons Reviewed-by: Ben Evans Reviewed-by: Patrick Farrell Reviewed-by: Oleg Drokin --- libcfs/autoconf/lustre-libcfs.m4 | 12 ++++++++++++ libcfs/include/libcfs/linux/linux-hash.h | 4 +++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/libcfs/autoconf/lustre-libcfs.m4 b/libcfs/autoconf/lustre-libcfs.m4 index d437331..7c553ff 100644 --- a/libcfs/autoconf/lustre-libcfs.m4 +++ b/libcfs/autoconf/lustre-libcfs.m4 @@ -405,6 +405,16 @@ shrinker_count_objects, [ ]) # LIBCFS_SHRINKER_COUNT # +# Kernel version 3.16 added rhashtable.h in 7e1e77636e36075eb +# +AC_DEFUN([LIBCFS_LINUX_RHASHTABLE_H],[ +LB_CHECK_LINUX_HEADER([linux/rhashtable.h], [ + AC_DEFINE(HAVE_LINUX_RHASHTABLE_H, 1, + [linux/rhashtable.h is present]) +]) +]) # LIBCFS_LINUX_RHASHTABLE_H + +# # Kernel version 3.17 changed hlist_add_after to # hlist_add_behind # @@ -969,6 +979,8 @@ LIBCFS_KTIME_AFTER LIBCFS_KTIME_BEFORE LIBCFS_KTIME_COMPARE LIBCFS_SHRINKER_COUNT +# 3.16 +LIBCFS_LINUX_RHASHTABLE_H # 3.17 LIBCFS_HLIST_ADD_AFTER LIBCFS_TIMESPEC64 diff --git a/libcfs/include/libcfs/linux/linux-hash.h b/libcfs/include/libcfs/linux/linux-hash.h index 1227ec8..4f6df47 100644 --- a/libcfs/include/libcfs/linux/linux-hash.h +++ b/libcfs/include/libcfs/linux/linux-hash.h @@ -24,7 +24,6 @@ #define __LIBCFS_LINUX_HASH_H__ #include -#include u64 cfs_hashlen_string(const void *salt, const char *name); @@ -38,6 +37,8 @@ u64 cfs_hashlen_string(const void *salt, const char *name); #endif #endif /* !HAVE_STRINGHASH */ +#ifdef HAVE_LINUX_RHASHTABLE_H +#include #ifndef HAVE_RHASHTABLE_LOOKUP_GET_INSERT_FAST /** * rhashtable_lookup_get_insert_fast - lookup and insert object into hash table @@ -73,5 +74,6 @@ static inline void *rhashtable_lookup_get_insert_fast( return ret; } #endif /* !HAVE_RHASHTABLE_LOOKUP_GET_INSERT_FAST */ +#endif /* HAVE_LINUX_RHASHTABLE_H */ #endif /* __LIBCFS_LINUX_MISC_H__ */ -- 1.8.3.1