Linux 3.3 compat, sops->show_options()
[zfs.git] / configure
index f30b1ff..e5004b5 100755 (executable)
--- a/configure
+++ b/configure
@@ -813,10 +813,6 @@ LINUX
 NO_UNUSED_BUT_SET_VARIABLE
 ZFS_CONFIG
 TARGET_ASM_DIR
-DEFAULT_INIT_SCRIPT
-DEFAULT_INIT_DIR
-DEFAULT_PACKAGE
-VENDOR
 MAKEPKG_VERSION
 MAKEPKG
 HAVE_MAKEPKG
@@ -838,6 +834,10 @@ HAVE_RPMBUILD
 RPM_VERSION
 RPM
 HAVE_RPM
+DEFAULT_INIT_SCRIPT
+DEFAULT_INIT_DIR
+DEFAULT_PACKAGE
+VENDOR
 am__fastdepCCAS_FALSE
 am__fastdepCCAS_TRUE
 CCASDEPMODE
@@ -11671,6 +11671,83 @@ $as_echo "$ZFS_META_LICENSE" >&6; }
 
 
 
+       { $as_echo "$as_me:$LINENO: checking linux distribution" >&5
+$as_echo_n "checking linux distribution... " >&6; }
+       if test -f /etc/redhat-release ; then
+               VENDOR=redhat ;
+       elif test -f /etc/fedora-release ; then
+               VENDOR=fedora ;
+       elif test -f /etc/gentoo-release ; then
+               VENDOR=gentoo ;
+       elif test -f /etc/debian_version ; then
+               VENDOR=debian ;
+       elif test -f /etc/SuSE-release ; then
+               VENDOR=sles ;
+       elif test -f /etc/slackware-version ; then
+               VENDOR=slackware ;
+       elif test -f /etc/arch-release ; then
+               VENDOR=arch ;
+       elif test -f /etc/lsb-release ; then
+               VENDOR=ubuntu ;
+       elif test -f /etc/lunar.release ; then
+               VENDOR=lunar ;
+       else
+               VENDOR= ;
+       fi
+       { $as_echo "$as_me:$LINENO: result: $VENDOR" >&5
+$as_echo "$VENDOR" >&6; }
+
+
+       { $as_echo "$as_me:$LINENO: checking default package type" >&5
+$as_echo_n "checking default package type... " >&6; }
+       case "$VENDOR" in
+               redhat)     DEFAULT_PACKAGE=rpm ;;
+               fedora)     DEFAULT_PACKAGE=rpm ;;
+               ubuntu)     DEFAULT_PACKAGE=deb ;;
+               debian)     DEFAULT_PACKAGE=deb ;;
+               sles)       DEFAULT_PACKAGE=rpm ;;
+               slackware)  DEFAULT_PACKAGE=tgz ;;
+               gentoo)     DEFAULT_PACKAGE=tgz ;;
+               lunar)      DEFAULT_PACKAGE=tgz ;;
+               arch)       DEFAULT_PACKAGE=arch;;
+               *)          DEFAULT_PACKAGE=rpm ;;
+       esac
+
+       { $as_echo "$as_me:$LINENO: result: $DEFAULT_PACKAGE" >&5
+$as_echo "$DEFAULT_PACKAGE" >&6; }
+
+
+       { $as_echo "$as_me:$LINENO: checking default init directory" >&5
+$as_echo_n "checking default init directory... " >&6; }
+       case "$VENDOR" in
+               arch)       DEFAULT_INIT_DIR=$sysconfdir/rc.d ;;
+               *)          DEFAULT_INIT_DIR=$sysconfdir/init.d ;;
+       esac
+
+       { $as_echo "$as_me:$LINENO: result: $DEFAULT_INIT_DIR" >&5
+$as_echo "$DEFAULT_INIT_DIR" >&6; }
+
+
+       { $as_echo "$as_me:$LINENO: checking default init script type" >&5
+$as_echo_n "checking default init script type... " >&6; }
+       case "$VENDOR" in
+               redhat)     DEFAULT_INIT_SCRIPT=redhat ;;
+               fedora)     DEFAULT_INIT_SCRIPT=fedora ;;
+               ubuntu)     DEFAULT_INIT_SCRIPT=lsb ;;
+               debian)     DEFAULT_INIT_SCRIPT=lsb ;;
+               sles)       DEFAULT_INIT_SCRIPT=lsb ;;
+               slackware)  DEFAULT_INIT_SCRIPT=lsb ;;
+               gentoo)     DEFAULT_INIT_SCRIPT=gentoo ;;
+               lunar)      DEFAULT_INIT_SCRIPT=lunar ;;
+               arch)       DEFAULT_INIT_SCRIPT=arch ;;
+               *)          DEFAULT_INIT_SCRIPT=lsb ;;
+       esac
+
+       { $as_echo "$as_me:$LINENO: result: $DEFAULT_INIT_SCRIPT" >&5
+$as_echo "$DEFAULT_INIT_SCRIPT" >&6; }
+
+
+
        RPM=rpm
        RPMBUILD=rpmbuild
 
