X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=libcfs%2Fautoconf%2Flustre-libcfs.m4;h=f34af72ccd09da8c70e72f4f2ab47f238cf39e25;hp=9f7230544fa951f10a4c542fada57ae333518167;hb=d93aa0171a25f8ffca51bed35a2d477a45fda0f3;hpb=9b8e8e0e54e5055c02469cb16d186c94fa2040e0 diff --git a/libcfs/autoconf/lustre-libcfs.m4 b/libcfs/autoconf/lustre-libcfs.m4 index 9f72305..f34af72 100644 --- a/libcfs/autoconf/lustre-libcfs.m4 +++ b/libcfs/autoconf/lustre-libcfs.m4 @@ -404,6 +404,28 @@ shrinker_count_objects, [ ]) # LIBCFS_SHRINKER_COUNT # +# LIBCFS_IOV_ITER_HAS_TYPE +# +# kernel 3.15-rc4 commit 71d8e532b1549a478e6a6a8a44f309d050294d00 +# start adding the tag to iov_iter +# +AC_DEFUN([LIBCFS_IOV_ITER_HAS_TYPE], [ +tmp_flags="$EXTRA_KCFLAGS" +EXTRA_KCFLAGS="-Werror" +LB_CHECK_COMPILE([if iov_iter has member type], +iov_iter_has_type_member, [ + #include +],[ + struct iov_iter iter = { .type = ITER_KVEC }; + (void)iter; +],[ + AC_DEFINE(HAVE_IOV_ITER_HAS_TYPE_MEMBER, 1, + [if iov_iter has member type]) +]) +EXTRA_KCFLAGS="$tmp_flags" +]) # LIBCFS_IOV_ITER_HAS_TYPE + +# # Kernel version 3.17 changed hlist_add_after to # hlist_add_behind # @@ -1214,6 +1236,29 @@ clear_and_wake_up_bit, [ ]) # LIBCFS_CLEAR_AND_WAKE_UP_BIT # +# LIBCFS_HAVE_IOV_ITER_TYPE +# +# kernel 4.20 commit 00e23707442a75b404392cef1405ab4fd498de6b +# iov_iter: Use accessor functions to access an iterator's type and direction. +# +AC_DEFUN([LIBCFS_HAVE_IOV_ITER_TYPE], [ +tmp_flags="$EXTRA_KCFLAGS" +EXTRA_KCFLAGS="-Werror" +LB_CHECK_COMPILE([if iov_iter_type exists], +macro_iov_iter_type_exists, [ + #include +],[ + struct iov_iter iter = { .type = ITER_KVEC }; + enum iter_type type = iov_iter_type(&iter); + (void)type; +],[ + AC_DEFINE(HAVE_IOV_ITER_TYPE, 1, + [if iov_iter_type exists]) +]) +EXTRA_KCFLAGS="$tmp_flags" +]) # LIBCFS_HAVE_IOV_ITER_TYPE + +# # LIBCFS_PROG_LINUX # # LibCFS linux kernel checks @@ -1256,6 +1301,8 @@ LIBCFS_KTIME_AFTER LIBCFS_KTIME_BEFORE LIBCFS_KTIME_COMPARE LIBCFS_SHRINKER_COUNT +# 3.15 +LIBCFS_IOV_ITER_HAS_TYPE # 3.17 LIBCFS_HLIST_ADD_AFTER LIBCFS_TIMESPEC64 @@ -1320,6 +1367,8 @@ LIBCFS_TIMER_SETUP LIBCFS_WAIT_VAR_EVENT # 4.17 LIBCFS_CLEAR_AND_WAKE_UP_BIT +# 4.20 +LIBCFS_HAVE_IOV_ITER_TYPE # 5.0 LIBCFS_MM_TOTALRAM_PAGES_FUNC ]) # LIBCFS_PROG_LINUX