]> git.proxmox.com Git - mirror_spl-debian.git/blobdiff - configure
Fix debian-watch-uses-insecure-uri.
[mirror_spl-debian.git] / configure
index 593c28c3c4793ee4c38010f24a25a8a7a202b1ac..7621ac419bf56895cf5010bcb3fc977c64117a6a 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.63 for spl 0.7.5.
+# Generated by GNU Autoconf 2.63 for spl 0.7.11.
 #
 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
 # 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 #
 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
 # 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
@@ -743,8 +743,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
 # Identity of this package.
 PACKAGE_NAME='spl'
 PACKAGE_TARNAME='spl'
 # Identity of this package.
 PACKAGE_NAME='spl'
 PACKAGE_TARNAME='spl'
-PACKAGE_VERSION='0.7.5'
-PACKAGE_STRING='spl 0.7.5'
+PACKAGE_VERSION='0.7.11'
+PACKAGE_STRING='spl 0.7.11'
 PACKAGE_BUGREPORT=''
 
 # Factoring default headers for most tests.
 PACKAGE_BUGREPORT=''
 
 # Factoring default headers for most tests.
@@ -787,14 +787,14 @@ ac_subst_vars='am__EXEEXT_FALSE
 am__EXEEXT_TRUE
 LTLIBOBJS
 LIBOBJS
 am__EXEEXT_TRUE
 LTLIBOBJS
 LIBOBJS
-CONFIG_KERNEL_FALSE
-CONFIG_KERNEL_TRUE
-CONFIG_USER_FALSE
-CONFIG_USER_TRUE
 DEBUG_KMEM_TRACKING
 DEBUG_KMEM
 DEBUG_SPL
 DEBUG_CFLAGS
 DEBUG_KMEM_TRACKING
 DEBUG_KMEM
 DEBUG_SPL
 DEBUG_CFLAGS
+CONFIG_KERNEL_FALSE
+CONFIG_KERNEL_TRUE
+CONFIG_USER_FALSE
+CONFIG_USER_TRUE
 KERNELCPPFLAGS
 KERNELMAKE_PARAMS
 LINUX_SYMBOLS
 KERNELCPPFLAGS
 KERNELMAKE_PARAMS
 LINUX_SYMBOLS
@@ -969,10 +969,10 @@ with_config
 enable_linux_builtin
 with_linux
 with_linux_obj
 enable_linux_builtin
 with_linux
 with_linux_obj
+enable_atomic_spinlocks
 enable_debug
 enable_debug_kmem
 enable_debug_kmem_tracking
 enable_debug
 enable_debug_kmem
 enable_debug_kmem_tracking
-enable_atomic_spinlocks
 '
       ac_precious_vars='build_alias
 host_alias
 '
       ac_precious_vars='build_alias
 host_alias