@@ -11793,6 +11870,8 @@ fi
 
 
 
+       if test "$VENDOR" = "arch"; then
+
        PACMAN=pacman
        MAKEPKG=makepkg
 
 
 
 
-
-       { $as_echo "$as_me:$LINENO: checking linux distribution" >&5
-$as_echo_n "checking linux distribution... " >&6; }
-       if test -f /etc/redhat-release ; then
-               VENDOR=redhat ;
-       elif test -f /etc/fedora-release ; then
-               VENDOR=fedora ;
-       elif test -f /etc/gentoo-release ; then
-               VENDOR=gentoo ;
-       elif test -f /etc/debian_version ; then
-               VENDOR=debian ;
-       elif test -f /etc/SuSE-release ; then
-               VENDOR=sles ;
-       elif test -f /etc/slackware-version ; then
-               VENDOR=slackware ;
-       elif test -f /etc/arch-release ; then
-               VENDOR=arch ;
-       elif test -f /etc/lsb-release ; then
-               VENDOR=ubuntu ;
-       elif test -f /etc/lunar.release ; then
-               VENDOR=lunar ;
-       else
-               VENDOR= ;
-       fi
-       { $as_echo "$as_me:$LINENO: result: $VENDOR" >&5
-$as_echo "$VENDOR" >&6; }
-
-
-       { $as_echo "$as_me:$LINENO: checking default package type" >&5
-$as_echo_n "checking default package type... " >&6; }
-       case "$VENDOR" in
-               redhat)     DEFAULT_PACKAGE=rpm ;;
-               fedora)     DEFAULT_PACKAGE=rpm ;;
-               ubuntu)     DEFAULT_PACKAGE=deb ;;
-               debian)     DEFAULT_PACKAGE=deb ;;
-               sles)       DEFAULT_PACKAGE=rpm ;;
-               slackware)  DEFAULT_PACKAGE=tgz ;;
-               gentoo)     DEFAULT_PACKAGE=tgz ;;
-               lunar)      DEFAULT_PACKAGE=tgz ;;
-               arch)       DEFAULT_PACKAGE=arch;;
-               *)          DEFAULT_PACKAGE=rpm ;;
-       esac
-
-       { $as_echo "$as_me:$LINENO: result: $DEFAULT_PACKAGE" >&5
-$as_echo "$DEFAULT_PACKAGE" >&6; }
-
-
-       { $as_echo "$as_me:$LINENO: checking default init directory" >&5
-$as_echo_n "checking default init directory... " >&6; }
-       case "$VENDOR" in
-               arch)       DEFAULT_INIT_DIR=$sysconfdir/rc.d ;;
-               *)          DEFAULT_INIT_DIR=$sysconfdir/init.d ;;
-       esac
-
-       { $as_echo "$as_me:$LINENO: result: $DEFAULT_INIT_DIR" >&5
-$as_echo "$DEFAULT_INIT_DIR" >&6; }
-
-
-       { $as_echo "$as_me:$LINENO: checking default init script type" >&5
-$as_echo_n "checking default init script type... " >&6; }
-       case "$VENDOR" in
-               redhat)     DEFAULT_INIT_SCRIPT=redhat ;;
-               fedora)     DEFAULT_INIT_SCRIPT=fedora ;;
-               ubuntu)     DEFAULT_INIT_SCRIPT=lsb ;;
-               debian)     DEFAULT_INIT_SCRIPT=lsb ;;
-               sles)       DEFAULT_INIT_SCRIPT=lsb ;;
-               slackware)  DEFAULT_INIT_SCRIPT=lsb ;;
-               gentoo)     DEFAULT_INIT_SCRIPT=gentoo ;;
-               lunar)      DEFAULT_INIT_SCRIPT=lunar ;;
-               arch)       DEFAULT_INIT_SCRIPT=arch ;;
-               *)          DEFAULT_INIT_SCRIPT=lsb ;;
-       esac
-
-       { $as_echo "$as_me:$LINENO: result: $DEFAULT_INIT_SCRIPT" >&5
-$as_echo "$DEFAULT_INIT_SCRIPT" >&6; }
-
+fi
 
 
 
@@ -12318,9 +12322,9 @@ $as_echo_n "checking spl source version... " >&6; }
 
 
                splsrcver=`(echo "#include <spl_config.h>";
-                           echo "splsrcver=SPL_META_VERSION") |
+                           echo "splsrcver=SPL_META_VERSION-SPL_META_RELEASE") |
                            cpp -I $splbuild |
-                           grep "^splsrcver=" | cut -d \" -f 2`
+                           grep "^splsrcver=" | tr -d \" | cut -d= -f2`
 
 fi
 
 
 
 
+       { $as_echo "$as_me:$LINENO: checking whether sops->show_options() wants dentry" >&5
+$as_echo_n "checking whether sops->show_options() wants dentry... " >&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)
+{
+
+               int (*show_options) (struct seq_file *, struct dentry *) = NULL;
+               struct super_operations sops __attribute__ ((unused));
+
+               sops.show_options = show_options;
+
+  ;
+  return 0;
+}
+
+_ACEOF
+
+
+       rm -Rf build && mkdir -p build
+       echo "obj-m := conftest.o" >build/Makefile
+       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'
+  { (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_SHOW_OPTIONS_WITH_DENTRY 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
+
+
+
+
        { $as_echo "$as_me:$LINENO: checking whether fops->fsync() wants" >&5
 $as_echo_n "checking whether fops->fsync() wants... " >&6; }
 
@@ -15144,7 +15217,14 @@ int
 main (void)
 {
 
-               security_inode_init_security(NULL,NULL,NULL,NULL,NULL,NULL);
+               struct inode *ip __attribute__ ((unused)) = NULL;
+               struct inode *dip __attribute__ ((unused)) = NULL;
+               const struct qstr *str __attribute__ ((unused)) = NULL;
+               char *name __attribute__ ((unused)) = NULL;
+               void *value __attribute__ ((unused)) = NULL;
+               size_t len __attribute__ ((unused)) = 0;
+
+               security_inode_init_security(ip, dip, str, &name, &value, &len);
 
   ;
   return 0;
        EXTRA_KCFLAGS="$tmp_flags"
 
 
+       { $as_echo "$as_me:$LINENO: checking whether security_inode_init_security wants callback" >&5
+$as_echo_n "checking whether security_inode_init_security wants callback... " >&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/security.h>
+
+int
+main (void)
+{
+
+               struct inode *ip __attribute__ ((unused)) = NULL;
+               struct inode *dip __attribute__ ((unused)) = NULL;
+               const struct qstr *str __attribute__ ((unused)) = NULL;
+               initxattrs func __attribute__ ((unused)) = NULL;
+
+               security_inode_init_security(ip, dip, str, func, NULL);
+
+  ;
+  return 0;
+}
+
+_ACEOF
+
+
+       rm -Rf build && mkdir -p build
+       echo "obj-m := conftest.o" >build/Makefile
+       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'
+  { (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_CALLBACK_SECURITY_INODE_INIT_SECURITY 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 symbol mount_nodev is exported" >&5
 $as_echo_n "checking whether symbol mount_nodev is exported... " >&6; }
        grep -q -E '[[:space:]]mount_nodev[[:space:]]' \
@@ -17365,9 +17518,9 @@ $as_echo_n "checking spl source version... " >&6; }
 
 
                splsrcver=`(echo "#include <spl_config.h>";
-                           echo "splsrcver=SPL_META_VERSION") |
+                           echo "splsrcver=SPL_META_VERSION-SPL_META_RELEASE") |
                            cpp -I $splbuild |
-                           grep "^splsrcver=" | cut -d \" -f 2`
+                           grep "^splsrcver=" | tr -d \" | cut -d= -f2`
 
 fi
 
 
 
 
+       { $as_echo "$as_me:$LINENO: checking whether sops->show_options() wants dentry" >&5
+$as_echo_n "checking whether sops->show_options() wants dentry... " >&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)
+{
+
+               int (*show_options) (struct seq_file *, struct dentry *) = NULL;
+               struct super_operations sops __attribute__ ((unused));
+
+               sops.show_options = show_options;
+
+  ;
+  return 0;
+}
+
+_ACEOF
+
+
+       rm -Rf build && mkdir -p build
+       echo "obj-m := conftest.o" >build/Makefile
+       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'
+  { (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_SHOW_OPTIONS_WITH_DENTRY 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
+
+
+
+
        { $as_echo "$as_me:$LINENO: checking whether fops->fsync() wants" >&5
 $as_echo_n "checking whether fops->fsync() wants... " >&6; }
 
@@ -20191,7 +20413,14 @@ int
 main (void)
 {
 
-               security_inode_init_security(NULL,NULL,NULL,NULL,NULL,NULL);
+               struct inode *ip __attribute__ ((unused)) = NULL;
+               struct inode *dip __attribute__ ((unused)) = NULL;
+               const struct qstr *str __attribute__ ((unused)) = NULL;
+               char *name __attribute__ ((unused)) = NULL;
+               void *value __attribute__ ((unused)) = NULL;
+               size_t len __attribute__ ((unused)) = 0;
+
+               security_inode_init_security(ip, dip, str, &name, &value, &len);
 
   ;
   return 0;
        EXTRA_KCFLAGS="$tmp_flags"
 
 
+       { $as_echo "$as_me:$LINENO: checking whether security_inode_init_security wants callback" >&5
+$as_echo_n "checking whether security_inode_init_security wants callback... " >&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/security.h>
+
+int
+main (void)
+{
+
+               struct inode *ip __attribute__ ((unused)) = NULL;
+               struct inode *dip __attribute__ ((unused)) = NULL;
+               const struct qstr *str __attribute__ ((unused)) = NULL;
+               initxattrs func __attribute__ ((unused)) = NULL;
+
+               security_inode_init_security(ip, dip, str, func, NULL);
+
+  ;
+  return 0;
+}
+
+_ACEOF
+
+
+       rm -Rf build && mkdir -p build
+       echo "obj-m := conftest.o" >build/Makefile
+       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'
+  { (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_CALLBACK_SECURITY_INODE_INIT_SECURITY 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 symbol mount_nodev is exported" >&5
 $as_echo_n "checking whether symbol mount_nodev is exported... " >&6; }
        grep -q -E '[[:space:]]mount_nodev[[:space:]]' \