@@ -1535,7 +1535,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures spl 0.7.5 to adapt to many kinds of systems.
+\`configure' configures spl 0.7.11 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1606,7 +1606,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of spl 0.7.5:";;
+     short | recursive ) echo "Configuration of spl 0.7.11:";;
    esac
   cat <<\_ACEOF
 
    esac
   cat <<\_ACEOF
 
@@ -1627,12 +1627,12 @@ Optional Features:
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-linux-builtin  Configure for builtin in-tree kernel modules
                           [default=no]
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-linux-builtin  Configure for builtin in-tree kernel modules
                           [default=no]
+  --enable-atomic-spinlocks
+                          Atomic types use spinlocks [default=check]
   --enable-debug          Enable generic debug support [default=no]
   --enable-debug-kmem     Enable basic kmem accounting [default=no]
   --enable-debug-kmem-tracking
                           Enable detailed kmem tracking [default=no]
   --enable-debug          Enable generic debug support [default=no]
   --enable-debug-kmem     Enable basic kmem accounting [default=no]
   --enable-debug-kmem-tracking
                           Enable detailed kmem tracking [default=no]
-  --enable-atomic-spinlocks
-                          Atomic types use spinlocks [default=check]
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
@@ -1720,7 +1720,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-spl configure 0.7.5
+spl configure 0.7.11
 generated by GNU Autoconf 2.63
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
 generated by GNU Autoconf 2.63
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1734,7 +1734,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by spl $as_me 0.7.5, which was
+It was created by spl $as_me 0.7.11, which was
 generated by GNU Autoconf 2.63.  Invocation command line was
 
   $ $0 $@
 generated by GNU Autoconf 2.63.  Invocation command line was
 
   $ $0 $@
@@ -2888,7 +2888,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='spl'
 
 # Define the identity of the package.
  PACKAGE='spl'
- VERSION='0.7.5'
+ VERSION='0.7.11'
 
 
 cat >>confdefs.h <<_ACEOF
 
 
 cat >>confdefs.h <<_ACEOF
@@ -11562,9 +11562,12 @@ $as_echo "$HAVE_RPMBUILD" >&6; }
 fi
 
 
 fi
 
 
-       RPM_DEFINE_COMMON='--define "$(DEBUG_SPL) 1" --define "$(DEBUG_KMEM) 1" --define "$(DEBUG_KMEM_TRACKING) 1"'
+       RPM_DEFINE_COMMON='--define "$(DEBUG_SPL) 1"'
+       RPM_DEFINE_COMMON+=' --define "$(DEBUG_KMEM) 1"'
+       RPM_DEFINE_COMMON+=' --define "$(DEBUG_KMEM_TRACKING) 1"'
        RPM_DEFINE_UTIL=
        RPM_DEFINE_KMOD='--define "kernels $(LINUX_VERSION)"'
        RPM_DEFINE_UTIL=
        RPM_DEFINE_KMOD='--define "kernels $(LINUX_VERSION)"'
+       RPM_DEFINE_KMOD+=' --define "_wrong_version_format_terminate_build 0"'
        RPM_DEFINE_DKMS=
 
        SRPM_DEFINE_COMMON='--define "build_src_rpm 1"'
        RPM_DEFINE_DKMS=
 
        SRPM_DEFINE_COMMON='--define "build_src_rpm 1"'
@@ -11872,101 +11875,6 @@ $as_echo "$LINUX_SYMBOLS" >&6; }
        KERNELCPPFLAGS="$KERNELCPPFLAGS -Wstrict-prototypes"
 
 
        KERNELCPPFLAGS="$KERNELCPPFLAGS -Wstrict-prototypes"
 
 
-
-       { $as_echo "$as_me:$LINENO: checking whether debugging is enabled" >&5
-$as_echo_n "checking whether debugging is enabled... " >&6; }
-       # Check whether --enable-debug was given.
-if test "${enable_debug+set}" = set; then
-  enableval=$enable_debug;
-else
-  enable_debug=no
-fi
-
-
-       if test "x$enable_debug" = xyes; then
-
-               KERNELCPPFLAGS="${KERNELCPPFLAGS} -DDEBUG -Werror"
-               DEBUG_CFLAGS="-DDEBUG -Werror"
-               DEBUG_SPL="_with_debug"
-
-else
-
-               KERNELCPPFLAGS="${KERNELCPPFLAGS} -DNDEBUG"
-               DEBUG_CFLAGS="-DNDEBUG"
-               DEBUG_SPL="_without_debug"
-
-fi
-
-
-
-
-       { $as_echo "$as_me:$LINENO: result: $enable_debug" >&5
-$as_echo "$enable_debug" >&6; }
-
-
-       # Check whether --enable-debug-kmem was given.
-if test "${enable_debug_kmem+set}" = set; then
-  enableval=$enable_debug_kmem;
-else
-  enable_debug_kmem=no
-fi
-
-
-       if test "x$enable_debug_kmem" = xyes; then
-
-               KERNELCPPFLAGS="${KERNELCPPFLAGS} -DDEBUG_KMEM"
-               DEBUG_KMEM="_with_debug_kmem"
-
-cat >>confdefs.h <<\_ACEOF
-#define DEBUG_KMEM 1
-_ACEOF
-
-
-else
-
-               DEBUG_KMEM="_without_debug_kmem"
-
-fi
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether basic kmem accounting is enabled" >&5
-$as_echo_n "checking whether basic kmem accounting is enabled... " >&6; }
-       { $as_echo "$as_me:$LINENO: result: $enable_debug_kmem" >&5
-$as_echo "$enable_debug_kmem" >&6; }
-
-
-       # Check whether --enable-debug-kmem-tracking was given.
-if test "${enable_debug_kmem_tracking+set}" = set; then
-  enableval=$enable_debug_kmem_tracking;
-else
-  enable_debug_kmem_tracking=no
-fi
-
-
-       if test "x$enable_debug_kmem_tracking" = xyes; then
-
-               KERNELCPPFLAGS="${KERNELCPPFLAGS} -DDEBUG_KMEM_TRACKING"
-               DEBUG_KMEM_TRACKING="_with_debug_kmem_tracking"
-
-cat >>confdefs.h <<\_ACEOF
-#define DEBUG_KMEM_TRACKING 1
-_ACEOF
-
-
-else
-
-               DEBUG_KMEM_TRACKING="_without_debug_kmem_tracking"
-
-fi
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether detailed kmem tracking is enabled" >&5
-$as_echo_n "checking whether detailed kmem tracking is enabled... " >&6; }
-       { $as_echo "$as_me:$LINENO: result: $enable_debug_kmem_tracking" >&5
-$as_echo "$enable_debug_kmem_tracking" >&6; }
-
        { $as_echo "$as_me:$LINENO: checking whether modules can be built" >&5
 $as_echo_n "checking whether modules can be built... " >&6; }
 
        { $as_echo "$as_me:$LINENO: checking whether modules can be built" >&5
 $as_echo_n "checking whether modules can be built... " >&6; }
 
@@ -12915,8 +12823,9 @@ fi
 
        EXTRA_KCFLAGS="$tmp_flags"
 
 
        EXTRA_KCFLAGS="$tmp_flags"
 
-       { $as_echo "$as_me:$LINENO: checking whether vfs_unlink() wants 2 args" >&5
-$as_echo_n "checking whether vfs_unlink() wants 2 args... " >&6; }
+
+       { $as_echo "$as_me:$LINENO: checking whether vfs_fsync() wants 2 args" >&5
+$as_echo_n "checking whether vfs_fsync() wants 2 args... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -12933,7 +12842,7 @@ int
 main (void)
 {
 
 main (void)
 {
 
-               vfs_unlink((struct inode *) NULL, (struct dentry *) NULL);
+               vfs_fsync(NULL, 0);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -12962,7 +12871,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_2ARGS_VFS_UNLINK 1
+#define HAVE_2ARGS_VFS_FSYNC 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -12972,8 +12881,18 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
-                                                                               { $as_echo "$as_me:$LINENO: checking whether vfs_unlink() wants 3 args" >&5
-$as_echo_n "checking whether vfs_unlink() wants 3 args... " >&6; }
+
+
+
+fi
+
+       rm -Rf build
+
+
+
+
+       { $as_echo "$as_me:$LINENO: checking whether truncate_range() inode operation is available" >&5
+$as_echo_n "checking whether truncate_range() inode operation is available... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -12984,15 +12903,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-                       #include <linux/fs.h>
+               #include <linux/fs.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-                       vfs_unlink((struct inode *) NULL,
-                               (struct dentry *) NULL,
-                               (struct inode **) NULL);
+               struct inode_operations ops;
+               ops.truncate_range = NULL;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -13017,11 +12935,11 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
+               { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_3ARGS_VFS_UNLINK 1
+#define HAVE_INODE_TRUNCATE_RANGE 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -13029,9 +12947,8 @@ else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-                       { { $as_echo "$as_me:$LINENO: error: no" >&5
-$as_echo "$as_me: error: no" >&2;}
-   { (exit 1); exit 1; }; }
+               { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 
 
 
 
 
 
 
 
 
 
 
 
-
-
-fi
-
-       rm -Rf build
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether vfs_rename() wants 4 args" >&5
-$as_echo_n "checking whether vfs_rename() wants 4 args... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether struct fs_struct uses spinlock_t" >&5
+$as_echo_n "checking whether struct fs_struct uses spinlock_t... " >&6; }
+       tmp_flags="$EXTRA_KCFLAGS"
+       EXTRA_KCFLAGS="-Werror"
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -13062,14 +12973,15 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/fs.h>
+               #include <linux/sched.h>
+               #include <linux/fs_struct.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               vfs_rename((struct inode *) NULL, (struct dentry *) NULL,
-                       (struct inode *) NULL, (struct dentry *) NULL);
+               static struct fs_struct fs;
+               spin_lock_init(&fs.lock);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -13098,7 +13010,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_4ARGS_VFS_RENAME 1
+#define HAVE_FS_STRUCT_SPINLOCK 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -13108,8 +13020,19 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
-                                                                               { $as_echo "$as_me:$LINENO: checking whether vfs_rename() wants 5 args" >&5
-$as_echo_n "checking whether vfs_rename() wants 5 args... " >&6; }
+
+
+
+fi
+
+       rm -Rf build
+
+
+       EXTRA_KCFLAGS="$tmp_flags"
+
+
+       { $as_echo "$as_me:$LINENO: checking whether kuid_t/kgid_t is available" >&5
+$as_echo_n "checking whether kuid_t/kgid_t is available... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -13120,17 +13043,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-                       #include <linux/fs.h>
+               #include <linux/uidgid.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-                       vfs_rename((struct inode *) NULL,
-                               (struct dentry *) NULL,
-                               (struct inode *) NULL,
-                               (struct dentry *) NULL,
-                               (struct inode **) NULL);
+               kuid_t userid = KUIDT_INIT(0);
+               kgid_t groupid = KGIDT_INIT(0);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -13155,22 +13075,6 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_5ARGS_VFS_RENAME 1
-_ACEOF
-
-
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-                                                                                                                       { $as_echo "$as_me:$LINENO: checking whether vfs_rename() wants 6 args" >&5
-$as_echo_n "checking whether vfs_rename() wants 6 args... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -13181,18 +13085,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-                               #include <linux/fs.h>
+                       #include <linux/uidgid.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-                               vfs_rename((struct inode *) NULL,
-                                       (struct dentry *) NULL,
-                                       (struct inode *) NULL,
-                                       (struct dentry *) NULL,
-                                       (struct inode **) NULL,
-                                       (unsigned int) 0);
+                       kuid_t userid = 0;
+                       kgid_t groupid = 0;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -13217,28 +13117,19 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
-                               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_6ARGS_VFS_RENAME 1
-_ACEOF
-
+                       { $as_echo "$as_me:$LINENO: result: yes; optional" >&5
+$as_echo "yes; optional" >&6; }
 
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-                               { { $as_echo "$as_me:$LINENO: error: no" >&5
-$as_echo "$as_me: error: no" >&2;}
-   { (exit 1); exit 1; }; }
-
-
-
-fi
-
-       rm -Rf build
+                       { $as_echo "$as_me:$LINENO: result: yes; mandatory" >&5
+$as_echo "yes; mandatory" >&6; }
 
 
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_KUIDGID_T 1
+_ACEOF
 
 
 
 
 
 
 
 
 
 
 
 
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+               { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+
 
 
 fi
 
 
 fi
@@ -13258,8 +13156,9 @@ fi
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether vfs_fsync() wants 2 args" >&5
-$as_echo_n "checking whether vfs_fsync() wants 2 args... " >&6; }
+
+       { $as_echo "$as_me:$LINENO: checking whether fops->fallocate() exists" >&5
+$as_echo_n "checking whether fops->fallocate() exists... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -13276,7 +13175,10 @@ int
 main (void)
 {
 
 main (void)
 {
 
-               vfs_fsync(NULL, 0);
+               long (*fallocate) (struct file *, int, loff_t, loff_t) = NULL;
+               struct file_operations fops __attribute__ ((unused)) = {
+                       .fallocate = fallocate,
+               };
 
   ;
   return 0;
 
   ;
   return 0;
@@ -13305,7 +13207,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_2ARGS_VFS_FSYNC 1
+#define HAVE_FILE_FALLOCATE 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -13325,8 +13227,8 @@ fi
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether truncate_range() inode operation is available" >&5
-$as_echo_n "checking whether truncate_range() inode operation is available... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether iops->fallocate() exists" >&5
+$as_echo_n "checking whether iops->fallocate() exists... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -13343,8 +13245,10 @@ int
 main (void)
 {
 
 main (void)
 {
 
-               struct inode_operations ops;
-               ops.truncate_range = NULL;
+               long (*fallocate) (struct inode *, int, loff_t, loff_t) = NULL;
+               struct inode_operations fops __attribute__ ((unused)) = {
+                       .fallocate = fallocate,
+               };
 
   ;
   return 0;
 
   ;
   return 0;
@@ -13373,7 +13277,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_INODE_TRUNCATE_RANGE 1
+#define HAVE_INODE_FALLOCATE 1
 _ACEOF
 
 
 _ACEOF
 
 
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether struct fs_struct uses spinlock_t" >&5
-$as_echo_n "checking whether struct fs_struct uses spinlock_t... " >&6; }
-       tmp_flags="$EXTRA_KCFLAGS"
-       EXTRA_KCFLAGS="-Werror"
+       { $as_echo "$as_me:$LINENO: checking whether fops->fallocate() exists" >&5
+$as_echo_n "checking whether fops->fallocate() exists... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -13407,15 +13309,16 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/sched.h>
-               #include <linux/fs_struct.h>
+               #include <linux/fs.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               static struct fs_struct fs;
-               spin_lock_init(&fs.lock);
+               long (*fallocate) (struct file *, int, loff_t, loff_t) = NULL;
+               struct file_operations_no_const fops __attribute__ ((unused)) = {
+                       .fallocate = fallocate,
+               };
 
   ;
   return 0;
 
   ;
   return 0;
@@ -13444,7 +13347,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_FS_STRUCT_SPINLOCK 1
+#define HAVE_FILE_FALLOCATE 1
 _ACEOF
 
 
 _ACEOF
 
 
        rm -Rf build
 
 
        rm -Rf build
 
 
-       EXTRA_KCFLAGS="$tmp_flags"
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether kuid_t/kgid_t is available" >&5
-$as_echo_n "checking whether kuid_t/kgid_t is available... " >&6; }
+
+       { $as_echo "$as_me:$LINENO: checking whether CONFIG_ZLIB_INFLATE is defined" >&5
+$as_echo_n "checking whether CONFIG_ZLIB_INFLATE is defined... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -13477,15 +13380,15 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/uidgid.h>
+               #if !defined(CONFIG_ZLIB_INFLATE) && \
+                   !defined(CONFIG_ZLIB_INFLATE_MODULE)
+               #error CONFIG_ZLIB_INFLATE not defined
+               #endif
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               kuid_t userid = KUIDT_INIT(0);
-               kgid_t groupid = KGIDT_INIT(0);
-
   ;
   return 0;
 }
   ;
   return 0;
 }
@@ -13509,6 +13412,34 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
+               { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+               { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+               { { $as_echo "$as_me:$LINENO: error:
+       *** This kernel does not include the required zlib inflate support.
+       *** Rebuild the kernel with CONFIG_ZLIB_INFLATE=y|m set." >&5
+$as_echo "$as_me: error:
+       *** This kernel does not include the required zlib inflate support.
+       *** Rebuild the kernel with CONFIG_ZLIB_INFLATE=y|m set." >&2;}
+   { (exit 1); exit 1; }; }
+
+
+
+fi
+
+       rm -Rf build
+
+
+
+
+       { $as_echo "$as_me:$LINENO: checking whether CONFIG_ZLIB_DEFLATE is defined" >&5
+$as_echo_n "checking whether CONFIG_ZLIB_DEFLATE is defined... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -13519,15 +13450,15 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-                       #include <linux/uidgid.h>
+               #if !defined(CONFIG_ZLIB_DEFLATE) && \
+                   !defined(CONFIG_ZLIB_DEFLATE_MODULE)
+               #error CONFIG_ZLIB_DEFLATE not defined
+               #endif
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-                       kuid_t userid = 0;
-                       kgid_t groupid = 0;
-
   ;
   return 0;
 }
   ;
   return 0;
 }
@@ -13551,28 +13482,8 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
-                       { $as_echo "$as_me:$LINENO: result: yes; optional" >&5
-$as_echo "yes; optional" >&6; }
-
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-                       { $as_echo "$as_me:$LINENO: result: yes; mandatory" >&5
-$as_echo "yes; mandatory" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_KUIDGID_T 1
-_ACEOF
-
-
-
-
-fi
-
-       rm -Rf build
-
-
+               { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
 
 else
   $as_echo "$as_me: failed program was:" >&5
 
 else
   $as_echo "$as_me: failed program was:" >&5
@@ -13580,6 +13491,13 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
+               { { $as_echo "$as_me:$LINENO: error:
+       *** This kernel does not include the required zlib deflate support.
+       *** Rebuild the kernel with CONFIG_ZLIB_DEFLATE=y|m set." >&5
+$as_echo "$as_me: error:
+       *** This kernel does not include the required zlib deflate support.
+       *** Rebuild the kernel with CONFIG_ZLIB_DEFLATE=y|m set." >&2;}
+   { (exit 1); exit 1; }; }
 
 
 
 
 
 
 
 
 
 
 
 
-
-
-       { $as_echo "$as_me:$LINENO: checking whether fops->fallocate() exists" >&5
-$as_echo_n "checking whether fops->fallocate() exists... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether zlib_deflate_workspacesize() wants 2 args" >&5
+$as_echo_n "checking whether zlib_deflate_workspacesize() wants 2 args... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -13603,16 +13519,13 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/fs.h>
+               #include <linux/zlib.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               long (*fallocate) (struct file *, int, loff_t, loff_t) = NULL;
-               struct file_operations fops __attribute__ ((unused)) = {
-                       .fallocate = fallocate,
-               };
+               return zlib_deflate_workspacesize(MAX_WBITS, MAX_MEM_LEVEL);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -13641,7 +13554,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_FILE_FALLOCATE 1
+#define HAVE_2ARGS_ZLIB_DEFLATE_WORKSPACESIZE 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -13661,8 +13574,8 @@ fi
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether iops->fallocate() exists" >&5
-$as_echo_n "checking whether iops->fallocate() exists... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether struct shrink_control exists" >&5
+$as_echo_n "checking whether struct shrink_control exists... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -13673,16 +13586,16 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/fs.h>
+               #include <linux/mm.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               long (*fallocate) (struct inode *, int, loff_t, loff_t) = NULL;
-               struct inode_operations fops __attribute__ ((unused)) = {
-                       .fallocate = fallocate,
-               };
+               struct shrink_control sc __attribute__ ((unused));
+
+               sc.nr_to_scan = 0;
+               sc.gfp_mask = GFP_KERNEL;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -13711,7 +13624,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_INODE_FALLOCATE 1
+#define HAVE_SHRINK_CONTROL_STRUCT 1
 _ACEOF
 
 
 _ACEOF
 
 
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether fops->fallocate() exists" >&5
-$as_echo_n "checking whether fops->fallocate() exists... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether struct rw_semaphore member wait_lock is raw" >&5
+$as_echo_n "checking whether struct rw_semaphore member wait_lock is raw... " >&6; }
+       tmp_flags="$EXTRA_KCFLAGS"
+       EXTRA_KCFLAGS="-Werror"
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -13743,16 +13658,16 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/fs.h>
+               #include <linux/rwsem.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               long (*fallocate) (struct file *, int, loff_t, loff_t) = NULL;
-               struct file_operations_no_const fops __attribute__ ((unused)) = {
-                       .fallocate = fallocate,
-               };
+               struct rw_semaphore dummy_semaphore __attribute__ ((unused));
+               raw_spinlock_t dummy_lock __attribute__ ((unused)) =
+                   __RAW_SPIN_LOCK_INITIALIZER(dummy_lock);
+               dummy_semaphore.wait_lock = dummy_lock;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -13781,7 +13696,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_FILE_FALLOCATE 1
+#define RWSEM_SPINLOCK_IS_RAW 1
 _ACEOF
 
 
 _ACEOF
 
 
        rm -Rf build
 
 
        rm -Rf build
 
 
+       EXTRA_KCFLAGS="$tmp_flags"
 
 
 
 
-
-       { $as_echo "$as_me:$LINENO: checking whether CONFIG_ZLIB_INFLATE is defined" >&5
-$as_echo_n "checking whether CONFIG_ZLIB_INFLATE is defined... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether struct rw_semaphore has member activity" >&5
+$as_echo_n "checking whether struct rw_semaphore has member activity... " >&6; }
+       tmp_flags="$EXTRA_KCFLAGS"
+       EXTRA_KCFLAGS="-Werror"
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -13814,15 +13731,15 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #if !defined(CONFIG_ZLIB_INFLATE) && \
-                   !defined(CONFIG_ZLIB_INFLATE_MODULE)
-               #error CONFIG_ZLIB_INFLATE not defined
-               #endif
+               #include <linux/rwsem.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
+               struct rw_semaphore dummy_semaphore __attribute__ ((unused));
+               dummy_semaphore.activity = 0;
+
   ;
   return 0;
 }
   ;
   return 0;
 }
@@ -13849,19 +13766,17 @@ _ACEOF
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_RWSEM_ACTIVITY 1
+_ACEOF
+
+
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
-               { { $as_echo "$as_me:$LINENO: error:
-       *** This kernel does not include the required zlib inflate support.
-       *** Rebuild the kernel with CONFIG_ZLIB_INFLATE=y|m set." >&5
-$as_echo "$as_me: error:
-       *** This kernel does not include the required zlib inflate support.
-       *** Rebuild the kernel with CONFIG_ZLIB_INFLATE=y|m set." >&2;}
-   { (exit 1); exit 1; }; }
 
 
 
 
 
 
        rm -Rf build
 
 
        rm -Rf build
 
 
+       EXTRA_KCFLAGS="$tmp_flags"
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether CONFIG_ZLIB_DEFLATE is defined" >&5
-$as_echo_n "checking whether CONFIG_ZLIB_DEFLATE is defined... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether struct rw_semaphore has atomic_long_t member count" >&5
+$as_echo_n "checking whether struct rw_semaphore has atomic_long_t member count... " >&6; }
+       tmp_flags="$EXTRA_KCFLAGS"
+       EXTRA_KCFLAGS="-Werror"
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -13884,15 +13802,15 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #if !defined(CONFIG_ZLIB_DEFLATE) && \
-                   !defined(CONFIG_ZLIB_DEFLATE_MODULE)
-               #error CONFIG_ZLIB_DEFLATE not defined
-               #endif
+               #include <linux/rwsem.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
+               DECLARE_RWSEM(dummy_semaphore);
+               (void) atomic_long_read(&dummy_semaphore.count);
+
   ;
   return 0;
 }
   ;
   return 0;
 }
@@ -13919,19 +13837,17 @@ _ACEOF
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_RWSEM_ATOMIC_LONG_COUNT 1
+_ACEOF
+
+
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
-               { { $as_echo "$as_me:$LINENO: error:
-       *** This kernel does not include the required zlib deflate support.
-       *** Rebuild the kernel with CONFIG_ZLIB_DEFLATE=y|m set." >&5
-$as_echo "$as_me: error:
-       *** This kernel does not include the required zlib deflate support.
-       *** Rebuild the kernel with CONFIG_ZLIB_DEFLATE=y|m set." >&2;}
-   { (exit 1); exit 1; }; }
 
 
 
 
 
 
        rm -Rf build
 
 
        rm -Rf build
 
 
+       EXTRA_KCFLAGS="$tmp_flags"
 
 
-       { $as_echo "$as_me:$LINENO: checking whether zlib_deflate_workspacesize() wants 2 args" >&5
-$as_echo_n "checking whether zlib_deflate_workspacesize() wants 2 args... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether header linux/sched/rt.h exists" >&5
+$as_echo_n "checking whether header linux/sched/rt.h exists... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -13953,13 +13870,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/zlib.h>
+               #include <linux/sched.h>
+               #include <linux/sched/rt.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               return zlib_deflate_workspacesize(MAX_WBITS, MAX_MEM_LEVEL);
+               return 0;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -13984,13 +13902,13 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_2ARGS_ZLIB_DEFLATE_WORKSPACESIZE 1
+#define HAVE_SCHED_RT_HEADER 1
 _ACEOF
 
 _ACEOF
 
+               { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
 
 else
   $as_echo "$as_me: failed program was:" >&5
 
 else
   $as_echo "$as_me: failed program was:" >&5
@@ -14007,9 +13925,8 @@ fi
 
 
 
 
 
 
-
-       { $as_echo "$as_me:$LINENO: checking whether struct shrink_control exists" >&5
-$as_echo_n "checking whether struct shrink_control exists... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether header linux/sched/signal.h exists" >&5
+$as_echo_n "checking whether header linux/sched/signal.h exists... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -14020,16 +13937,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/mm.h>
+               #include <linux/sched.h>
+               #include <linux/sched/signal.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct shrink_control sc __attribute__ ((unused));
-
-               sc.nr_to_scan = 0;
-               sc.gfp_mask = GFP_KERNEL;
+               return 0;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -14054,13 +13969,13 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_SHRINK_CONTROL_STRUCT 1
+#define HAVE_SCHED_SIGNAL_HEADER 1
 _ACEOF
 
 _ACEOF
 
+               { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
 
 else
   $as_echo "$as_me: failed program was:" >&5
 
 else
   $as_echo "$as_me: failed program was:" >&5
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether struct rw_semaphore member wait_lock is raw" >&5
-$as_echo_n "checking whether struct rw_semaphore member wait_lock is raw... " >&6; }
-       tmp_flags="$EXTRA_KCFLAGS"
-       EXTRA_KCFLAGS="-Werror"
+       { $as_echo "$as_me:$LINENO: checking whether vfs_getattr() wants 4 args" >&5
+$as_echo_n "checking whether vfs_getattr() wants 4 args... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -14092,16 +14005,16 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/rwsem.h>
+               #include <linux/fs.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct rw_semaphore dummy_semaphore __attribute__ ((unused));
-               raw_spinlock_t dummy_lock __attribute__ ((unused)) =
-                   __RAW_SPIN_LOCK_INITIALIZER(dummy_lock);
-               dummy_semaphore.wait_lock = dummy_lock;
+               vfs_getattr((const struct path *)NULL,
+                       (struct kstat *)NULL,
+                       (u32)0,
+                       (unsigned int)0);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -14130,7 +14043,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define RWSEM_SPINLOCK_IS_RAW 1
+#define HAVE_4ARGS_VFS_GETATTR 1
 _ACEOF
 
 
 _ACEOF
 
 
        rm -Rf build
 
 
        rm -Rf build
 
 
-       EXTRA_KCFLAGS="$tmp_flags"
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether struct rw_semaphore has member activity" >&5
-$as_echo_n "checking whether struct rw_semaphore has member activity... " >&6; }
-       tmp_flags="$EXTRA_KCFLAGS"
-       EXTRA_KCFLAGS="-Werror"
+       { $as_echo "$as_me:$LINENO: checking whether vfs_getattr() wants 3 args" >&5
+$as_echo_n "checking whether vfs_getattr() wants 3 args... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -14165,14 +14075,15 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/rwsem.h>
+               #include <linux/fs.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct rw_semaphore dummy_semaphore __attribute__ ((unused));
-               dummy_semaphore.activity = 0;
+               vfs_getattr((struct vfsmount *)NULL,
+                       (struct dentry *)NULL,
+                       (struct kstat *)NULL);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -14201,7 +14112,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_RWSEM_ACTIVITY 1
+#define HAVE_3ARGS_VFS_GETATTR 1
 _ACEOF
 
 
 _ACEOF
 
 
        rm -Rf build
 
 
        rm -Rf build
 
 
-       EXTRA_KCFLAGS="$tmp_flags"
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether struct rw_semaphore has atomic_long_t member count" >&5
-$as_echo_n "checking whether struct rw_semaphore has atomic_long_t member count... " >&6; }
-       tmp_flags="$EXTRA_KCFLAGS"
-       EXTRA_KCFLAGS="-Werror"
+       { $as_echo "$as_me:$LINENO: checking whether vfs_getattr() wants 2 args" >&5
+$as_echo_n "checking whether vfs_getattr() wants 2 args... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -14236,14 +14144,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/rwsem.h>
+               #include <linux/fs.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               DECLARE_RWSEM(dummy_semaphore);
-               (void) atomic_long_read(&dummy_semaphore.count);
+               vfs_getattr((struct path *) NULL,
+                       (struct kstat *)NULL);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -14272,7 +14180,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_RWSEM_ATOMIC_LONG_COUNT 1
+#define HAVE_2ARGS_VFS_GETATTR 1
 _ACEOF
 
 
 _ACEOF
 
 
        rm -Rf build
 
 
        rm -Rf build
 
 
-       EXTRA_KCFLAGS="$tmp_flags"
 
 
-       { $as_echo "$as_me:$LINENO: checking whether header linux/sched/rt.h exists" >&5
-$as_echo_n "checking whether header linux/sched/rt.h exists... " >&6; }
+
+       { $as_echo "$as_me:$LINENO: checking whether usleep_range() is available" >&5
+$as_echo_n "checking whether usleep_range() is available... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -14304,14 +14212,13 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/sched.h>
-               #include <linux/sched/rt.h>
+               #include <linux/delay.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               return 0;
+               usleep_range(0, 0);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -14336,13 +14243,13 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
+               { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_SCHED_RT_HEADER 1
+#define HAVE_USLEEP_RANGE 1
 _ACEOF
 
 _ACEOF
 
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
 
 else
   $as_echo "$as_me: failed program was:" >&5
 
 else
   $as_echo "$as_me: failed program was:" >&5
@@ -14359,8 +14266,9 @@ fi
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether header linux/sched/signal.h exists" >&5
-$as_echo_n "checking whether header linux/sched/signal.h exists... " >&6; }
+
+       { $as_echo "$as_me:$LINENO: checking whether struct kmem_cache has allocflags" >&5
+$as_echo_n "checking whether struct kmem_cache has allocflags... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -14371,14 +14279,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/sched.h>
-               #include <linux/sched/signal.h>
+               #include <linux/slab.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               return 0;
+               struct kmem_cache cachep __attribute__ ((unused));
+               cachep.allocflags = GFP_KERNEL;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -14403,13 +14311,13 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
+               { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_SCHED_SIGNAL_HEADER 1
+#define HAVE_KMEM_CACHE_ALLOCFLAGS 1
 _ACEOF
 
 _ACEOF
 
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
 
 else
   $as_echo "$as_me: failed program was:" >&5
 
 else
   $as_echo "$as_me: failed program was:" >&5
@@ -14418,17 +14326,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 
-
-
-fi
-
-       rm -Rf build
-
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether vfs_getattr() wants 4 args" >&5
-$as_echo_n "checking whether vfs_getattr() wants 4 args... " >&6; }
+               { $as_echo "$as_me:$LINENO: checking whether struct kmem_cache has gfpflags" >&5
+$as_echo_n "checking whether struct kmem_cache has gfpflags... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -14439,16 +14338,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/fs.h>
+                       #include <linux/slab.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               vfs_getattr((const struct path *)NULL,
-                       (struct kstat *)NULL,
-                       (u32)0,
-                       (unsigned int)0);
+                       struct kmem_cache cachep __attribute__ ((unused));
+                       cachep.gfpflags = GFP_KERNEL;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -14473,11 +14370,11 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
+                       { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_4ARGS_VFS_GETATTR 1
+#define HAVE_KMEM_CACHE_GFPFLAGS 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -14485,7 +14382,7 @@ else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-               { $as_echo "$as_me:$LINENO: result: no" >&5
+                       { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 
 
 $as_echo "no" >&6; }
 
 
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether vfs_getattr() wants 3 args" >&5
-$as_echo_n "checking whether vfs_getattr() wants 3 args... " >&6; }
+
+fi
+
+       rm -Rf build
+
+
+
+
+       { $as_echo "$as_me:$LINENO: checking whether inode->i_*time's are timespec64" >&5
+$as_echo_n "checking whether inode->i_*time's are timespec64... " >&6; }
+       tmp_flags="$EXTRA_KCFLAGS"
+       EXTRA_KCFLAGS="-Werror"
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -14515,9 +14422,11 @@ int
 main (void)
 {
 
 main (void)
 {
 
-               vfs_getattr((struct vfsmount *)NULL,
-                       (struct dentry *)NULL,
-                       (struct kstat *)NULL);
+               struct inode ip;
+               struct timespec ts;
+
+               memset(&ip, 0, sizeof(ip));
+               ts = ip.i_mtime;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -14542,21 +14451,21 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
+               { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_3ARGS_VFS_GETATTR 1
+#define HAVE_INODE_TIMESPEC64_TIMES 1
 _ACEOF
 
 
 _ACEOF
 
 
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-               { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
 
 
 fi
 
 
 fi
        rm -Rf build
 
 
        rm -Rf build
 
 
+       EXTRA_KCFLAGS="$tmp_flags"
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether vfs_getattr() wants 2 args" >&5
-$as_echo_n "checking whether vfs_getattr() wants 2 args... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether wait_on_bit() takes an action" >&5
+$as_echo_n "checking whether wait_on_bit() takes an action... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -14578,14 +14488,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/fs.h>
+               #include <linux/wait.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               vfs_getattr((struct path *) NULL,
-                       (struct kstat *)NULL);
+               int (*action)(void *) = NULL;
+               wait_on_bit(NULL, 0, action, 0);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -14614,7 +14524,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_2ARGS_VFS_GETATTR 1
+#define HAVE_WAIT_ON_BIT_ACTION 1
 _ACEOF
 
 
 _ACEOF
 
 
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether usleep_range() is available" >&5
-$as_echo_n "checking whether usleep_range() is available... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether inode_lock_shared() exists" >&5
+$as_echo_n "checking whether inode_lock_shared() exists... " >&6; }
+       tmp_flags="$EXTRA_KCFLAGS"
+       EXTRA_KCFLAGS="-Werror"
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -14646,13 +14558,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/delay.h>
+               #include <linux/fs.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               usleep_range(0, 0);
+               struct inode *inode = NULL;
+               inode_lock_shared(inode);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -14681,7 +14594,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_USLEEP_RANGE 1
+#define HAVE_INODE_LOCK_SHARED 1
 _ACEOF
 
 
 _ACEOF
 
 
        rm -Rf build
 
 
        rm -Rf build
 
 
+       EXTRA_KCFLAGS="$tmp_flags"
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether struct kmem_cache has allocflags" >&5
-$as_echo_n "checking whether struct kmem_cache has allocflags... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether group_info->gid exists" >&5
+$as_echo_n "checking whether group_info->gid exists... " >&6; }
+       tmp_flags="$EXTRA_KCFLAGS"
+       EXTRA_KCFLAGS="-Werror"
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -14713,14 +14629,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/slab.h>
+               #include <linux/cred.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct kmem_cache cachep __attribute__ ((unused));
-               cachep.allocflags = GFP_KERNEL;
+               struct group_info *gi = groups_alloc(1);
+               gi->gid[0] = KGIDT_INIT(0);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -14749,7 +14665,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_KMEM_CACHE_ALLOCFLAGS 1
+#define HAVE_GROUP_INFO_GID 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -14760,8 +14676,20 @@ sed 's/^/| /' conftest.$ac_ext >&5
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 
-               { $as_echo "$as_me:$LINENO: checking whether struct kmem_cache has gfpflags" >&5
-$as_echo_n "checking whether struct kmem_cache has gfpflags... " >&6; }
+
+
+fi
+
+       rm -Rf build
+
+
+       EXTRA_KCFLAGS="$tmp_flags"
+
+
+       { $as_echo "$as_me:$LINENO: checking whether kmem_cache_create_usercopy() exists" >&5
+$as_echo_n "checking whether kmem_cache_create_usercopy() exists... " >&6; }
+       tmp_flags="$EXTRA_KCFLAGS"
+       EXTRA_KCFLAGS="-Werror"
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -14772,14 +14700,26 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-                       #include <linux/slab.h>
+               #include <linux/slab.h>
+               static void ctor(void *foo)
+               {
+                       // fake ctor
+               }
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-                       struct kmem_cache cachep __attribute__ ((unused));
-                       cachep.gfpflags = GFP_KERNEL;
+               struct kmem_cache *skc_linux_cache;
+               const char *name = "test";
+               size_t size = 4096;
+               size_t align = 8;
+               unsigned long flags = 0;
+               size_t useroffset = 0;
+               size_t usersize = size - useroffset;
+
+               skc_linux_cache = kmem_cache_create_usercopy(
+                       name, size, align, flags, useroffset, usersize, ctor);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -14804,11 +14744,11 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
+               { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_KMEM_CACHE_GFPFLAGS 1
+#define HAVE_KMEM_CACHE_CREATE_USERCOPY 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -14816,7 +14756,7 @@ else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
+               { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 
 
 $as_echo "no" >&6; }
 
 
        rm -Rf build
 
 
        rm -Rf build
 
 
+       EXTRA_KCFLAGS="$tmp_flags"
 
 
 
 
-
-fi
-
-       rm -Rf build
-
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether wait_on_bit() takes an action" >&5
-$as_echo_n "checking whether wait_on_bit() takes an action... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether wait_queue_entry_t exists" >&5
+$as_echo_n "checking whether wait_queue_entry_t exists... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -14854,8 +14787,7 @@ int
 main (void)
 {
 
 main (void)
 {
 
-               int (*action)(void *) = NULL;
-               wait_on_bit(NULL, 0, action, 0);
+               wait_queue_entry_t *entry __attribute__ ((unused));
 
   ;
   return 0;
 
   ;
   return 0;
@@ -14884,7 +14816,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_WAIT_ON_BIT_ACTION 1
+#define HAVE_WAIT_QUEUE_ENTRY_T 1
 _ACEOF
 
 
 _ACEOF
 
 
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether inode_lock_shared() exists" >&5
-$as_echo_n "checking whether inode_lock_shared() exists... " >&6; }
-       tmp_flags="$EXTRA_KCFLAGS"
-       EXTRA_KCFLAGS="-Werror"
+       { $as_echo "$as_me:$LINENO: checking whether wq_head->head and wq_entry->entry exist" >&5
+$as_echo_n "checking whether wq_head->head and wq_entry->entry exist... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -14918,14 +14848,27 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/fs.h>
+               #include <linux/wait.h>
+
+               #ifdef HAVE_WAIT_QUEUE_ENTRY_T
+               typedef wait_queue_head_t       spl_wait_queue_head_t;
+               typedef wait_queue_entry_t      spl_wait_queue_entry_t;
+               #else
+               typedef wait_queue_head_t       spl_wait_queue_head_t;
+               typedef wait_queue_t            spl_wait_queue_entry_t;
+               #endif
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct inode *inode = NULL;
-               inode_lock_shared(inode);
+               spl_wait_queue_head_t wq_head;
+               spl_wait_queue_entry_t wq_entry;
+               struct list_head *head __attribute__ ((unused));
+               struct list_head *entry __attribute__ ((unused));
+
+               head = &wq_head.head;
+               entry = &wq_entry.entry;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -14954,7 +14897,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_INODE_LOCK_SHARED 1
+#define HAVE_WAIT_QUEUE_HEAD_ENTRY 1
 _ACEOF
 
 
 _ACEOF
 
 
        rm -Rf build
 
 
        rm -Rf build
 
 
-       EXTRA_KCFLAGS="$tmp_flags"
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether group_info->gid exists" >&5
-$as_echo_n "checking whether group_info->gid exists... " >&6; }
-       tmp_flags="$EXTRA_KCFLAGS"
-       EXTRA_KCFLAGS="-Werror"
+       { $as_echo "$as_me:$LINENO: checking whether io_schedule_timeout() is available" >&5
+$as_echo_n "checking whether io_schedule_timeout() is available... " >&6; }
+
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -14989,14 +14930,13 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/cred.h>
+               #include <linux/sched.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct group_info *gi = groups_alloc(1);
-               gi->gid[0] = KGIDT_INIT(0);
+               (void) io_schedule_timeout(1);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -15020,22 +14960,11 @@ _ACEOF
   ac_status=$?
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
   ac_status=$?
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GROUP_INFO_GID 1
-_ACEOF
-
-
+  rc=0
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
-
-               { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
+ rc=1
 
 
 fi
 
 
 fi
        rm -Rf build
 
 
        rm -Rf build
 
 
-       EXTRA_KCFLAGS="$tmp_flags"
-
-
-       { $as_echo "$as_me:$LINENO: checking whether kmem_cache_create_usercopy() exists" >&5
-$as_echo_n "checking whether kmem_cache_create_usercopy() exists... " >&6; }
-       tmp_flags="$EXTRA_KCFLAGS"
-       EXTRA_KCFLAGS="-Werror"
-
-
-cat confdefs.h - <<_ACEOF >conftest.c
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-
-               #include <linux/slab.h>
-               static void ctor(void *foo)
-               {
-                       // fake ctor
-               }
-
-int
-main (void)
-{
-
-               struct kmem_cache *skc_linux_cache;
-               const char *name = "test";
-               size_t size = 4096;
-               size_t align = 8;
-               unsigned long flags = 0;
-               size_t useroffset = 0;
-               size_t usersize = size - useroffset;
-
-               skc_linux_cache = kmem_cache_create_usercopy(
-                       name, size, align, flags, useroffset, usersize, ctor);
-
-  ;
-  return 0;
-}
-
-_ACEOF
-
-
-       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
-       echo "obj-m := conftest.o" >build/Makefile
-       modpost_flag=''
-       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_KMEM_CACHE_CREATE_USERCOPY 1
-_ACEOF
-
-
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+       if test $rc -ne 0; then :
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 
+       else
+               if test "x$enable_linux_builtin" != xyes; then
 
 
+       grep -q -E '[[:space:]]io_schedule_timeout[[:space:]]' \
+               $LINUX_OBJ/Module*.symvers 2>/dev/null
+       rc=$?
+       if test $rc -ne 0; then
+               export=0
+               for file in ; do
+                       grep -q -E "EXPORT_SYMBOL.*(io_schedule_timeout)" \
+                               "$LINUX_OBJ/$file" 2>/dev/null
+                       rc=$?
+                       if test $rc -eq 0; then
+                               export=1
+                               break;
+                       fi
+               done
+               if test $export -eq 0; then :
+                       rc=1
+               else :
+                       rc=0
+               fi
+       else :
+               rc=0
+       fi
 
 
-fi
-
-       rm -Rf build
-
-
-       EXTRA_KCFLAGS="$tmp_flags"
-
-
-       { $as_echo "$as_me:$LINENO: checking whether wait_queue_entry_t exists" >&5
-$as_echo_n "checking whether wait_queue_entry_t exists... " >&6; }
-
-
-cat confdefs.h - <<_ACEOF >conftest.c
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-
-               #include <linux/wait.h>
-
-int
-main (void)
-{
-
-               wait_queue_entry_t *entry __attribute__ ((unused));
-
-  ;
-  return 0;
-}
-
-_ACEOF
+               fi
+               if test $rc -ne 0; then :
 
 
+               { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 
 
-       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
-       echo "obj-m := conftest.o" >build/Makefile
-       modpost_flag=''
-       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+               else :
 
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_WAIT_QUEUE_ENTRY_T 1
+#define HAVE_IO_SCHEDULE_TIMEOUT 1
 _ACEOF
 
 
 _ACEOF
 
 
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-               { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-
-
-fi
-
-       rm -Rf build
-
+               fi
+       fi
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether wq_head->head and wq_entry->entry exist" >&5
-$as_echo_n "checking whether wq_head->head and wq_entry->entry exist... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether kernel_write() takes loff_t pointer" >&5
+$as_echo_n "checking whether kernel_write() takes loff_t pointer... " >&6; }
+       tmp_flags="$EXTRA_KCFLAGS"
+       EXTRA_KCFLAGS="-Werror"
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -15208,27 +15038,19 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/wait.h>
-
-               #ifdef HAVE_WAIT_QUEUE_ENTRY_T
-               typedef wait_queue_head_t       spl_wait_queue_head_t;
-               typedef wait_queue_entry_t      spl_wait_queue_entry_t;
-               #else
-               typedef wait_queue_head_t       spl_wait_queue_head_t;
-               typedef wait_queue_t            spl_wait_queue_entry_t;
-               #endif
+               #include <linux/fs.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               spl_wait_queue_head_t wq_head;
-               spl_wait_queue_entry_t wq_entry;
-               struct list_head *head __attribute__ ((unused));
-               struct list_head *entry __attribute__ ((unused));
+               struct file *file = NULL;
+               const void *buf = NULL;
+               size_t count = 0;
+               loff_t *pos = NULL;
+               ssize_t ret;
 
 
-               head = &wq_head.head;
-               entry = &wq_entry.entry;
+               ret = kernel_write(file, buf, count, pos);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -15257,7 +15079,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_WAIT_QUEUE_HEAD_ENTRY 1
+#define HAVE_KERNEL_WRITE_PPOS 1
 _ACEOF
 
 
 _ACEOF
 
 
        rm -Rf build
 
 
        rm -Rf build
 
 
+       EXTRA_KCFLAGS="$tmp_flags"
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether kernel_write() takes loff_t pointer" >&5
-$as_echo_n "checking whether kernel_write() takes loff_t pointer... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether kernel_read() takes loff_t pointer" >&5
+$as_echo_n "checking whether kernel_read() takes loff_t pointer... " >&6; }
        tmp_flags="$EXTRA_KCFLAGS"
        EXTRA_KCFLAGS="-Werror"
 
        tmp_flags="$EXTRA_KCFLAGS"
        EXTRA_KCFLAGS="-Werror"
 
@@ -15298,12 +15121,12 @@ main (void)
 {
 
                struct file *file = NULL;
 {
 
                struct file *file = NULL;
-               const void *buf = NULL;
+               void *buf = NULL;
                size_t count = 0;
                loff_t *pos = NULL;
                ssize_t ret;
 
                size_t count = 0;
                loff_t *pos = NULL;
                ssize_t ret;
 
-               ret = kernel_write(file, buf, count, pos);
+               ret = kernel_read(file, buf, count, pos);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -15332,7 +15155,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_KERNEL_WRITE_PPOS 1
+#define HAVE_KERNEL_READ_PPOS 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -15353,8 +15176,8 @@ fi
        EXTRA_KCFLAGS="$tmp_flags"
 
 
        EXTRA_KCFLAGS="$tmp_flags"
 
 
-       { $as_echo "$as_me:$LINENO: checking whether kernel_read() takes loff_t pointer" >&5
-$as_echo_n "checking whether kernel_read() takes loff_t pointer... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether timer_list.function gets a timer_list" >&5
+$as_echo_n "checking whether timer_list.function gets a timer_list... " >&6; }
        tmp_flags="$EXTRA_KCFLAGS"
        EXTRA_KCFLAGS="-Werror"
 
        tmp_flags="$EXTRA_KCFLAGS"
        EXTRA_KCFLAGS="-Werror"
 
@@ -15367,19 +15190,20 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/fs.h>
+               #include <linux/timer.h>
+               void task_expire(struct timer_list *tl) {}
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct file *file = NULL;
-               void *buf = NULL;
-               size_t count = 0;
-               loff_t *pos = NULL;
-               ssize_t ret;
+               #ifndef from_timer
+               #error "No from_timer() macro"
+               #endif
 
 
-               ret = kernel_read(file, buf, count, pos);
+               struct timer_list timer;
+               timer.function = task_expire;
+               timer_setup(&timer, NULL, 0);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -15408,7 +15232,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_KERNEL_READ_PPOS 1
+#define HAVE_KERNEL_TIMER_FUNCTION_TIMER_LIST 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -15601,122 +15425,27 @@ $as_echo "$LINUX_SYMBOLS" >&6; }
        KERNELCPPFLAGS="$KERNELCPPFLAGS -Wstrict-prototypes"
 
 
        KERNELCPPFLAGS="$KERNELCPPFLAGS -Wstrict-prototypes"
 
 
+       { $as_echo "$as_me:$LINENO: checking whether modules can be built" >&5
+$as_echo_n "checking whether modules can be built... " >&6; }
 
 
-       { $as_echo "$as_me:$LINENO: checking whether debugging is enabled" >&5
-$as_echo_n "checking whether debugging is enabled... " >&6; }
-       # Check whether --enable-debug was given.
-if test "${enable_debug+set}" = set; then
-  enableval=$enable_debug;
-else
-  enable_debug=no
-fi
-
-
-       if test "x$enable_debug" = xyes; then
-
-               KERNELCPPFLAGS="${KERNELCPPFLAGS} -DDEBUG -Werror"
-               DEBUG_CFLAGS="-DDEBUG -Werror"
-               DEBUG_SPL="_with_debug"
-
-else
-
-               KERNELCPPFLAGS="${KERNELCPPFLAGS} -DNDEBUG"
-               DEBUG_CFLAGS="-DNDEBUG"
-               DEBUG_SPL="_without_debug"
 
 
-fi
+cat confdefs.h - <<_ACEOF >conftest.c
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
 
 
 
+int
+main (void)
+{
 
 
+  ;
+  return 0;
+}
 
 
-       { $as_echo "$as_me:$LINENO: result: $enable_debug" >&5
-$as_echo "$enable_debug" >&6; }
-
-
-       # Check whether --enable-debug-kmem was given.
-if test "${enable_debug_kmem+set}" = set; then
-  enableval=$enable_debug_kmem;
-else
-  enable_debug_kmem=no
-fi
-
-
-       if test "x$enable_debug_kmem" = xyes; then
-
-               KERNELCPPFLAGS="${KERNELCPPFLAGS} -DDEBUG_KMEM"
-               DEBUG_KMEM="_with_debug_kmem"
-
-cat >>confdefs.h <<\_ACEOF
-#define DEBUG_KMEM 1
-_ACEOF
-
-
-else
-
-               DEBUG_KMEM="_without_debug_kmem"
-
-fi
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether basic kmem accounting is enabled" >&5
-$as_echo_n "checking whether basic kmem accounting is enabled... " >&6; }
-       { $as_echo "$as_me:$LINENO: result: $enable_debug_kmem" >&5
-$as_echo "$enable_debug_kmem" >&6; }
-
-
-       # Check whether --enable-debug-kmem-tracking was given.
-if test "${enable_debug_kmem_tracking+set}" = set; then
-  enableval=$enable_debug_kmem_tracking;
-else
-  enable_debug_kmem_tracking=no
-fi
-
-
-       if test "x$enable_debug_kmem_tracking" = xyes; then
-
-               KERNELCPPFLAGS="${KERNELCPPFLAGS} -DDEBUG_KMEM_TRACKING"
-               DEBUG_KMEM_TRACKING="_with_debug_kmem_tracking"
-
-cat >>confdefs.h <<\_ACEOF
-#define DEBUG_KMEM_TRACKING 1
-_ACEOF
-
-
-else
-
-               DEBUG_KMEM_TRACKING="_without_debug_kmem_tracking"
-
-fi
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether detailed kmem tracking is enabled" >&5
-$as_echo_n "checking whether detailed kmem tracking is enabled... " >&6; }
-       { $as_echo "$as_me:$LINENO: result: $enable_debug_kmem_tracking" >&5
-$as_echo "$enable_debug_kmem_tracking" >&6; }
-
-       { $as_echo "$as_me:$LINENO: checking whether modules can be built" >&5
-$as_echo_n "checking whether modules can be built... " >&6; }
-
-
-cat confdefs.h - <<_ACEOF >conftest.c
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-
-int
-main (void)
-{
-
-  ;
-  return 0;
-}
-
-_ACEOF
+_ACEOF
 
 
        rm -Rf build && mkdir -p build && touch build/conftest.mod.c
 
 
        rm -Rf build && mkdir -p build && touch build/conftest.mod.c
@@ -16522,344 +16251,18 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/spinlock.h>
-               #include <linux/fs_struct.h>
-               #include <linux/path.h>
-               void (*const set_fs_pwd_func)
-                       (struct fs_struct *, const struct path *)
-                       = set_fs_pwd;
-
-int
-main (void)
-{
-
-               return 0;
-
-  ;
-  return 0;
-}
-
-_ACEOF
-
-
-       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
-       echo "obj-m := conftest.o" >build/Makefile
-       modpost_flag=''
-       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SET_FS_PWD_WITH_CONST 1
-_ACEOF
-
-
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-
-cat confdefs.h - <<_ACEOF >conftest.c
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-
-                       #include <linux/spinlock.h>
-                       #include <linux/fs_struct.h>
-                       #include <linux/path.h>
-                       void (*const set_fs_pwd_func)
-                               (struct fs_struct *, struct path *)
-                               = set_fs_pwd;
-
-int
-main (void)
-{
-
-                       return 0;
-
-  ;
-  return 0;
-}
-
-_ACEOF
-
-
-       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
-       echo "obj-m := conftest.o" >build/Makefile
-       modpost_flag=''
-       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-                       { { $as_echo "$as_me:$LINENO: error: unknown" >&5
-$as_echo "$as_me: error: unknown" >&2;}
-   { (exit 1); exit 1; }; }
-
-
-
-fi
-
-       rm -Rf build
-
-
-
-
-
-fi
-
-       rm -Rf build
-
-
-       EXTRA_KCFLAGS="$tmp_flags"
-
-       { $as_echo "$as_me:$LINENO: checking whether vfs_unlink() wants 2 args" >&5
-$as_echo_n "checking whether vfs_unlink() wants 2 args... " >&6; }
-
-
-cat confdefs.h - <<_ACEOF >conftest.c
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-
-               #include <linux/fs.h>
-
-int
-main (void)
-{
-
-               vfs_unlink((struct inode *) NULL, (struct dentry *) NULL);
-
-  ;
-  return 0;
-}
-
-_ACEOF
-
-
-       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
-       echo "obj-m := conftest.o" >build/Makefile
-       modpost_flag=''
-       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_2ARGS_VFS_UNLINK 1
-_ACEOF
-
-
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-               { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-                                                                               { $as_echo "$as_me:$LINENO: checking whether vfs_unlink() wants 3 args" >&5
-$as_echo_n "checking whether vfs_unlink() wants 3 args... " >&6; }
-
-
-cat confdefs.h - <<_ACEOF >conftest.c
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-
-                       #include <linux/fs.h>
-
-int
-main (void)
-{
-
-                       vfs_unlink((struct inode *) NULL,
-                               (struct dentry *) NULL,
-                               (struct inode **) NULL);
-
-  ;
-  return 0;
-}
-
-_ACEOF
-
-
-       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
-       echo "obj-m := conftest.o" >build/Makefile
-       modpost_flag=''
-       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_3ARGS_VFS_UNLINK 1
-_ACEOF
-
-
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-                       { { $as_echo "$as_me:$LINENO: error: no" >&5
-$as_echo "$as_me: error: no" >&2;}
-   { (exit 1); exit 1; }; }
-
-
-
-fi
-
-       rm -Rf build
-
-
-
-
-
-
-fi
-
-       rm -Rf build
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether vfs_rename() wants 4 args" >&5
-$as_echo_n "checking whether vfs_rename() wants 4 args... " >&6; }
-
-
-cat confdefs.h - <<_ACEOF >conftest.c
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-
-               #include <linux/fs.h>
-
-int
-main (void)
-{
-
-               vfs_rename((struct inode *) NULL, (struct dentry *) NULL,
-                       (struct inode *) NULL, (struct dentry *) NULL);
-
-  ;
-  return 0;
-}
-
-_ACEOF
-
-
-       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
-       echo "obj-m := conftest.o" >build/Makefile
-       modpost_flag=''
-       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_4ARGS_VFS_RENAME 1
-_ACEOF
-
-
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-               { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-                                                                               { $as_echo "$as_me:$LINENO: checking whether vfs_rename() wants 5 args" >&5
-$as_echo_n "checking whether vfs_rename() wants 5 args... " >&6; }
-
-
-cat confdefs.h - <<_ACEOF >conftest.c
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-
-                       #include <linux/fs.h>
+               #include <linux/spinlock.h>
+               #include <linux/fs_struct.h>
+               #include <linux/path.h>
+               void (*const set_fs_pwd_func)
+                       (struct fs_struct *, const struct path *)
+                       = set_fs_pwd;
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-                       vfs_rename((struct inode *) NULL,
-                               (struct dentry *) NULL,
-                               (struct inode *) NULL,
-                               (struct dentry *) NULL,
-                               (struct inode **) NULL);
+               return 0;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -16884,11 +16287,11 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
+               { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_5ARGS_VFS_RENAME 1
+#define HAVE_SET_FS_PWD_WITH_CONST 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -16896,10 +16299,6 @@ else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-                                                                                                                       { $as_echo "$as_me:$LINENO: checking whether vfs_rename() wants 6 args" >&5
-$as_echo_n "checking whether vfs_rename() wants 6 args... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -16910,18 +16309,18 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-                               #include <linux/fs.h>
+                       #include <linux/spinlock.h>
+                       #include <linux/fs_struct.h>
+                       #include <linux/path.h>
+                       void (*const set_fs_pwd_func)
+                               (struct fs_struct *, struct path *)
+                               = set_fs_pwd;
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-                               vfs_rename((struct inode *) NULL,
-                                       (struct dentry *) NULL,
-                                       (struct inode *) NULL,
-                                       (struct dentry *) NULL,
-                                       (struct inode **) NULL,
-                                       (unsigned int) 0);
+                       return 0;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -16946,20 +16345,15 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
-                               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_6ARGS_VFS_RENAME 1
-_ACEOF
-
+                       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-                               { { $as_echo "$as_me:$LINENO: error: no" >&5
-$as_echo "$as_me: error: no" >&2;}
+                       { { $as_echo "$as_me:$LINENO: error: unknown" >&5
+$as_echo "$as_me: error: unknown" >&2;}
    { (exit 1); exit 1; }; }
 
 
    { (exit 1); exit 1; }; }
 
 
        rm -Rf build
 
 
        rm -Rf build
 
 
-
-
-
-fi
-
-       rm -Rf build
-
-
+       EXTRA_KCFLAGS="$tmp_flags"
 
 
        { $as_echo "$as_me:$LINENO: checking whether vfs_fsync() wants 2 args" >&5
 
 
        { $as_echo "$as_me:$LINENO: checking whether vfs_fsync() wants 2 args" >&5
 
 
 
 
 
 
+       { $as_echo "$as_me:$LINENO: checking whether inode->i_*time's are timespec64" >&5
+$as_echo_n "checking whether inode->i_*time's are timespec64... " >&6; }
+       tmp_flags="$EXTRA_KCFLAGS"
+       EXTRA_KCFLAGS="-Werror"
+
+
+cat confdefs.h - <<_ACEOF >conftest.c
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+
+               #include <linux/fs.h>
+
+int
+main (void)
+{
+
+               struct inode ip;
+               struct timespec ts;
+
+               memset(&ip, 0, sizeof(ip));
+               ts = ip.i_mtime;
+
+  ;
+  return 0;
+}
+
+_ACEOF
+
+
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
+       echo "obj-m := conftest.o" >build/Makefile
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+
+               { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+               { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_INODE_TIMESPEC64_TIMES 1
+_ACEOF
+
+
+
+
+fi
+
+       rm -Rf build
+
+
+       EXTRA_KCFLAGS="$tmp_flags"
+
+
        { $as_echo "$as_me:$LINENO: checking whether wait_on_bit() takes an action" >&5
 $as_echo_n "checking whether wait_on_bit() takes an action... " >&6; }
 
        { $as_echo "$as_me:$LINENO: checking whether wait_on_bit() takes an action" >&5
 $as_echo_n "checking whether wait_on_bit() takes an action... " >&6; }
 
@@ -18718,14 +18179,165 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/cred.h>
+               #include <linux/cred.h>
+
+int
+main (void)
+{
+
+               struct group_info *gi = groups_alloc(1);
+               gi->gid[0] = KGIDT_INIT(0);
+
+  ;
+  return 0;
+}
+
+_ACEOF
+
+
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
+       echo "obj-m := conftest.o" >build/Makefile
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+
+               { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_GROUP_INFO_GID 1
+_ACEOF
+
+
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+               { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+
+
+
+fi
+
+       rm -Rf build
+
+
+       EXTRA_KCFLAGS="$tmp_flags"
+
+
+       { $as_echo "$as_me:$LINENO: checking whether kmem_cache_create_usercopy() exists" >&5
+$as_echo_n "checking whether kmem_cache_create_usercopy() exists... " >&6; }
+       tmp_flags="$EXTRA_KCFLAGS"
+       EXTRA_KCFLAGS="-Werror"
+
+
+cat confdefs.h - <<_ACEOF >conftest.c
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+
+               #include <linux/slab.h>
+               static void ctor(void *foo)
+               {
+                       // fake ctor
+               }
+
+int
+main (void)
+{
+
+               struct kmem_cache *skc_linux_cache;
+               const char *name = "test";
+               size_t size = 4096;
+               size_t align = 8;
+               unsigned long flags = 0;
+               size_t useroffset = 0;
+               size_t usersize = size - useroffset;
+
+               skc_linux_cache = kmem_cache_create_usercopy(
+                       name, size, align, flags, useroffset, usersize, ctor);
+
+  ;
+  return 0;
+}
+
+_ACEOF
+
+
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
+       echo "obj-m := conftest.o" >build/Makefile
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+
+               { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_KMEM_CACHE_CREATE_USERCOPY 1
+_ACEOF
+
+
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+               { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+
+
+
+fi
+
+       rm -Rf build
+
+
+       EXTRA_KCFLAGS="$tmp_flags"
+
+
+       { $as_echo "$as_me:$LINENO: checking whether wait_queue_entry_t exists" >&5
+$as_echo_n "checking whether wait_queue_entry_t exists... " >&6; }
+
+
+cat confdefs.h - <<_ACEOF >conftest.c
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+
+               #include <linux/wait.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct group_info *gi = groups_alloc(1);
-               gi->gid[0] = KGIDT_INIT(0);
+               wait_queue_entry_t *entry __attribute__ ((unused));
 
   ;
   return 0;
 
   ;
   return 0;
@@ -18754,7 +18366,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_GROUP_INFO_GID 1
+#define HAVE_WAIT_QUEUE_ENTRY_T 1
 _ACEOF
 
 
 _ACEOF
 
 
        rm -Rf build
 
 
        rm -Rf build
 
 
-       EXTRA_KCFLAGS="$tmp_flags"
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether kmem_cache_create_usercopy() exists" >&5
-$as_echo_n "checking whether kmem_cache_create_usercopy() exists... " >&6; }
-       tmp_flags="$EXTRA_KCFLAGS"
-       EXTRA_KCFLAGS="-Werror"
+       { $as_echo "$as_me:$LINENO: checking whether wq_head->head and wq_entry->entry exist" >&5
+$as_echo_n "checking whether wq_head->head and wq_entry->entry exist... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -18789,26 +18398,27 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/slab.h>
-               static void ctor(void *foo)
-               {
-                       // fake ctor
-               }
+               #include <linux/wait.h>
+
+               #ifdef HAVE_WAIT_QUEUE_ENTRY_T
+               typedef wait_queue_head_t       spl_wait_queue_head_t;
+               typedef wait_queue_entry_t      spl_wait_queue_entry_t;
+               #else
+               typedef wait_queue_head_t       spl_wait_queue_head_t;
+               typedef wait_queue_t            spl_wait_queue_entry_t;
+               #endif
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct kmem_cache *skc_linux_cache;
-               const char *name = "test";
-               size_t size = 4096;
-               size_t align = 8;
-               unsigned long flags = 0;
-               size_t useroffset = 0;
-               size_t usersize = size - useroffset;
+               spl_wait_queue_head_t wq_head;
+               spl_wait_queue_entry_t wq_entry;
+               struct list_head *head __attribute__ ((unused));
+               struct list_head *entry __attribute__ ((unused));
 
 
-               skc_linux_cache = kmem_cache_create_usercopy(
-                       name, size, align, flags, useroffset, usersize, ctor);
+               head = &wq_head.head;
+               entry = &wq_entry.entry;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -18837,7 +18447,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_KMEM_CACHE_CREATE_USERCOPY 1
+#define HAVE_WAIT_QUEUE_HEAD_ENTRY 1
 _ACEOF
 
 
 _ACEOF
 
 
        rm -Rf build
 
 
        rm -Rf build
 
 
-       EXTRA_KCFLAGS="$tmp_flags"
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether wait_queue_entry_t exists" >&5
-$as_echo_n "checking whether wait_queue_entry_t exists... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether io_schedule_timeout() is available" >&5
+$as_echo_n "checking whether io_schedule_timeout() is available... " >&6; }
+
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -18870,13 +18480,13 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/wait.h>
+               #include <linux/sched.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               wait_queue_entry_t *entry __attribute__ ((unused));
+               (void) io_schedule_timeout(1);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -18900,33 +18510,74 @@ _ACEOF
   ac_status=$?
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
   ac_status=$?
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
+  rc=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+ rc=1
 
 
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_WAIT_QUEUE_ENTRY_T 1
-_ACEOF
+fi
 
 
+       rm -Rf build
 
 
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+
+       if test $rc -ne 0; then :
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 
+       else
+               if test "x$enable_linux_builtin" != xyes; then
 
 
+       grep -q -E '[[:space:]]io_schedule_timeout[[:space:]]' \
+               $LINUX_OBJ/Module*.symvers 2>/dev/null
+       rc=$?
+       if test $rc -ne 0; then
+               export=0
+               for file in ; do
+                       grep -q -E "EXPORT_SYMBOL.*(io_schedule_timeout)" \
+                               "$LINUX_OBJ/$file" 2>/dev/null
+                       rc=$?
+                       if test $rc -eq 0; then
+                               export=1
+                               break;
+                       fi
+               done
+               if test $export -eq 0; then :
+                       rc=1
+               else :
+                       rc=0
+               fi
+       else :
+               rc=0
+       fi
 
 
-fi
+               fi
+               if test $rc -ne 0; then :
 
 
-       rm -Rf build
+               { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 
 
+               else :
 
 
+               { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
 
 
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_IO_SCHEDULE_TIMEOUT 1
+_ACEOF
 
 
-       { $as_echo "$as_me:$LINENO: checking whether wq_head->head and wq_entry->entry exist" >&5
-$as_echo_n "checking whether wq_head->head and wq_entry->entry exist... " >&6; }
+
+               fi
+       fi
+
+
+
+       { $as_echo "$as_me:$LINENO: checking whether kernel_write() takes loff_t pointer" >&5
+$as_echo_n "checking whether kernel_write() takes loff_t pointer... " >&6; }
+       tmp_flags="$EXTRA_KCFLAGS"
+       EXTRA_KCFLAGS="-Werror"
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -18937,27 +18588,19 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/wait.h>
-
-               #ifdef HAVE_WAIT_QUEUE_ENTRY_T
-               typedef wait_queue_head_t       spl_wait_queue_head_t;
-               typedef wait_queue_entry_t      spl_wait_queue_entry_t;
-               #else
-               typedef wait_queue_head_t       spl_wait_queue_head_t;
-               typedef wait_queue_t            spl_wait_queue_entry_t;
-               #endif
+               #include <linux/fs.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               spl_wait_queue_head_t wq_head;
-               spl_wait_queue_entry_t wq_entry;
-               struct list_head *head __attribute__ ((unused));
-               struct list_head *entry __attribute__ ((unused));
+               struct file *file = NULL;
+               const void *buf = NULL;
+               size_t count = 0;
+               loff_t *pos = NULL;
+               ssize_t ret;
 
 
-               head = &wq_head.head;
-               entry = &wq_entry.entry;
+               ret = kernel_write(file, buf, count, pos);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -18986,7 +18629,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_WAIT_QUEUE_HEAD_ENTRY 1
+#define HAVE_KERNEL_WRITE_PPOS 1
 _ACEOF
 
 
 _ACEOF
 
 
        rm -Rf build
 
 
        rm -Rf build
 
 
+       EXTRA_KCFLAGS="$tmp_flags"
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether kernel_write() takes loff_t pointer" >&5
-$as_echo_n "checking whether kernel_write() takes loff_t pointer... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether kernel_read() takes loff_t pointer" >&5
+$as_echo_n "checking whether kernel_read() takes loff_t pointer... " >&6; }
        tmp_flags="$EXTRA_KCFLAGS"
        EXTRA_KCFLAGS="-Werror"
 
        tmp_flags="$EXTRA_KCFLAGS"
        EXTRA_KCFLAGS="-Werror"
 
@@ -19027,12 +18671,12 @@ main (void)
 {
 
                struct file *file = NULL;
 {
 
                struct file *file = NULL;
-               const void *buf = NULL;
+               void *buf = NULL;
                size_t count = 0;
                loff_t *pos = NULL;
                ssize_t ret;
 
                size_t count = 0;
                loff_t *pos = NULL;
                ssize_t ret;
 
-               ret = kernel_write(file, buf, count, pos);
+               ret = kernel_read(file, buf, count, pos);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -19061,7 +18705,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_KERNEL_WRITE_PPOS 1
+#define HAVE_KERNEL_READ_PPOS 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -19082,8 +18726,8 @@ fi
        EXTRA_KCFLAGS="$tmp_flags"
 
 
        EXTRA_KCFLAGS="$tmp_flags"
 
 
-       { $as_echo "$as_me:$LINENO: checking whether kernel_read() takes loff_t pointer" >&5
-$as_echo_n "checking whether kernel_read() takes loff_t pointer... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether timer_list.function gets a timer_list" >&5
+$as_echo_n "checking whether timer_list.function gets a timer_list... " >&6; }
        tmp_flags="$EXTRA_KCFLAGS"
        EXTRA_KCFLAGS="-Werror"
 
        tmp_flags="$EXTRA_KCFLAGS"
        EXTRA_KCFLAGS="-Werror"
 
@@ -19096,19 +18740,20 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/fs.h>
+               #include <linux/timer.h>
+               void task_expire(struct timer_list *tl) {}
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct file *file = NULL;
-               void *buf = NULL;
-               size_t count = 0;
-               loff_t *pos = NULL;
-               ssize_t ret;
+               #ifndef from_timer
+               #error "No from_timer() macro"
+               #endif
 
 
-               ret = kernel_read(file, buf, count, pos);
+               struct timer_list timer;
+               timer.function = task_expire;
+               timer_setup(&timer, NULL, 0);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -19137,7 +18782,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_KERNEL_READ_PPOS 1
+#define HAVE_KERNEL_TIMER_FUNCTION_TIMER_LIST 1
 _ACEOF
 
 
 _ACEOF
 
 
 
 
 
 
 
 
-ac_config_files="$ac_config_files Makefile man/Makefile man/man1/Makefile man/man5/Makefile lib/Makefile cmd/Makefile cmd/splat/Makefile cmd/splslab/Makefile module/Makefile module/spl/Makefile module/splat/Makefile include/Makefile include/fs/Makefile include/linux/Makefile include/rpc/Makefile include/sharefs/Makefile include/sys/Makefile include/sys/fm/Makefile include/sys/fs/Makefile include/sys/sysevent/Makefile include/util/Makefile include/vm/Makefile scripts/Makefile rpm/Makefile rpm/redhat/Makefile rpm/redhat/spl.spec rpm/redhat/spl-kmod.spec rpm/redhat/spl-dkms.spec rpm/generic/Makefile rpm/generic/spl.spec rpm/generic/spl-kmod.spec rpm/generic/spl-dkms.spec spl.release"
+       { $as_echo "$as_me:$LINENO: checking whether debugging is enabled" >&5
+$as_echo_n "checking whether debugging is enabled... " >&6; }
+       # Check whether --enable-debug was given.
+if test "${enable_debug+set}" = set; then
+  enableval=$enable_debug;
+else
+  enable_debug=no
+fi
+
+
+       if test "x$enable_debug" = xyes; then
+
+               KERNELCPPFLAGS="${KERNELCPPFLAGS} -DDEBUG -Werror"
+               DEBUG_CFLAGS="-DDEBUG -Werror"
+               DEBUG_SPL="_with_debug"
+
+else
+
+               KERNELCPPFLAGS="${KERNELCPPFLAGS} -DNDEBUG"
+               DEBUG_CFLAGS="-DNDEBUG"
+               DEBUG_SPL="_without_debug"
+
+fi
+
+
+
+
+       { $as_echo "$as_me:$LINENO: result: $enable_debug" >&5
+$as_echo "$enable_debug" >&6; }
+
+
+       # Check whether --enable-debug-kmem was given.
+if test "${enable_debug_kmem+set}" = set; then
+  enableval=$enable_debug_kmem;
+else
+  enable_debug_kmem=no
+fi
+
+
+       if test "x$enable_debug_kmem" = xyes; then
+
+               KERNELCPPFLAGS="${KERNELCPPFLAGS} -DDEBUG_KMEM"
+               DEBUG_KMEM="_with_debug_kmem"
+
+cat >>confdefs.h <<\_ACEOF
+#define DEBUG_KMEM 1
+_ACEOF
+
+
+else
+
+               DEBUG_KMEM="_without_debug_kmem"
+
+fi
+
+
+
+       { $as_echo "$as_me:$LINENO: checking whether basic kmem accounting is enabled" >&5
+$as_echo_n "checking whether basic kmem accounting is enabled... " >&6; }
+       { $as_echo "$as_me:$LINENO: result: $enable_debug_kmem" >&5
+$as_echo "$enable_debug_kmem" >&6; }
+
+
+       # Check whether --enable-debug-kmem-tracking was given.
+if test "${enable_debug_kmem_tracking+set}" = set; then
+  enableval=$enable_debug_kmem_tracking;
+else
+  enable_debug_kmem_tracking=no
+fi
+
+
+       if test "x$enable_debug_kmem_tracking" = xyes; then
+
+               KERNELCPPFLAGS="${KERNELCPPFLAGS} -DDEBUG_KMEM_TRACKING"
+               DEBUG_KMEM_TRACKING="_with_debug_kmem_tracking"
+
+cat >>confdefs.h <<\_ACEOF
+#define DEBUG_KMEM_TRACKING 1
+_ACEOF
+
+
+else
+
+               DEBUG_KMEM_TRACKING="_without_debug_kmem_tracking"
+
+fi
+
+
+
+       { $as_echo "$as_me:$LINENO: checking whether detailed kmem tracking is enabled" >&5
+$as_echo_n "checking whether detailed kmem tracking is enabled... " >&6; }
+       { $as_echo "$as_me:$LINENO: result: $enable_debug_kmem_tracking" >&5
+$as_echo "$enable_debug_kmem_tracking" >&6; }
+
+
+ac_config_files="$ac_config_files Makefile man/Makefile man/man1/Makefile man/man5/Makefile lib/Makefile cmd/Makefile cmd/splat/Makefile cmd/splslab/Makefile module/Makefile module/spl/Makefile module/splat/Makefile include/Makefile include/fs/Makefile include/linux/Makefile include/rpc/Makefile include/sharefs/Makefile include/sys/Makefile include/sys/fm/Makefile include/sys/fs/Makefile include/util/Makefile include/vm/Makefile scripts/Makefile rpm/Makefile rpm/redhat/Makefile rpm/redhat/spl.spec rpm/redhat/spl-kmod.spec rpm/redhat/spl-dkms.spec rpm/generic/Makefile rpm/generic/spl.spec rpm/generic/spl-kmod.spec rpm/generic/spl-dkms.spec spl.release"
 
 
 cat >confcache <<\_ACEOF
 
 
 cat >confcache <<\_ACEOF
@@ -19654,7 +19394,7 @@ exec 6>&1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by spl $as_me 0.7.5, which was
+This file was extended by spl $as_me 0.7.11, which was
 generated by GNU Autoconf 2.63.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
 generated by GNU Autoconf 2.63.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -19717,7 +19457,7 @@ Report bugs to <bug-autoconf@gnu.org>."
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_version="\\
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_version="\\
-spl config.status 0.7.5
+spl config.status 0.7.11
 configured by $0, generated by GNU Autoconf 2.63,
   with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
 configured by $0, generated by GNU Autoconf 2.63,
   with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
@@ -20117,7 +19857,6 @@ do
     "include/sys/Makefile") CONFIG_FILES="$CONFIG_FILES include/sys/Makefile" ;;
     "include/sys/fm/Makefile") CONFIG_FILES="$CONFIG_FILES include/sys/fm/Makefile" ;;
     "include/sys/fs/Makefile") CONFIG_FILES="$CONFIG_FILES include/sys/fs/Makefile" ;;
     "include/sys/Makefile") CONFIG_FILES="$CONFIG_FILES include/sys/Makefile" ;;
     "include/sys/fm/Makefile") CONFIG_FILES="$CONFIG_FILES include/sys/fm/Makefile" ;;
     "include/sys/fs/Makefile") CONFIG_FILES="$CONFIG_FILES include/sys/fs/Makefile" ;;
-    "include/sys/sysevent/Makefile") CONFIG_FILES="$CONFIG_FILES include/sys/sysevent/Makefile" ;;
     "include/util/Makefile") CONFIG_FILES="$CONFIG_FILES include/util/Makefile" ;;
     "include/vm/Makefile") CONFIG_FILES="$CONFIG_FILES include/vm/Makefile" ;;
     "scripts/Makefile") CONFIG_FILES="$CONFIG_FILES scripts/Makefile" ;;
     "include/util/Makefile") CONFIG_FILES="$CONFIG_FILES include/util/Makefile" ;;
     "include/vm/Makefile") CONFIG_FILES="$CONFIG_FILES include/vm/Makefile" ;;
     "scripts/Makefile") CONFIG_FILES="$CONFIG_FILES scripts/Makefile" ;;