X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=configure;h=e70651f885954ab15a05a83c0631d526c79161cf;hb=5547c2f1bf49802835fd6c52f15115ba344a2a8b;hp=5e501eefbff3066de4e904d147b2e7f43cf2efa5;hpb=055656d4f4dfc1a85646a2c0cc10b9dce86da72b;p=zfs.git diff --git a/configure b/configure index 5e501ee..e70651f 100755 --- a/configure +++ b/configure @@ -798,6 +798,8 @@ LIBSELINUX LIBBLKID LIBUUID ZLIB +udevruledir +udevdir KERNELCPPFLAGS KERNELMAKE_PARAMS SPL_SYMBOLS @@ -808,9 +810,11 @@ LINUX_SYMBOLS LINUX_VERSION LINUX_OBJ LINUX +NO_UNUSED_BUT_SET_VARIABLE ZFS_CONFIG TARGET_ASM_DIR DEFAULT_INIT_SCRIPT +DEFAULT_INIT_DIR DEFAULT_PACKAGE VENDOR ALIEN_VERSION @@ -973,6 +977,8 @@ with_linux with_linux_obj with_spl with_spl_obj +with_udevdir +with_udevruledir with_blkid with_selinux enable_debug @@ -1641,6 +1647,8 @@ Optional Packages: --with-linux-obj=PATH Path to kernel build objects --with-spl=PATH Path to spl source --with-spl-obj=PATH Path to spl build objects + --with-udevdir=DIR install udev helpers [EPREFIX/lib/udev] + --with-udevruledir=DIR install udev rules [UDEVDIR/rules.d] --with-blkid support blkid caching [default=check] --with-selinux support selinux [default=check] @@ -4821,13 +4829,13 @@ if test "${lt_cv_nm_interface+set}" = set; then else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:4824: $ac_compile\"" >&5) + (eval echo "\"\$as_me:4832: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 - (eval echo "\"\$as_me:4827: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval echo "\"\$as_me:4835: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 - (eval echo "\"\$as_me:4830: output\"" >&5) + (eval echo "\"\$as_me:4838: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" @@ -6033,7 +6041,7 @@ ia64-*-hpux*) ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 6036 "configure"' > conftest.$ac_ext + echo '#line 6044 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -7886,11 +7894,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7889: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7897: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:7893: \$? = $ac_status" >&5 + echo "$as_me:7901: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -8225,11 +8233,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8228: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8236: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:8232: \$? = $ac_status" >&5 + echo "$as_me:8240: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -8330,11 +8338,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8333: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8341: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:8337: \$? = $ac_status" >&5 + echo "$as_me:8345: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -8385,11 +8393,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8388: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8396: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:8392: \$? = $ac_status" >&5 + echo "$as_me:8400: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -11188,7 +11196,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11191 "configure" +#line 11199 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11284,7 +11292,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11287 "configure" +#line 11295 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11785,16 +11793,20 @@ $as_echo_n "checking linux distribution... " >&6; } VENDOR=redhat ; elif test -f /etc/fedora-release ; then VENDOR=fedora ; - elif test -f /etc/lsb-release ; then - VENDOR=ubuntu ; + 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/gentoo-release ; then - VENDOR=gentoo ; + elif test -f /etc/lsb-release ; then + VENDOR=ubuntu ; + elif test -f /etc/lunar.release ; then + VENDOR=lunar ; + elif test -f /etc/arch-release ; then + VENDOR=arch ; else VENDOR= ; fi @@ -11805,12 +11817,14 @@ $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 - fedora) DEFAULT_PACKAGE=rpm ;; redhat) DEFAULT_PACKAGE=rpm ;; - sles) 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 ;; *) DEFAULT_PACKAGE=rpm ;; esac @@ -11818,15 +11832,29 @@ $as_echo_n "checking default package type... " >&6; } $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 ;; - redhat) DEFAULT_INIT_SCRIPT=fedora ;; - sles) DEFAULT_INIT_SCRIPT=lsb ;; 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 @@ -11853,6 +11881,88 @@ $as_echo_n "checking zfs config... " >&6; } $as_echo "$ZFS_CONFIG" >&6; }; + + + { $as_echo "$as_me:$LINENO: checking for -Wno-unused-but-set-variable support" >&5 +$as_echo_n "checking for -Wno-unused-but-set-variable support... " >&6; } + + saved_flags="$CFLAGS" + CFLAGS="$CFLAGS -Wunused-but-set-variable" + + if test "$cross_compiling" = yes; then + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: cannot run test program while cross compiling +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; }; } +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + + NO_UNUSED_BUT_SET_VARIABLE=-Wno-unused-but-set-variable + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + +else + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) + + NO_UNUSED_BUT_SET_VARIABLE= + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } + +fi +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + + + CFLAGS="$saved_flags" + + + + case "$ZFS_CONFIG" in kernel) @@ -11873,21 +11983,32 @@ fi { $as_echo "$as_me:$LINENO: checking kernel source directory" >&5 $as_echo_n "checking kernel source directory... " >&6; } if test -z "$kernelsrc"; then + if test -e "/lib/modules/$(uname -r)/source"; then + headersdir="/lib/modules/$(uname -r)/source" sourcelink=$(readlink -f "$headersdir") - elif test -e "/lib/modules/$(uname -r)/build"; then + +elif test -e "/lib/modules/$(uname -r)/build"; then + headersdir="/lib/modules/$(uname -r)/build" sourcelink=$(readlink -f "$headersdir") - else + +else + sourcelink=$(ls -1d /usr/src/kernels/* \ - /usr/src/linux-* \ + /usr/src/linux-* \ 2>/dev/null | grep -v obj | tail -1) - fi + +fi + if test -n "$sourcelink" && test -e ${sourcelink}; then + kernelsrc=`readlink -f ${sourcelink}` - else + +else + { $as_echo "$as_me:$LINENO: result: Not found" >&5 $as_echo "Not found" >&6; } { { $as_echo "$as_me:$LINENO: error: @@ -11899,30 +12020,53 @@ $as_echo "$as_me: error: *** is installed then try again. If that fails you can specify the *** location of the kernel source with the '--with-linux=PATH' option." >&2;} { (exit 1); exit 1; }; } - fi - else + +fi + + +else + if test "$kernelsrc" = "NONE"; then + kernsrcver=NONE - fi - fi + +fi + + +fi + { $as_echo "$as_me:$LINENO: result: $kernelsrc" >&5 $as_echo "$kernelsrc" >&6; } { $as_echo "$as_me:$LINENO: checking kernel build directory" >&5 $as_echo_n "checking kernel build directory... " >&6; } if test -z "$kernelbuild"; then + if test -e "/lib/modules/$(uname -r)/build"; then + kernelbuild=`readlink -f /lib/modules/$(uname -r)/build` - elif test -d ${kernelsrc}-obj/${target_cpu}/${target_cpu}; then + +elif test -d ${kernelsrc}-obj/${target_cpu}/${target_cpu}; then + kernelbuild=${kernelsrc}-obj/${target_cpu}/${target_cpu} - elif test -d ${kernelsrc}-obj/${target_cpu}/default; then + +elif test -d ${kernelsrc}-obj/${target_cpu}/default; then + kernelbuild=${kernelsrc}-obj/${target_cpu}/default - elif test -d `dirname ${kernelsrc}`/build-${target_cpu}; then + +elif test -d `dirname ${kernelsrc}`/build-${target_cpu}; then + kernelbuild=`dirname ${kernelsrc}`/build-${target_cpu} - else + +else + kernelbuild=${kernelsrc} - fi - fi + +fi + + +fi + { $as_echo "$as_me:$LINENO: result: $kernelbuild" >&5 $as_echo "$kernelbuild" >&6; } @@ -11932,33 +12076,48 @@ $as_echo_n "checking kernel source version... " >&6; } utsrelease2=$kernelbuild/include/linux/utsrelease.h utsrelease3=$kernelbuild/include/generated/utsrelease.h if test -r $utsrelease1 && fgrep -q UTS_RELEASE $utsrelease1; then + utsrelease=linux/version.h - elif test -r $utsrelease2 && fgrep -q UTS_RELEASE $utsrelease2; then + +elif test -r $utsrelease2 && fgrep -q UTS_RELEASE $utsrelease2; then + utsrelease=linux/utsrelease.h - elif test -r $utsrelease3 && fgrep -q UTS_RELEASE $utsrelease3; then + +elif test -r $utsrelease3 && fgrep -q UTS_RELEASE $utsrelease3; then + utsrelease=generated/utsrelease.h - fi + +fi + if test "$utsrelease"; then + kernsrcver=`(echo "#include <$utsrelease>"; echo "kernsrcver=UTS_RELEASE") | cpp -I $kernelbuild/include | grep "^kernsrcver=" | cut -d \" -f 2` if test -z "$kernsrcver"; then + { $as_echo "$as_me:$LINENO: result: Not found" >&5 $as_echo "Not found" >&6; } { { $as_echo "$as_me:$LINENO: error: *** Cannot determine kernel version." >&5 $as_echo "$as_me: error: *** Cannot determine kernel version." >&2;} { (exit 1); exit 1; }; } - fi - else + +fi + + +else + { $as_echo "$as_me:$LINENO: result: Not found" >&5 $as_echo "Not found" >&6; } { { $as_echo "$as_me:$LINENO: error: *** Cannot find UTS_RELEASE definition." >&5 $as_echo "$as_me: error: *** Cannot find UTS_RELEASE definition." >&2;} { (exit 1); exit 1; }; } - fi + +fi + { $as_echo "$as_me:$LINENO: result: $kernsrcver" >&5 $as_echo "$kernsrcver" >&6; } @@ -11976,13 +12135,20 @@ $as_echo "$kernsrcver" >&6; } { $as_echo "$as_me:$LINENO: checking kernel file name for module symbols" >&5 $as_echo_n "checking kernel file name for module symbols... " >&6; } if test -f "$modpost"; then + if grep -q Modules.symvers $modpost; then + LINUX_SYMBOLS=Modules.symvers - else + +else + LINUX_SYMBOLS=Module.symvers - fi - if ! test -f "$LINUX_OBJ/$LINUX_SYMBOLS"; then +fi + + + if test ! -f "$LINUX_OBJ/$LINUX_SYMBOLS"; then + { { $as_echo "$as_me:$LINENO: error: *** Please make sure the kernel devel package for your distribution *** is installed. If your building with a custom kernel make sure the @@ -11994,10 +12160,16 @@ $as_echo "$as_me: error: *** kernel is configured, built, and the '--with-linux=PATH' configure *** option refers to the location of the kernel source." >&2;} { (exit 1); exit 1; }; } - fi - else + +fi + + +else + LINUX_SYMBOLS=NONE - fi + +fi + { $as_echo "$as_me:$LINENO: result: $LINUX_SYMBOLS" >&5 $as_echo "$LINUX_SYMBOLS" >&6; } @@ -12022,16 +12194,23 @@ fi { $as_echo "$as_me:$LINENO: checking spl source directory" >&5 $as_echo_n "checking spl source directory... " >&6; } if test -z "$splsrc"; then + sourcelink=`ls -1d /usr/src/spl-*/${LINUX_VERSION} \ 2>/dev/null | tail -1` if test -z "$sourcelink" || test ! -e $sourcelink; then + sourcelink=../spl - fi + +fi + if test -e $sourcelink; then + splsrc=`readlink -f ${sourcelink}` - else + +else + { $as_echo "$as_me:$LINENO: result: Not found" >&5 $as_echo "Not found" >&6; } { { $as_echo "$as_me:$LINENO: error: @@ -12043,21 +12222,33 @@ $as_echo "$as_me: error: *** is installed then try again. If that fails you can specify the *** location of the spl source with the '--with-spl=PATH' option." >&2;} { (exit 1); exit 1; }; } - fi - else + +fi + + +else + if test "$splsrc" = "NONE"; then + splbuild=NONE splsrcver=NONE - fi - fi + +fi + + +fi + { $as_echo "$as_me:$LINENO: result: $splsrc" >&5 $as_echo "$splsrc" >&6; } { $as_echo "$as_me:$LINENO: checking spl build directory" >&5 $as_echo_n "checking spl build directory... " >&6; } if test -z "$splbuild"; then + splbuild=${splsrc} - fi + +fi + { $as_echo "$as_me:$LINENO: result: $splbuild" >&5 $as_echo "$splbuild" >&6; } @@ -12066,23 +12257,29 @@ $as_echo_n "checking spl source version... " >&6; } if test -r $splbuild/spl_config.h && fgrep -q SPL_META_VERSION $splbuild/spl_config.h; then + splsrcver=`(echo "#include "; echo "splsrcver=SPL_META_VERSION") | cpp -I $splbuild | grep "^splsrcver=" | cut -d \" -f 2` - fi + +fi + if test -z "$splsrcver"; then + { $as_echo "$as_me:$LINENO: result: Not found" >&5 $as_echo "Not found" >&6; } { { $as_echo "$as_me:$LINENO: error: - *** Cannot determine the version of the spl source. - *** Please prepare the spl source before running this script" >&5 + *** Cannot determine the version of the spl source. + *** Please prepare the spl source before running this script" >&5 $as_echo "$as_me: error: - *** Cannot determine the version of the spl source. - *** Please prepare the spl source before running this script" >&2;} + *** Cannot determine the version of the spl source. + *** Please prepare the spl source before running this script" >&2;} { (exit 1); exit 1; }; } - fi + +fi + { $as_echo "$as_me:$LINENO: result: $splsrcver" >&5 $as_echo "$splsrcver" >&6; } @@ -12099,16 +12296,27 @@ $as_echo "$splsrcver" >&6; } { $as_echo "$as_me:$LINENO: checking spl file name for module symbols" >&5 $as_echo_n "checking spl file name for module symbols... " >&6; } if test -r $SPL_OBJ/Module.symvers; then + SPL_SYMBOLS=Module.symvers - elif test -r $SPL_OBJ/Modules.symvers; then + +elif test -r $SPL_OBJ/Modules.symvers; then + SPL_SYMBOLS=Modules.symvers - elif test -r $SPL_OBJ/module/Module.symvers; then + +elif test -r $SPL_OBJ/module/Module.symvers; then + SPL_SYMBOLS=Module.symvers - elif test -r $SPL_OBJ/module/Modules.symvers; then + +elif test -r $SPL_OBJ/module/Modules.symvers; then + SPL_SYMBOLS=Modules.symvers - else + +else + SPL_SYMBOLS=$LINUX_SYMBOLS - fi + +fi + { $as_echo "$as_me:$LINENO: result: $SPL_SYMBOLS" >&5 $as_echo "$SPL_SYMBOLS" >&6; } @@ -12129,9 +12337,7 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #ifndef AUTOCONF_INCLUDED - #include - #endif + #include int main (void) @@ -12165,11 +12371,11 @@ _ACEOF { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } { { $as_echo "$as_me:$LINENO: error: - *** Kernel built with CONFIG_PREEMPT which is not supported. - ** You must rebuild your kernel without this option." >&5 + *** Kernel built with CONFIG_PREEMPT which is not supported. + *** You must rebuild your kernel without this option." >&5 $as_echo "$as_me: error: - *** Kernel built with CONFIG_PREEMPT which is not supported. - ** You must rebuild your kernel without this option." >&2;} + *** Kernel built with CONFIG_PREEMPT which is not supported. + *** You must rebuild your kernel without this option." >&2;} { (exit 1); exit 1; }; } else @@ -12190,6 +12396,7 @@ fi if test "$ZFS_META_LICENSE" = CDDL; then + { $as_echo "$as_me:$LINENO: checking whether Linux was built with CONFIG_DEBUG_LOCK_ALLOC" >&5 $as_echo_n "checking whether Linux was built with CONFIG_DEBUG_LOCK_ALLOC... " >&6; } @@ -12202,9 +12409,7 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #ifndef AUTOCONF_INCLUDED - #include - #endif + #include int main (void) @@ -12238,13 +12443,13 @@ _ACEOF { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } { { $as_echo "$as_me:$LINENO: error: - *** Kernel built with CONFIG_DEBUG_LOCK_ALLOC which is - *** incompatible with the CDDL license. You must rebuild - *** your kernel without this option." >&5 + *** Kernel built with CONFIG_DEBUG_LOCK_ALLOC which is + *** incompatible with the CDDL license. You must rebuild + *** your kernel without this option." >&5 $as_echo "$as_me: error: - *** Kernel built with CONFIG_DEBUG_LOCK_ALLOC which is - *** incompatible with the CDDL license. You must rebuild - *** your kernel without this option." >&2;} + *** Kernel built with CONFIG_DEBUG_LOCK_ALLOC which is + *** incompatible with the CDDL license. You must rebuild + *** your kernel without this option." >&2;} { (exit 1); exit 1; }; } else @@ -12263,15 +12468,20 @@ fi - fi + +fi + if test "$ZFS_META_LICENSE" = GPL; then + cat >>confdefs.h <<\_ACEOF #define HAVE_GPL_ONLY_SYMBOLS 1 _ACEOF - fi + +fi + { $as_echo "$as_me:$LINENO: checking block device operation prototypes" >&5 @@ -12491,20 +12701,27 @@ $as_echo_n "checking whether symbol blkdev_get_by_path is exported... " >&6; } $LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null rc=$? if test $rc -ne 0; then + export=0 for file in fs/block_dev.c; do grep -q -E "EXPORT_SYMBOL.*(blkdev_get_by_path)" "$LINUX/$file" 2>/dev/null rc=$? - if test $rc -eq 0; then - export=1 - break; - fi + if test $rc -eq 0; then + + export=1 + break; + +fi + done if test $export -eq 0; then + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } - else + +else + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } @@ -12512,8 +12729,12 @@ cat >>confdefs.h <<\_ACEOF #define HAVE_BLKDEV_GET_BY_PATH 1 _ACEOF - fi - else + +fi + + +else + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } @@ -12521,7 +12742,9 @@ cat >>confdefs.h <<\_ACEOF #define HAVE_BLKDEV_GET_BY_PATH 1 _ACEOF - fi + +fi + @@ -12531,20 +12754,27 @@ $as_echo_n "checking whether symbol open_bdev_exclusive is exported... " >&6; } $LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null rc=$? if test $rc -ne 0; then + export=0 for file in fs/block_dev.c; do grep -q -E "EXPORT_SYMBOL.*(open_bdev_exclusive)" "$LINUX/$file" 2>/dev/null rc=$? - if test $rc -eq 0; then - export=1 - break; - fi + if test $rc -eq 0; then + + export=1 + break; + +fi + done if test $export -eq 0; then + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } - else + +else + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } @@ -12552,8 +12782,12 @@ cat >>confdefs.h <<\_ACEOF #define HAVE_OPEN_BDEV_EXCLUSIVE 1 _ACEOF - fi - else + +fi + + +else + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } @@ -12561,7 +12795,9 @@ cat >>confdefs.h <<\_ACEOF #define HAVE_OPEN_BDEV_EXCLUSIVE 1 _ACEOF - fi + +fi + @@ -14269,9 +14505,9 @@ main (void) { void (*evict_inode) (struct inode *) = NULL; - struct super_operations sops __attribute__ ((unused)); - - sops.evict_inode = evict_inode; + struct super_operations sops __attribute__ ((unused)) = { + .evict_inode = evict_inode, + }; ; return 0; @@ -14324,20 +14560,27 @@ $as_echo_n "checking whether symbol insert_inode_locked is exported... " >&6; } $LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null rc=$? if test $rc -ne 0; then + export=0 for file in fs/inode.c; do grep -q -E "EXPORT_SYMBOL.*(insert_inode_locked)" "$LINUX/$file" 2>/dev/null rc=$? - if test $rc -eq 0; then - export=1 - break; - fi + if test $rc -eq 0; then + + export=1 + break; + +fi + done if test $export -eq 0; then + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } - else + +else + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } @@ -14345,8 +14588,12 @@ cat >>confdefs.h <<\_ACEOF #define HAVE_INSERT_INODE_LOCKED 1 _ACEOF - fi - else + +fi + + +else + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } @@ -14354,7 +14601,9 @@ cat >>confdefs.h <<\_ACEOF #define HAVE_INSERT_INODE_LOCKED 1 _ACEOF - fi + +fi + @@ -14364,20 +14613,27 @@ $as_echo_n "checking whether symbol d_obtain_alias is exported... " >&6; } $LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null rc=$? if test $rc -ne 0; then + export=0 for file in fs/dcache.c; do grep -q -E "EXPORT_SYMBOL.*(d_obtain_alias)" "$LINUX/$file" 2>/dev/null rc=$? - if test $rc -eq 0; then - export=1 - break; - fi + if test $rc -eq 0; then + + export=1 + break; + +fi + done if test $export -eq 0; then + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } - else + +else + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } @@ -14385,8 +14641,12 @@ cat >>confdefs.h <<\_ACEOF #define HAVE_D_OBTAIN_ALIAS 1 _ACEOF - fi - else + +fi + + +else + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } @@ -14394,156 +14654,529 @@ cat >>confdefs.h <<\_ACEOF #define HAVE_D_OBTAIN_ALIAS 1 _ACEOF - fi +fi - if test "$LINUX_OBJ" != "$LINUX"; then - KERNELMAKE_PARAMS="$KERNELMAKE_PARAMS O=$LINUX_OBJ" - fi + { $as_echo "$as_me:$LINENO: checking whether symbol check_disk_size_change is exported" >&5 +$as_echo_n "checking whether symbol check_disk_size_change is exported... " >&6; } + grep -q -E '[[:space:]]check_disk_size_change[[:space:]]' \ + $LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null + rc=$? + if test $rc -ne 0; then - KERNELCPPFLAGS="$KERNELCPPFLAGS -Wno-unused-but-set-variable" - KERNELCPPFLAGS="$KERNELCPPFLAGS -DHAVE_SPL -D_KERNEL" - KERNELCPPFLAGS="$KERNELCPPFLAGS -DTEXT_DOMAIN=\\\"zfs-linux-kernel\\\"" + export=0 + for file in fs/block_dev.c; do + grep -q -E "EXPORT_SYMBOL.*(check_disk_size_change)" "$LINUX/$file" 2>/dev/null + rc=$? + if test $rc -eq 0; then + export=1 + break; - ;; - user) +fi - { $as_echo "$as_me:$LINENO: checking for target asm dir" >&5 -$as_echo_n "checking for target asm dir... " >&6; } - TARGET_ARCH=`echo ${target_cpu} | sed -e s/i.86/i386/` + done + if test $export -eq 0; then - case $TARGET_ARCH in - i386|x86_64) - TARGET_ASM_DIR=asm-${TARGET_ARCH} - ;; - *) - TARGET_ASM_DIR=asm-generic - ;; - esac + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } - { $as_echo "$as_me:$LINENO: result: $TARGET_ASM_DIR" >&5 -$as_echo "$TARGET_ASM_DIR" >&6; } +else + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } - { $as_echo "$as_me:$LINENO: checking for ioctl()" >&5 -$as_echo_n "checking for ioctl()... " >&6; } - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +cat >>confdefs.h <<\_ACEOF +#define HAVE_CHECK_DISK_SIZE_CHANGE 1 _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "ioctl" >/dev/null 2>&1; then - is_unistd=yes -else - is_unistd=no + fi -rm -f conftest* - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "ioctl" >/dev/null 2>&1; then - is_sys_ioctl=yes else - is_sys_ioctl=no -fi -rm -f conftest* - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } +cat >>confdefs.h <<\_ACEOF +#define HAVE_CHECK_DISK_SIZE_CHANGE 1 _ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "ioctl" >/dev/null 2>&1; then - is_stropts=yes -else - is_stropts=no + + fi -rm -f conftest* - if test $is_unistd = yes; then - result=unistd.h -cat >>confdefs.h <<\_ACEOF -#define HAVE_IOCTL_IN_UNISTD_H 1 -_ACEOF - else + { $as_echo "$as_me:$LINENO: checking whether symbol truncate_setsize is exported" >&5 +$as_echo_n "checking whether symbol truncate_setsize is exported... " >&6; } + grep -q -E '[[:space:]]truncate_setsize[[:space:]]' \ + $LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null + rc=$? + if test $rc -ne 0; then - if test $is_sys_ioctl = yes; then - result=sys/ioctl.h + export=0 + for file in mm/truncate.c; do + grep -q -E "EXPORT_SYMBOL.*(truncate_setsize)" "$LINUX/$file" 2>/dev/null + rc=$? + if test $rc -eq 0; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_IOCTL_IN_SYS_IOCTL_H 1 -_ACEOF + export=1 + break; + +fi + + done + if test $export -eq 0; then + + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } - elif test $is_stropts = yes; then + +else + + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_IOCTL_IN_STROPTS_H 1 +#define HAVE_TRUNCATE_SETSIZE 1 _ACEOF - else - result=no - fi - fi - if test $result = no; then - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } - { { $as_echo "$as_me:$LINENO: error: *** Cannot locate ioctl() definition" >&5 -$as_echo "$as_me: error: *** Cannot locate ioctl() definition" >&2;} - { (exit 1); exit 1; }; } - else +fi + + +else + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } - fi +cat >>confdefs.h <<\_ACEOF +#define HAVE_TRUNCATE_SETSIZE 1 +_ACEOF - ZLIB= - if test "${ac_cv_header_zlib_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for zlib.h" >&5 -$as_echo_n "checking for zlib.h... " >&6; } -if test "${ac_cv_header_zlib_h+set}" = set; then - $as_echo_n "(cached) " >&6 fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 -$as_echo "$ac_cv_header_zlib_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking zlib.h usability" >&5 -$as_echo_n "checking zlib.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF + + + + + { $as_echo "$as_me:$LINENO: checking whether security_inode_init_security wants 6 args" >&5 +$as_echo_n "checking whether security_inode_init_security wants 6 args... " >&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. */ -$ac_includes_default + + + #include + +int +main (void) +{ + + security_inode_init_security(NULL,NULL,NULL,NULL,NULL,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_6ARGS_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:]]' \ + $LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null + rc=$? + if test $rc -ne 0; then + + export=0 + for file in fs/super.c; do + grep -q -E "EXPORT_SYMBOL.*(mount_nodev)" "$LINUX/$file" 2>/dev/null + rc=$? + if test $rc -eq 0; then + + export=1 + break; + +fi + + done + if test $export -eq 0; then + + { $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_MOUNT_NODEV 1 +_ACEOF + + +fi + + +else + + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + +cat >>confdefs.h <<\_ACEOF +#define HAVE_MOUNT_NODEV 1 +_ACEOF + + +fi + + + + + { $as_echo "$as_me:$LINENO: checking whether super_block has s_bdi" >&5 +$as_echo_n "checking whether super_block has s_bdi... " >&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 + +int +main (void) +{ + + struct super_block sb __attribute__ ((unused)); + sb.s_bdi = 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_BDI 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 symbol bdi_setup_and_register is exported" >&5 +$as_echo_n "checking whether symbol bdi_setup_and_register is exported... " >&6; } + grep -q -E '[[:space:]]bdi_setup_and_register[[:space:]]' \ + $LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null + rc=$? + if test $rc -ne 0; then + + export=0 + for file in mm/backing-dev.c; do + grep -q -E "EXPORT_SYMBOL.*(bdi_setup_and_register)" "$LINUX/$file" 2>/dev/null + rc=$? + if test $rc -eq 0; then + + export=1 + break; + +fi + + done + if test $export -eq 0; then + + { $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_BDI_SETUP_AND_REGISTER 1 +_ACEOF + + +fi + + +else + + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + +cat >>confdefs.h <<\_ACEOF +#define HAVE_BDI_SETUP_AND_REGISTER 1 +_ACEOF + + +fi + + + + + if test "$LINUX_OBJ" != "$LINUX"; then + + KERNELMAKE_PARAMS="$KERNELMAKE_PARAMS O=$LINUX_OBJ" + +fi + + + + + KERNELCPPFLAGS="$KERNELCPPFLAGS $NO_UNUSED_BUT_SET_VARIABLE" + KERNELCPPFLAGS="$KERNELCPPFLAGS -DHAVE_SPL -D_KERNEL" + KERNELCPPFLAGS="$KERNELCPPFLAGS -DTEXT_DOMAIN=\\\"zfs-linux-kernel\\\"" + + + ;; + user) + + +# Check whether --with-udevdir was given. +if test "${with_udevdir+set}" = set; then + withval=$with_udevdir; udevdir=$withval +else + udevdir='${exec_prefix}/lib/udev' +fi + + + +# Check whether --with-udevruledir was given. +if test "${with_udevruledir+set}" = set; then + withval=$with_udevruledir; udevruledir=$withval +else + udevruledir='${udevdir}/rules.d' +fi + + + + + + + { $as_echo "$as_me:$LINENO: checking for target asm dir" >&5 +$as_echo_n "checking for target asm dir... " >&6; } + TARGET_ARCH=`echo ${target_cpu} | sed -e s/i.86/i386/` + + case $TARGET_ARCH in + i386|x86_64) + TARGET_ASM_DIR=asm-${TARGET_ARCH} + ;; + *) + TARGET_ASM_DIR=asm-generic + ;; + esac + + + { $as_echo "$as_me:$LINENO: result: $TARGET_ASM_DIR" >&5 +$as_echo "$TARGET_ASM_DIR" >&6; } + + + { $as_echo "$as_me:$LINENO: checking for ioctl()" >&5 +$as_echo_n "checking for ioctl()... " >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "ioctl" >/dev/null 2>&1; then + is_unistd=yes +else + is_unistd=no +fi +rm -f conftest* + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "ioctl" >/dev/null 2>&1; then + is_sys_ioctl=yes +else + is_sys_ioctl=no +fi +rm -f conftest* + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "ioctl" >/dev/null 2>&1; then + is_stropts=yes +else + is_stropts=no +fi +rm -f conftest* + + + if test $is_unistd = yes; then + result=unistd.h + +cat >>confdefs.h <<\_ACEOF +#define HAVE_IOCTL_IN_UNISTD_H 1 +_ACEOF + + else + + if test $is_sys_ioctl = yes; then + result=sys/ioctl.h + +cat >>confdefs.h <<\_ACEOF +#define HAVE_IOCTL_IN_SYS_IOCTL_H 1 +_ACEOF + + elif test $is_stropts = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_IOCTL_IN_STROPTS_H 1 +_ACEOF + + else + result=no + fi + fi + + if test $result = no; then + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } + { { $as_echo "$as_me:$LINENO: error: *** Cannot locate ioctl() definition" >&5 +$as_echo "$as_me: error: *** Cannot locate ioctl() definition" >&2;} + { (exit 1); exit 1; }; } + else + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + fi + + + ZLIB= + + if test "${ac_cv_header_zlib_h+set}" = set; then + { $as_echo "$as_me:$LINENO: checking for zlib.h" >&5 +$as_echo_n "checking for zlib.h... " >&6; } +if test "${ac_cv_header_zlib_h+set}" = set; then + $as_echo_n "(cached) " >&6 +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 +$as_echo "$ac_cv_header_zlib_h" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking zlib.h usability" >&5 +$as_echo_n "checking zlib.h usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default #include _ACEOF rm -f conftest.$ac_objext @@ -15959,21 +16592,32 @@ fi { $as_echo "$as_me:$LINENO: checking kernel source directory" >&5 $as_echo_n "checking kernel source directory... " >&6; } if test -z "$kernelsrc"; then + if test -e "/lib/modules/$(uname -r)/source"; then + headersdir="/lib/modules/$(uname -r)/source" sourcelink=$(readlink -f "$headersdir") - elif test -e "/lib/modules/$(uname -r)/build"; then + +elif test -e "/lib/modules/$(uname -r)/build"; then + headersdir="/lib/modules/$(uname -r)/build" sourcelink=$(readlink -f "$headersdir") - else + +else + sourcelink=$(ls -1d /usr/src/kernels/* \ - /usr/src/linux-* \ + /usr/src/linux-* \ 2>/dev/null | grep -v obj | tail -1) - fi + +fi + if test -n "$sourcelink" && test -e ${sourcelink}; then + kernelsrc=`readlink -f ${sourcelink}` - else + +else + { $as_echo "$as_me:$LINENO: result: Not found" >&5 $as_echo "Not found" >&6; } { { $as_echo "$as_me:$LINENO: error: @@ -15985,30 +16629,53 @@ $as_echo "$as_me: error: *** is installed then try again. If that fails you can specify the *** location of the kernel source with the '--with-linux=PATH' option." >&2;} { (exit 1); exit 1; }; } - fi - else + +fi + + +else + if test "$kernelsrc" = "NONE"; then + kernsrcver=NONE - fi - fi + +fi + + +fi + { $as_echo "$as_me:$LINENO: result: $kernelsrc" >&5 $as_echo "$kernelsrc" >&6; } { $as_echo "$as_me:$LINENO: checking kernel build directory" >&5 $as_echo_n "checking kernel build directory... " >&6; } if test -z "$kernelbuild"; then + if test -e "/lib/modules/$(uname -r)/build"; then + kernelbuild=`readlink -f /lib/modules/$(uname -r)/build` - elif test -d ${kernelsrc}-obj/${target_cpu}/${target_cpu}; then + +elif test -d ${kernelsrc}-obj/${target_cpu}/${target_cpu}; then + kernelbuild=${kernelsrc}-obj/${target_cpu}/${target_cpu} - elif test -d ${kernelsrc}-obj/${target_cpu}/default; then + +elif test -d ${kernelsrc}-obj/${target_cpu}/default; then + kernelbuild=${kernelsrc}-obj/${target_cpu}/default - elif test -d `dirname ${kernelsrc}`/build-${target_cpu}; then + +elif test -d `dirname ${kernelsrc}`/build-${target_cpu}; then + kernelbuild=`dirname ${kernelsrc}`/build-${target_cpu} - else + +else + kernelbuild=${kernelsrc} - fi - fi + +fi + + +fi + { $as_echo "$as_me:$LINENO: result: $kernelbuild" >&5 $as_echo "$kernelbuild" >&6; } @@ -16018,33 +16685,48 @@ $as_echo_n "checking kernel source version... " >&6; } utsrelease2=$kernelbuild/include/linux/utsrelease.h utsrelease3=$kernelbuild/include/generated/utsrelease.h if test -r $utsrelease1 && fgrep -q UTS_RELEASE $utsrelease1; then + utsrelease=linux/version.h - elif test -r $utsrelease2 && fgrep -q UTS_RELEASE $utsrelease2; then + +elif test -r $utsrelease2 && fgrep -q UTS_RELEASE $utsrelease2; then + utsrelease=linux/utsrelease.h - elif test -r $utsrelease3 && fgrep -q UTS_RELEASE $utsrelease3; then + +elif test -r $utsrelease3 && fgrep -q UTS_RELEASE $utsrelease3; then + utsrelease=generated/utsrelease.h - fi + +fi + if test "$utsrelease"; then + kernsrcver=`(echo "#include <$utsrelease>"; echo "kernsrcver=UTS_RELEASE") | cpp -I $kernelbuild/include | grep "^kernsrcver=" | cut -d \" -f 2` if test -z "$kernsrcver"; then + { $as_echo "$as_me:$LINENO: result: Not found" >&5 $as_echo "Not found" >&6; } { { $as_echo "$as_me:$LINENO: error: *** Cannot determine kernel version." >&5 $as_echo "$as_me: error: *** Cannot determine kernel version." >&2;} { (exit 1); exit 1; }; } - fi - else + +fi + + +else + { $as_echo "$as_me:$LINENO: result: Not found" >&5 $as_echo "Not found" >&6; } { { $as_echo "$as_me:$LINENO: error: *** Cannot find UTS_RELEASE definition." >&5 $as_echo "$as_me: error: *** Cannot find UTS_RELEASE definition." >&2;} { (exit 1); exit 1; }; } - fi + +fi + { $as_echo "$as_me:$LINENO: result: $kernsrcver" >&5 $as_echo "$kernsrcver" >&6; } @@ -16062,13 +16744,20 @@ $as_echo "$kernsrcver" >&6; } { $as_echo "$as_me:$LINENO: checking kernel file name for module symbols" >&5 $as_echo_n "checking kernel file name for module symbols... " >&6; } if test -f "$modpost"; then + if grep -q Modules.symvers $modpost; then + LINUX_SYMBOLS=Modules.symvers - else + +else + LINUX_SYMBOLS=Module.symvers - fi - if ! test -f "$LINUX_OBJ/$LINUX_SYMBOLS"; then +fi + + + if test ! -f "$LINUX_OBJ/$LINUX_SYMBOLS"; then + { { $as_echo "$as_me:$LINENO: error: *** Please make sure the kernel devel package for your distribution *** is installed. If your building with a custom kernel make sure the @@ -16080,10 +16769,16 @@ $as_echo "$as_me: error: *** kernel is configured, built, and the '--with-linux=PATH' configure *** option refers to the location of the kernel source." >&2;} { (exit 1); exit 1; }; } - fi - else + +fi + + +else + LINUX_SYMBOLS=NONE - fi + +fi + { $as_echo "$as_me:$LINENO: result: $LINUX_SYMBOLS" >&5 $as_echo "$LINUX_SYMBOLS" >&6; } @@ -16108,16 +16803,23 @@ fi { $as_echo "$as_me:$LINENO: checking spl source directory" >&5 $as_echo_n "checking spl source directory... " >&6; } if test -z "$splsrc"; then + sourcelink=`ls -1d /usr/src/spl-*/${LINUX_VERSION} \ 2>/dev/null | tail -1` if test -z "$sourcelink" || test ! -e $sourcelink; then + sourcelink=../spl - fi + +fi + if test -e $sourcelink; then + splsrc=`readlink -f ${sourcelink}` - else + +else + { $as_echo "$as_me:$LINENO: result: Not found" >&5 $as_echo "Not found" >&6; } { { $as_echo "$as_me:$LINENO: error: @@ -16129,21 +16831,33 @@ $as_echo "$as_me: error: *** is installed then try again. If that fails you can specify the *** location of the spl source with the '--with-spl=PATH' option." >&2;} { (exit 1); exit 1; }; } - fi - else + +fi + + +else + if test "$splsrc" = "NONE"; then + splbuild=NONE splsrcver=NONE - fi - fi + +fi + + +fi + { $as_echo "$as_me:$LINENO: result: $splsrc" >&5 $as_echo "$splsrc" >&6; } { $as_echo "$as_me:$LINENO: checking spl build directory" >&5 $as_echo_n "checking spl build directory... " >&6; } if test -z "$splbuild"; then + splbuild=${splsrc} - fi + +fi + { $as_echo "$as_me:$LINENO: result: $splbuild" >&5 $as_echo "$splbuild" >&6; } @@ -16152,23 +16866,29 @@ $as_echo_n "checking spl source version... " >&6; } if test -r $splbuild/spl_config.h && fgrep -q SPL_META_VERSION $splbuild/spl_config.h; then + splsrcver=`(echo "#include "; echo "splsrcver=SPL_META_VERSION") | cpp -I $splbuild | grep "^splsrcver=" | cut -d \" -f 2` - fi + +fi + if test -z "$splsrcver"; then + { $as_echo "$as_me:$LINENO: result: Not found" >&5 $as_echo "Not found" >&6; } { { $as_echo "$as_me:$LINENO: error: - *** Cannot determine the version of the spl source. - *** Please prepare the spl source before running this script" >&5 + *** Cannot determine the version of the spl source. + *** Please prepare the spl source before running this script" >&5 $as_echo "$as_me: error: - *** Cannot determine the version of the spl source. - *** Please prepare the spl source before running this script" >&2;} + *** Cannot determine the version of the spl source. + *** Please prepare the spl source before running this script" >&2;} { (exit 1); exit 1; }; } - fi + +fi + { $as_echo "$as_me:$LINENO: result: $splsrcver" >&5 $as_echo "$splsrcver" >&6; } @@ -16185,16 +16905,27 @@ $as_echo "$splsrcver" >&6; } { $as_echo "$as_me:$LINENO: checking spl file name for module symbols" >&5 $as_echo_n "checking spl file name for module symbols... " >&6; } if test -r $SPL_OBJ/Module.symvers; then + SPL_SYMBOLS=Module.symvers - elif test -r $SPL_OBJ/Modules.symvers; then + +elif test -r $SPL_OBJ/Modules.symvers; then + SPL_SYMBOLS=Modules.symvers - elif test -r $SPL_OBJ/module/Module.symvers; then + +elif test -r $SPL_OBJ/module/Module.symvers; then + SPL_SYMBOLS=Module.symvers - elif test -r $SPL_OBJ/module/Modules.symvers; then + +elif test -r $SPL_OBJ/module/Modules.symvers; then + SPL_SYMBOLS=Modules.symvers - else + +else + SPL_SYMBOLS=$LINUX_SYMBOLS - fi + +fi + { $as_echo "$as_me:$LINENO: result: $SPL_SYMBOLS" >&5 $as_echo "$SPL_SYMBOLS" >&6; } @@ -16215,9 +16946,7 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #ifndef AUTOCONF_INCLUDED - #include - #endif + #include int main (void) @@ -16250,13 +16979,248 @@ _ACEOF { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } - { { $as_echo "$as_me:$LINENO: error: - *** Kernel built with CONFIG_PREEMPT which is not supported. - ** You must rebuild your kernel without this option." >&5 -$as_echo "$as_me: error: - *** Kernel built with CONFIG_PREEMPT which is not supported. - ** You must rebuild your kernel without this option." >&2;} - { (exit 1); exit 1; }; } + { { $as_echo "$as_me:$LINENO: error: + *** Kernel built with CONFIG_PREEMPT which is not supported. + *** You must rebuild your kernel without this option." >&5 +$as_echo "$as_me: error: + *** Kernel built with CONFIG_PREEMPT which is not supported. + *** You must rebuild your kernel without this option." >&2;} + { (exit 1); exit 1; }; } + +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 + + + + + if test "$ZFS_META_LICENSE" = CDDL; then + + { $as_echo "$as_me:$LINENO: checking whether Linux was built with CONFIG_DEBUG_LOCK_ALLOC" >&5 +$as_echo_n "checking whether Linux was built with CONFIG_DEBUG_LOCK_ALLOC... " >&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 + +int +main (void) +{ + + #ifndef CONFIG_DEBUG_LOCK_ALLOC + #error CONFIG_DEBUG_LOCK_ALLOC not #defined + #endif + + ; + 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; } + { { $as_echo "$as_me:$LINENO: error: + *** Kernel built with CONFIG_DEBUG_LOCK_ALLOC which is + *** incompatible with the CDDL license. You must rebuild + *** your kernel without this option." >&5 +$as_echo "$as_me: error: + *** Kernel built with CONFIG_DEBUG_LOCK_ALLOC which is + *** incompatible with the CDDL license. You must rebuild + *** your kernel without this option." >&2;} + { (exit 1); exit 1; }; } + +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 + + + if test "$ZFS_META_LICENSE" = GPL; then + + +cat >>confdefs.h <<\_ACEOF +#define HAVE_GPL_ONLY_SYMBOLS 1 +_ACEOF + + +fi + + + + { $as_echo "$as_me:$LINENO: checking block device operation prototypes" >&5 +$as_echo_n "checking block device operation prototypes... " >&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 + +int +main (void) +{ + + int (*blk_open) (struct block_device *, fmode_t) = NULL; + int (*blk_release) (struct gendisk *, fmode_t) = NULL; + int (*blk_ioctl) (struct block_device *, fmode_t, + unsigned, unsigned long) = NULL; + int (*blk_compat_ioctl) (struct block_device *, fmode_t, + unsigned, unsigned long) = NULL; + struct block_device_operations blk_ops = { + .open = blk_open, + .release = blk_release, + .ioctl = blk_ioctl, + .compat_ioctl = blk_compat_ioctl, + }; + + blk_ops.open(NULL, 0); + blk_ops.release(NULL, 0); + blk_ops.ioctl(NULL, 0, 0, 0); + blk_ops.compat_ioctl(NULL, 0, 0, 0); + + ; + 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: struct block_device" >&5 +$as_echo "struct block_device" >&6; } + +cat >>confdefs.h <<\_ACEOF +#define HAVE_BDEV_BLOCK_DEVICE_OPERATIONS 1 +_ACEOF + + +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { $as_echo "$as_me:$LINENO: result: struct inode" >&5 +$as_echo "struct inode" >&6; } + + + +fi + + rm -Rf build + + + + { $as_echo "$as_me:$LINENO: checking whether kernel defines fmode_t" >&5 +$as_echo_n "checking whether kernel defines fmode_t... " >&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 + +int +main (void) +{ + + fmode_t *ptr __attribute__ ((unused)); + + ; + 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_FMODE_T 1 +_ACEOF + else $as_echo "$as_me: failed program was:" >&5 @@ -16267,7 +17231,6 @@ $as_echo "no" >&6; } - fi rm -Rf build @@ -16275,9 +17238,8 @@ fi - if test "$ZFS_META_LICENSE" = CDDL; then - { $as_echo "$as_me:$LINENO: checking whether Linux was built with CONFIG_DEBUG_LOCK_ALLOC" >&5 -$as_echo_n "checking whether Linux was built with CONFIG_DEBUG_LOCK_ALLOC... " >&6; } + { $as_echo "$as_me:$LINENO: checking whether kernel defines KOBJ_NAME_LEN" >&5 +$as_echo_n "checking whether kernel defines KOBJ_NAME_LEN... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -16288,17 +17250,14 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #ifndef AUTOCONF_INCLUDED - #include - #endif + #include int main (void) { - #ifndef CONFIG_DEBUG_LOCK_ALLOC - #error CONFIG_DEBUG_LOCK_ALLOC not #defined - #endif + int val __attribute__ ((unused)); + val = KOBJ_NAME_LEN; ; return 0; @@ -16323,15 +17282,11 @@ _ACEOF { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } - { { $as_echo "$as_me:$LINENO: error: - *** Kernel built with CONFIG_DEBUG_LOCK_ALLOC which is - *** incompatible with the CDDL license. You must rebuild - *** your kernel without this option." >&5 -$as_echo "$as_me: error: - *** Kernel built with CONFIG_DEBUG_LOCK_ALLOC which is - *** incompatible with the CDDL license. You must rebuild - *** your kernel without this option." >&2;} - { (exit 1); exit 1; }; } + +cat >>confdefs.h <<\_ACEOF +#define HAVE_KOBJ_NAME_LEN 1 +_ACEOF + else $as_echo "$as_me: failed program was:" >&5 @@ -16342,26 +17297,121 @@ $as_echo "no" >&6; } - fi rm -Rf build - fi - if test "$ZFS_META_LICENSE" = GPL; then + { $as_echo "$as_me:$LINENO: checking whether symbol blkdev_get_by_path is exported" >&5 +$as_echo_n "checking whether symbol blkdev_get_by_path is exported... " >&6; } + grep -q -E '[[:space:]]blkdev_get_by_path[[:space:]]' \ + $LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null + rc=$? + if test $rc -ne 0; then + + export=0 + for file in fs/block_dev.c; do + grep -q -E "EXPORT_SYMBOL.*(blkdev_get_by_path)" "$LINUX/$file" 2>/dev/null + rc=$? + if test $rc -eq 0; then + + export=1 + break; + +fi + + done + if test $export -eq 0; then + + { $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_GPL_ONLY_SYMBOLS 1 +#define HAVE_BLKDEV_GET_BY_PATH 1 _ACEOF - fi + +fi - { $as_echo "$as_me:$LINENO: checking block device operation prototypes" >&5 -$as_echo_n "checking block device operation prototypes... " >&6; } +else + + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + +cat >>confdefs.h <<\_ACEOF +#define HAVE_BLKDEV_GET_BY_PATH 1 +_ACEOF + + +fi + + + + + { $as_echo "$as_me:$LINENO: checking whether symbol open_bdev_exclusive is exported" >&5 +$as_echo_n "checking whether symbol open_bdev_exclusive is exported... " >&6; } + grep -q -E '[[:space:]]open_bdev_exclusive[[:space:]]' \ + $LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null + rc=$? + if test $rc -ne 0; then + + export=0 + for file in fs/block_dev.c; do + grep -q -E "EXPORT_SYMBOL.*(open_bdev_exclusive)" "$LINUX/$file" 2>/dev/null + rc=$? + if test $rc -eq 0; then + + export=1 + break; + +fi + + done + if test $export -eq 0; then + + { $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_OPEN_BDEV_EXCLUSIVE 1 +_ACEOF + + +fi + + +else + + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + +cat >>confdefs.h <<\_ACEOF +#define HAVE_OPEN_BDEV_EXCLUSIVE 1 +_ACEOF + + +fi + + + + + { $as_echo "$as_me:$LINENO: checking whether invalidate_bdev() wants 1 arg" >&5 +$as_echo_n "checking whether invalidate_bdev() wants 1 arg... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -16372,29 +17422,14 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include + #include int main (void) { - int (*blk_open) (struct block_device *, fmode_t) = NULL; - int (*blk_release) (struct gendisk *, fmode_t) = NULL; - int (*blk_ioctl) (struct block_device *, fmode_t, - unsigned, unsigned long) = NULL; - int (*blk_compat_ioctl) (struct block_device *, fmode_t, - unsigned, unsigned long) = NULL; - struct block_device_operations blk_ops = { - .open = blk_open, - .release = blk_release, - .ioctl = blk_ioctl, - .compat_ioctl = blk_compat_ioctl, - }; - - blk_ops.open(NULL, 0); - blk_ops.release(NULL, 0); - blk_ops.ioctl(NULL, 0, 0, 0); - blk_ops.compat_ioctl(NULL, 0, 0, 0); + struct block_device *bdev = NULL; + invalidate_bdev(bdev); ; return 0; @@ -16417,11 +17452,11 @@ _ACEOF $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - { $as_echo "$as_me:$LINENO: result: struct block_device" >&5 -$as_echo "struct block_device" >&6; } + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_BDEV_BLOCK_DEVICE_OPERATIONS 1 +#define HAVE_1ARG_INVALIDATE_BDEV 1 _ACEOF @@ -16429,8 +17464,8 @@ else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - { $as_echo "$as_me:$LINENO: result: struct inode" >&5 -$as_echo "struct inode" >&6; } + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } @@ -16440,8 +17475,9 @@ fi - { $as_echo "$as_me:$LINENO: checking whether kernel defines fmode_t" >&5 -$as_echo_n "checking whether kernel defines fmode_t... " >&6; } + + { $as_echo "$as_me:$LINENO: checking whether bdev_logical_block_size() is available" >&5 +$as_echo_n "checking whether bdev_logical_block_size() is available... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -16452,13 +17488,14 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include + #include int main (void) { - fmode_t *ptr __attribute__ ((unused)); + struct block_device *bdev = NULL; + bdev_logical_block_size(bdev); ; return 0; @@ -16485,7 +17522,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_FMODE_T 1 +#define HAVE_BDEV_LOGICAL_BLOCK_SIZE 1 _ACEOF @@ -16505,8 +17542,9 @@ fi - { $as_echo "$as_me:$LINENO: checking whether kernel defines KOBJ_NAME_LEN" >&5 -$as_echo_n "checking whether kernel defines KOBJ_NAME_LEN... " >&6; } + { $as_echo "$as_me:$LINENO: checking whether bio_empty_barrier() is defined" >&5 +$as_echo_n "checking whether bio_empty_barrier() is defined... " >&6; } + EXTRA_KCFLAGS="-Werror" cat confdefs.h - <<_ACEOF >conftest.c @@ -16517,14 +17555,14 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include + #include int main (void) { - int val __attribute__ ((unused)); - val = KOBJ_NAME_LEN; + struct bio bio; + (void)bio_empty_barrier(&bio); ; return 0; @@ -16551,7 +17589,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_KOBJ_NAME_LEN 1 +#define HAVE_BIO_EMPTY_BARRIER 1 _ACEOF @@ -16571,88 +17609,74 @@ fi - { $as_echo "$as_me:$LINENO: checking whether symbol blkdev_get_by_path is exported" >&5 -$as_echo_n "checking whether symbol blkdev_get_by_path is exported... " >&6; } - grep -q -E '[[:space:]]blkdev_get_by_path[[:space:]]' \ - $LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null - rc=$? - if test $rc -ne 0; then - export=0 - for file in fs/block_dev.c; do - grep -q -E "EXPORT_SYMBOL.*(blkdev_get_by_path)" "$LINUX/$file" 2>/dev/null - rc=$? - if test $rc -eq 0; then - export=1 - break; - fi - done - if test $export -eq 0; then - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } + { $as_echo "$as_me:$LINENO: checking whether BIO_RW_FAILFAST is defined" >&5 +$as_echo_n "checking whether BIO_RW_FAILFAST is defined... " >&6; } - else - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } -cat >>confdefs.h <<\_ACEOF -#define HAVE_BLKDEV_GET_BY_PATH 1 +cat confdefs.h - <<_ACEOF >conftest.c +/* confdefs.h. */ _ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ - fi - else - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } -cat >>confdefs.h <<\_ACEOF -#define HAVE_BLKDEV_GET_BY_PATH 1 -_ACEOF + #include - fi +int +main (void) +{ + int flags __attribute__ ((unused)); + flags = (1 << BIO_RW_FAILFAST); + ; + return 0; +} - { $as_echo "$as_me:$LINENO: checking whether symbol open_bdev_exclusive is exported" >&5 -$as_echo_n "checking whether symbol open_bdev_exclusive is exported... " >&6; } - grep -q -E '[[:space:]]open_bdev_exclusive[[:space:]]' \ - $LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null - rc=$? - if test $rc -ne 0; then - export=0 - for file in fs/block_dev.c; do - grep -q -E "EXPORT_SYMBOL.*(open_bdev_exclusive)" "$LINUX/$file" 2>/dev/null - rc=$? - if test $rc -eq 0; then - export=1 - break; - fi - done - if test $export -eq 0; then - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } +_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 - else - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_OPEN_BDEV_EXCLUSIVE 1 +#define HAVE_BIO_RW_FAILFAST 1 _ACEOF - fi - else - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } -cat >>confdefs.h <<\_ACEOF -#define HAVE_OPEN_BDEV_EXCLUSIVE 1 -_ACEOF +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - fi + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } - { $as_echo "$as_me:$LINENO: checking whether invalidate_bdev() wants 1 arg" >&5 -$as_echo_n "checking whether invalidate_bdev() wants 1 arg... " >&6; } +fi + + rm -Rf build + + + + + { $as_echo "$as_me:$LINENO: checking whether BIO_RW_FAILFAST_* are defined" >&5 +$as_echo_n "checking whether BIO_RW_FAILFAST_* are defined... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -16663,14 +17687,16 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include + #include int main (void) { - struct block_device *bdev = NULL; - invalidate_bdev(bdev); + int flags __attribute__ ((unused)); + flags = ((1 << BIO_RW_FAILFAST_DEV) | + (1 << BIO_RW_FAILFAST_TRANSPORT) | + (1 << BIO_RW_FAILFAST_DRIVER)); ; return 0; @@ -16697,7 +17723,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_1ARG_INVALIDATE_BDEV 1 +#define HAVE_BIO_RW_FAILFAST_DTD 1 _ACEOF @@ -16717,8 +17743,8 @@ fi - { $as_echo "$as_me:$LINENO: checking whether bdev_logical_block_size() is available" >&5 -$as_echo_n "checking whether bdev_logical_block_size() is available... " >&6; } + { $as_echo "$as_me:$LINENO: checking whether REQ_FAILFAST_MASK is defined" >&5 +$as_echo_n "checking whether REQ_FAILFAST_MASK is defined... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -16729,14 +17755,14 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include + #include int main (void) { - struct block_device *bdev = NULL; - bdev_logical_block_size(bdev); + int flags __attribute__ ((unused)); + flags = REQ_FAILFAST_MASK; ; return 0; @@ -16763,7 +17789,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_BDEV_LOGICAL_BLOCK_SIZE 1 +#define HAVE_BIO_REQ_FAILFAST_MASK 1 _ACEOF @@ -16783,8 +17809,9 @@ fi - { $as_echo "$as_me:$LINENO: checking whether bio_empty_barrier() is defined" >&5 -$as_echo_n "checking whether bio_empty_barrier() is defined... " >&6; } + { $as_echo "$as_me:$LINENO: checking whether bio_end_io_t wants 2 args" >&5 +$as_echo_n "checking whether bio_end_io_t wants 2 args... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" EXTRA_KCFLAGS="-Werror" @@ -16802,8 +17829,10 @@ int main (void) { - struct bio bio; - (void)bio_empty_barrier(&bio); + void (*wanted_end_io)(struct bio *, int) = NULL; + bio_end_io_t *local_end_io __attribute__ ((unused)); + + local_end_io = wanted_end_io; ; return 0; @@ -16830,7 +17859,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_BIO_EMPTY_BARRIER 1 +#define HAVE_2ARGS_BIO_END_IO_T 1 _ACEOF @@ -16848,10 +17877,11 @@ fi rm -Rf build + EXTRA_KCFLAGS="$tmp_flags" - { $as_echo "$as_me:$LINENO: checking whether BIO_RW_FAILFAST is defined" >&5 -$as_echo_n "checking whether BIO_RW_FAILFAST is defined... " >&6; } + { $as_echo "$as_me:$LINENO: checking whether BIO_RW_SYNC is defined" >&5 +$as_echo_n "checking whether BIO_RW_SYNC is defined... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -16869,7 +17899,7 @@ main (void) { int flags __attribute__ ((unused)); - flags = (1 << BIO_RW_FAILFAST); + flags = BIO_RW_SYNC; ; return 0; @@ -16896,7 +17926,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_BIO_RW_FAILFAST 1 +#define HAVE_BIO_RW_SYNC 1 _ACEOF @@ -16916,8 +17946,8 @@ fi - { $as_echo "$as_me:$LINENO: checking whether BIO_RW_FAILFAST_* are defined" >&5 -$as_echo_n "checking whether BIO_RW_FAILFAST_* are defined... " >&6; } + { $as_echo "$as_me:$LINENO: checking whether BIO_RW_SYNCIO is defined" >&5 +$as_echo_n "checking whether BIO_RW_SYNCIO is defined... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -16935,9 +17965,7 @@ main (void) { int flags __attribute__ ((unused)); - flags = ((1 << BIO_RW_FAILFAST_DEV) | - (1 << BIO_RW_FAILFAST_TRANSPORT) | - (1 << BIO_RW_FAILFAST_DRIVER)); + flags = BIO_RW_SYNCIO; ; return 0; @@ -16964,7 +17992,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_BIO_RW_FAILFAST_DTD 1 +#define HAVE_BIO_RW_SYNCIO 1 _ACEOF @@ -16984,8 +18012,8 @@ fi - { $as_echo "$as_me:$LINENO: checking whether REQ_FAILFAST_MASK is defined" >&5 -$as_echo_n "checking whether REQ_FAILFAST_MASK is defined... " >&6; } + { $as_echo "$as_me:$LINENO: checking whether REQ_SYNC is defined" >&5 +$as_echo_n "checking whether REQ_SYNC is defined... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -17003,7 +18031,7 @@ main (void) { int flags __attribute__ ((unused)); - flags = REQ_FAILFAST_MASK; + flags = REQ_SYNC; ; return 0; @@ -17030,7 +18058,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_BIO_REQ_FAILFAST_MASK 1 +#define HAVE_REQ_SYNC 1 _ACEOF @@ -17050,10 +18078,8 @@ fi - { $as_echo "$as_me:$LINENO: checking whether bio_end_io_t wants 2 args" >&5 -$as_echo_n "checking whether bio_end_io_t wants 2 args... " >&6; } - tmp_flags="$EXTRA_KCFLAGS" - EXTRA_KCFLAGS="-Werror" + { $as_echo "$as_me:$LINENO: checking whether blk_end_request() is available" >&5 +$as_echo_n "checking whether blk_end_request() is available... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -17064,16 +18090,14 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include + #include int main (void) { - void (*wanted_end_io)(struct bio *, int) = NULL; - bio_end_io_t *local_end_io __attribute__ ((unused)); - - local_end_io = wanted_end_io; + struct request *req = NULL; + (void) blk_end_request(req, 0, 0); ; return 0; @@ -17100,7 +18124,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_2ARGS_BIO_END_IO_T 1 +#define HAVE_BLK_END_REQUEST 1 _ACEOF @@ -17118,11 +18142,9 @@ fi rm -Rf build - EXTRA_KCFLAGS="$tmp_flags" - - { $as_echo "$as_me:$LINENO: checking whether BIO_RW_SYNC is defined" >&5 -$as_echo_n "checking whether BIO_RW_SYNC is defined... " >&6; } + { $as_echo "$as_me:$LINENO: checking whether blk_end_request() is GPL-only" >&5 +$as_echo_n "checking whether blk_end_request() is GPL-only... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -17133,14 +18155,17 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include + #include + #include + + MODULE_LICENSE("CDDL"); int main (void) { - int flags __attribute__ ((unused)); - flags = BIO_RW_SYNC; + struct request *req = NULL; + (void) blk_end_request(req, 0, 0); ; return 0; @@ -17163,21 +18188,21 @@ _ACEOF $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_BIO_RW_SYNC 1 +#define HAVE_BLK_END_REQUEST_GPL_ONLY 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 @@ -17187,8 +18212,8 @@ fi - { $as_echo "$as_me:$LINENO: checking whether BIO_RW_SYNCIO is defined" >&5 -$as_echo_n "checking whether BIO_RW_SYNCIO is defined... " >&6; } + { $as_echo "$as_me:$LINENO: checking whether blk_fetch_request() is available" >&5 +$as_echo_n "checking whether blk_fetch_request() is available... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -17199,14 +18224,14 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include + #include int main (void) { - int flags __attribute__ ((unused)); - flags = BIO_RW_SYNCIO; + struct request_queue *q = NULL; + (void) blk_fetch_request(q); ; return 0; @@ -17233,7 +18258,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_BIO_RW_SYNCIO 1 +#define HAVE_BLK_FETCH_REQUEST 1 _ACEOF @@ -17253,8 +18278,8 @@ fi - { $as_echo "$as_me:$LINENO: checking whether REQ_SYNC is defined" >&5 -$as_echo_n "checking whether REQ_SYNC is defined... " >&6; } + { $as_echo "$as_me:$LINENO: checking whether blk_requeue_request() is available" >&5 +$as_echo_n "checking whether blk_requeue_request() is available... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -17265,14 +18290,15 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include + #include int main (void) { - int flags __attribute__ ((unused)); - flags = REQ_SYNC; + struct request_queue *q = NULL; + struct request *req = NULL; + blk_requeue_request(q, req); ; return 0; @@ -17299,7 +18325,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_REQ_SYNC 1 +#define HAVE_BLK_REQUEUE_REQUEST 1 _ACEOF @@ -17319,8 +18345,8 @@ fi - { $as_echo "$as_me:$LINENO: checking whether blk_end_request() is available" >&5 -$as_echo_n "checking whether blk_end_request() is available... " >&6; } + { $as_echo "$as_me:$LINENO: checking whether blk_rq_bytes() is available" >&5 +$as_echo_n "checking whether blk_rq_bytes() is available... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -17338,7 +18364,7 @@ main (void) { struct request *req = NULL; - (void) blk_end_request(req, 0, 0); + (void) blk_rq_bytes(req); ; return 0; @@ -17365,7 +18391,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_BLK_END_REQUEST 1 +#define HAVE_BLK_RQ_BYTES 1 _ACEOF @@ -17384,8 +18410,8 @@ fi - { $as_echo "$as_me:$LINENO: checking whether blk_end_request() is GPL-only" >&5 -$as_echo_n "checking whether blk_end_request() is GPL-only... " >&6; } + { $as_echo "$as_me:$LINENO: checking whether blk_rq_bytes() is GPL-only" >&5 +$as_echo_n "checking whether blk_rq_bytes() is GPL-only... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -17406,7 +18432,7 @@ main (void) { struct request *req = NULL; - (void) blk_end_request(req, 0, 0); + (void) blk_rq_bytes(req); ; return 0; @@ -17440,7 +18466,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_BLK_END_REQUEST_GPL_ONLY 1 +#define HAVE_BLK_RQ_BYTES_GPL_ONLY 1 _ACEOF @@ -17453,8 +18479,74 @@ fi - { $as_echo "$as_me:$LINENO: checking whether blk_fetch_request() is available" >&5 -$as_echo_n "checking whether blk_fetch_request() is available... " >&6; } + { $as_echo "$as_me:$LINENO: checking whether blk_rq_pos() is available" >&5 +$as_echo_n "checking whether blk_rq_pos() is available... " >&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 + +int +main (void) +{ + + struct request *req = NULL; + (void) blk_rq_pos(req); + + ; + 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_BLK_RQ_POS 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 blk_rq_sectors() is available" >&5 +$as_echo_n "checking whether blk_rq_sectors() is available... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -17471,8 +18563,8 @@ int main (void) { - struct request_queue *q = NULL; - (void) blk_fetch_request(q); + struct request *req = NULL; + (void) blk_rq_sectors(req); ; return 0; @@ -17499,7 +18591,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_BLK_FETCH_REQUEST 1 +#define HAVE_BLK_RQ_SECTORS 1 _ACEOF @@ -17519,8 +18611,8 @@ fi - { $as_echo "$as_me:$LINENO: checking whether blk_requeue_request() is available" >&5 -$as_echo_n "checking whether blk_requeue_request() is available... " >&6; } + { $as_echo "$as_me:$LINENO: checking whether get_disk_ro() is available" >&5 +$as_echo_n "checking whether get_disk_ro() is available... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -17537,9 +18629,8 @@ int main (void) { - struct request_queue *q = NULL; - struct request *req = NULL; - blk_requeue_request(q, req); + struct gendisk *disk = NULL; + (void) get_disk_ro(disk); ; return 0; @@ -17566,7 +18657,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_BLK_REQUEUE_REQUEST 1 +#define HAVE_GET_DISK_RO 1 _ACEOF @@ -17586,8 +18677,8 @@ fi - { $as_echo "$as_me:$LINENO: checking whether blk_rq_bytes() is available" >&5 -$as_echo_n "checking whether blk_rq_bytes() is available... " >&6; } + { $as_echo "$as_me:$LINENO: checking whether rq_is_sync() is available" >&5 +$as_echo_n "checking whether rq_is_sync() is available... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -17605,7 +18696,7 @@ main (void) { struct request *req = NULL; - (void) blk_rq_bytes(req); + (void) rq_is_sync(req); ; return 0; @@ -17632,7 +18723,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_BLK_RQ_BYTES 1 +#define HAVE_RQ_IS_SYNC 1 _ACEOF @@ -17651,8 +18742,9 @@ fi - { $as_echo "$as_me:$LINENO: checking whether blk_rq_bytes() is GPL-only" >&5 -$as_echo_n "checking whether blk_rq_bytes() is GPL-only... " >&6; } + + { $as_echo "$as_me:$LINENO: checking whether rq_for_each_segment() is available" >&5 +$as_echo_n "checking whether rq_for_each_segment() is available... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -17663,17 +18755,16 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include #include - MODULE_LICENSE("CDDL"); - int main (void) { + struct bio_vec *bv; + struct req_iterator iter; struct request *req = NULL; - (void) blk_rq_bytes(req); + rq_for_each_segment(bv, req, iter) { } ; return 0; @@ -17696,21 +18787,21 @@ _ACEOF $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_BLK_RQ_BYTES_GPL_ONLY 1 +#define HAVE_RQ_FOR_EACH_SEGMENT 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 @@ -17719,9 +18810,8 @@ fi - - { $as_echo "$as_me:$LINENO: checking whether blk_rq_pos() is available" >&5 -$as_echo_n "checking whether blk_rq_pos() is available... " >&6; } + { $as_echo "$as_me:$LINENO: checking whether super_block uses const struct xattr_hander" >&5 +$as_echo_n "checking whether super_block uses const struct xattr_hander... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -17732,14 +18822,26 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include + #include + #include + + const struct xattr_handler xattr_test_handler = { + .prefix = "test", + .get = NULL, + .set = NULL, + }; + + const struct xattr_handler *xattr_handlers[] = { + &xattr_test_handler, + }; int main (void) { - struct request *req = NULL; - (void) blk_rq_pos(req); + struct super_block sb __attribute__ ((unused)); + + sb.s_xattr = xattr_handlers; ; return 0; @@ -17766,7 +18868,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_BLK_RQ_POS 1 +#define HAVE_CONST_XATTR_HANDLER 1 _ACEOF @@ -17786,8 +18888,8 @@ fi - { $as_echo "$as_me:$LINENO: checking whether blk_rq_sectors() is available" >&5 -$as_echo_n "checking whether blk_rq_sectors() is available... " >&6; } + { $as_echo "$as_me:$LINENO: checking whether xattr_handler->get() wants dentry" >&5 +$as_echo_n "checking whether xattr_handler->get() wants dentry... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -17798,14 +18900,17 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include + #include int main (void) { - struct request *req = NULL; - (void) blk_rq_sectors(req); + int (*get)(struct dentry *dentry, const char *name, + void *buffer, size_t size, int handler_flags) = NULL; + struct xattr_handler xops __attribute__ ((unused)); + + xops.get = get; ; return 0; @@ -17832,7 +18937,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_BLK_RQ_SECTORS 1 +#define HAVE_DENTRY_XATTR_GET 1 _ACEOF @@ -17852,8 +18957,8 @@ fi - { $as_echo "$as_me:$LINENO: checking whether get_disk_ro() is available" >&5 -$as_echo_n "checking whether get_disk_ro() is available... " >&6; } + { $as_echo "$as_me:$LINENO: checking whether xattr_handler->set() wants dentry" >&5 +$as_echo_n "checking whether xattr_handler->set() wants dentry... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -17864,14 +18969,18 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include + #include int main (void) { - struct gendisk *disk = NULL; - (void) get_disk_ro(disk); + int (*set)(struct dentry *dentry, const char *name, + const void *buffer, size_t size, int flags, + int handler_flags) = NULL; + struct xattr_handler xops __attribute__ ((unused)); + + xops.set = set; ; return 0; @@ -17898,7 +19007,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_GET_DISK_RO 1 +#define HAVE_DENTRY_XATTR_SET 1 _ACEOF @@ -17918,8 +19027,8 @@ fi - { $as_echo "$as_me:$LINENO: checking whether rq_is_sync() is available" >&5 -$as_echo_n "checking whether rq_is_sync() is available... " >&6; } + { $as_echo "$as_me:$LINENO: checking whether fops->fsync() wants 2 args" >&5 +$as_echo_n "checking whether fops->fsync() wants 2 args... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -17930,14 +19039,16 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include + #include int main (void) { - struct request *req = NULL; - (void) rq_is_sync(req); + int (*fsync) (struct file *, int datasync) = NULL; + struct file_operations fops __attribute__ ((unused)); + + fops.fsync = fsync; ; return 0; @@ -17964,7 +19075,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_RQ_IS_SYNC 1 +#define HAVE_2ARGS_FSYNC 1 _ACEOF @@ -17984,8 +19095,8 @@ fi - { $as_echo "$as_me:$LINENO: checking whether rq_for_each_segment() is available" >&5 -$as_echo_n "checking whether rq_for_each_segment() is available... " >&6; } + { $as_echo "$as_me:$LINENO: checking whether sops->evict_inode() exists" >&5 +$as_echo_n "checking whether sops->evict_inode() exists... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -17996,16 +19107,16 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include + #include int main (void) { - struct bio_vec *bv; - struct req_iterator iter; - struct request *req = NULL; - rq_for_each_segment(bv, req, iter) { } + void (*evict_inode) (struct inode *) = NULL; + struct super_operations sops __attribute__ ((unused)) = { + .evict_inode = evict_inode, + }; ; return 0; @@ -18032,7 +19143,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_RQ_FOR_EACH_SEGMENT 1 +#define HAVE_EVICT_INODE 1 _ACEOF @@ -18051,155 +19162,223 @@ fi - { $as_echo "$as_me:$LINENO: checking whether super_block uses const struct xattr_hander" >&5 -$as_echo_n "checking whether super_block uses const struct xattr_hander... " >&6; } + { $as_echo "$as_me:$LINENO: checking whether symbol insert_inode_locked is exported" >&5 +$as_echo_n "checking whether symbol insert_inode_locked is exported... " >&6; } + grep -q -E '[[:space:]]insert_inode_locked[[:space:]]' \ + $LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null + rc=$? + if test $rc -ne 0; then + + export=0 + for file in fs/inode.c; do + grep -q -E "EXPORT_SYMBOL.*(insert_inode_locked)" "$LINUX/$file" 2>/dev/null + rc=$? + if test $rc -eq 0; then -cat confdefs.h - <<_ACEOF >conftest.c -/* confdefs.h. */ + export=1 + break; + +fi + + done + if test $export -eq 0; then + + { $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_INSERT_INODE_LOCKED 1 _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - #include - #include +fi - const struct xattr_handler xattr_test_handler = { - .prefix = "test", - .get = NULL, - .set = NULL, - }; - const struct xattr_handler *xattr_handlers[] = { - &xattr_test_handler, - }; +else -int -main (void) -{ + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + +cat >>confdefs.h <<\_ACEOF +#define HAVE_INSERT_INODE_LOCKED 1 +_ACEOF + + +fi + + + + + { $as_echo "$as_me:$LINENO: checking whether symbol d_obtain_alias is exported" >&5 +$as_echo_n "checking whether symbol d_obtain_alias is exported... " >&6; } + grep -q -E '[[:space:]]d_obtain_alias[[:space:]]' \ + $LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null + rc=$? + if test $rc -ne 0; then + + export=0 + for file in fs/dcache.c; do + grep -q -E "EXPORT_SYMBOL.*(d_obtain_alias)" "$LINUX/$file" 2>/dev/null + rc=$? + if test $rc -eq 0; then + + export=1 + break; + +fi + + done + if test $export -eq 0; then + + { $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_D_OBTAIN_ALIAS 1 +_ACEOF + + +fi + + +else + + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + +cat >>confdefs.h <<\_ACEOF +#define HAVE_D_OBTAIN_ALIAS 1 +_ACEOF + + +fi + + + + + { $as_echo "$as_me:$LINENO: checking whether symbol check_disk_size_change is exported" >&5 +$as_echo_n "checking whether symbol check_disk_size_change is exported... " >&6; } + grep -q -E '[[:space:]]check_disk_size_change[[:space:]]' \ + $LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null + rc=$? + if test $rc -ne 0; then + + export=0 + for file in fs/block_dev.c; do + grep -q -E "EXPORT_SYMBOL.*(check_disk_size_change)" "$LINUX/$file" 2>/dev/null + rc=$? + if test $rc -eq 0; then - struct super_block sb __attribute__ ((unused)); + export=1 + break; - sb.s_xattr = xattr_handlers; +fi - ; - return 0; -} + done + if test $export -eq 0; then -_ACEOF + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } - 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 +else - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_CONST_XATTR_HANDLER 1 +#define HAVE_CHECK_DISK_SIZE_CHANGE 1 _ACEOF +fi + + 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: result: yes" >&5 +$as_echo "yes" >&6; } +cat >>confdefs.h <<\_ACEOF +#define HAVE_CHECK_DISK_SIZE_CHANGE 1 +_ACEOF fi - rm -Rf build - - { $as_echo "$as_me:$LINENO: checking whether xattr_handler->get() wants dentry" >&5 -$as_echo_n "checking whether xattr_handler->get() wants dentry... " >&6; } + { $as_echo "$as_me:$LINENO: checking whether symbol truncate_setsize is exported" >&5 +$as_echo_n "checking whether symbol truncate_setsize is exported... " >&6; } + grep -q -E '[[:space:]]truncate_setsize[[:space:]]' \ + $LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null + rc=$? + if test $rc -ne 0; then + export=0 + for file in mm/truncate.c; do + grep -q -E "EXPORT_SYMBOL.*(truncate_setsize)" "$LINUX/$file" 2>/dev/null + rc=$? + if test $rc -eq 0; then -cat confdefs.h - <<_ACEOF >conftest.c -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + export=1 + break; +fi - #include + done + if test $export -eq 0; then -int -main (void) -{ + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } - int (*get)(struct dentry *dentry, const char *name, - void *buffer, size_t size, int handler_flags) = NULL; - struct xattr_handler xops __attribute__ ((unused)); - xops.get = get; +else - ; - return 0; -} + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } +cat >>confdefs.h <<\_ACEOF +#define HAVE_TRUNCATE_SETSIZE 1 _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 +fi + + +else { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_DENTRY_XATTR_GET 1 +#define HAVE_TRUNCATE_SETSIZE 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 xattr_handler->set() wants dentry" >&5 -$as_echo_n "checking whether xattr_handler->set() wants dentry... " >&6; } + { $as_echo "$as_me:$LINENO: checking whether security_inode_init_security wants 6 args" >&5 +$as_echo_n "checking whether security_inode_init_security wants 6 args... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Werror" cat confdefs.h - <<_ACEOF >conftest.c @@ -18210,18 +19389,13 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include + #include int main (void) { - int (*set)(struct dentry *dentry, const char *name, - const void *buffer, size_t size, int flags, - int handler_flags) = NULL; - struct xattr_handler xops __attribute__ ((unused)); - - xops.set = set; + security_inode_init_security(NULL,NULL,NULL,NULL,NULL,NULL); ; return 0; @@ -18248,7 +19422,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_DENTRY_XATTR_SET 1 +#define HAVE_6ARGS_SECURITY_INODE_INIT_SECURITY 1 _ACEOF @@ -18266,78 +19440,64 @@ fi rm -Rf build + EXTRA_KCFLAGS="$tmp_flags" - { $as_echo "$as_me:$LINENO: checking whether fops->fsync() wants 2 args" >&5 -$as_echo_n "checking whether fops->fsync() wants 2 args... " >&6; } + { $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:]]' \ + $LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null + rc=$? + if test $rc -ne 0; then + export=0 + for file in fs/super.c; do + grep -q -E "EXPORT_SYMBOL.*(mount_nodev)" "$LINUX/$file" 2>/dev/null + rc=$? + if test $rc -eq 0; then -cat confdefs.h - <<_ACEOF >conftest.c -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + export=1 + break; +fi - #include + done + if test $export -eq 0; then -int -main (void) -{ + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } - int (*fsync) (struct file *, int datasync) = NULL; - struct file_operations fops __attribute__ ((unused)); - fops.fsync = fsync; +else - ; - return 0; -} + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } +cat >>confdefs.h <<\_ACEOF +#define HAVE_MOUNT_NODEV 1 _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 +fi + + +else { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_2ARGS_FSYNC 1 +#define HAVE_MOUNT_NODEV 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 sops->evict_inode() exists" >&5 -$as_echo_n "checking whether sops->evict_inode() exists... " >&6; } + { $as_echo "$as_me:$LINENO: checking whether super_block has s_bdi" >&5 +$as_echo_n "checking whether super_block has s_bdi... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -18354,10 +19514,8 @@ int main (void) { - void (*evict_inode) (struct inode *) = NULL; - struct super_operations sops __attribute__ ((unused)); - - sops.evict_inode = evict_inode; + struct super_block sb __attribute__ ((unused)); + sb.s_bdi = NULL; ; return 0; @@ -18384,7 +19542,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_EVICT_INODE 1 +#define HAVE_BDI 1 _ACEOF @@ -18404,93 +19562,69 @@ fi - { $as_echo "$as_me:$LINENO: checking whether symbol insert_inode_locked is exported" >&5 -$as_echo_n "checking whether symbol insert_inode_locked is exported... " >&6; } - grep -q -E '[[:space:]]insert_inode_locked[[:space:]]' \ + { $as_echo "$as_me:$LINENO: checking whether symbol bdi_setup_and_register is exported" >&5 +$as_echo_n "checking whether symbol bdi_setup_and_register is exported... " >&6; } + grep -q -E '[[:space:]]bdi_setup_and_register[[:space:]]' \ $LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null rc=$? if test $rc -ne 0; then + export=0 - for file in fs/inode.c; do - grep -q -E "EXPORT_SYMBOL.*(insert_inode_locked)" "$LINUX/$file" 2>/dev/null + for file in mm/backing-dev.c; do + grep -q -E "EXPORT_SYMBOL.*(bdi_setup_and_register)" "$LINUX/$file" 2>/dev/null rc=$? - if test $rc -eq 0; then - export=1 - break; - fi + if test $rc -eq 0; then + + export=1 + break; + +fi + done if test $export -eq 0; then + { $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_INSERT_INODE_LOCKED 1 -_ACEOF +else - fi - else - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_INSERT_INODE_LOCKED 1 +#define HAVE_BDI_SETUP_AND_REGISTER 1 _ACEOF - fi +fi - { $as_echo "$as_me:$LINENO: checking whether symbol d_obtain_alias is exported" >&5 -$as_echo_n "checking whether symbol d_obtain_alias is exported... " >&6; } - grep -q -E '[[:space:]]d_obtain_alias[[:space:]]' \ - $LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null - rc=$? - if test $rc -ne 0; then - export=0 - for file in fs/dcache.c; do - grep -q -E "EXPORT_SYMBOL.*(d_obtain_alias)" "$LINUX/$file" 2>/dev/null - rc=$? - if test $rc -eq 0; then - export=1 - break; - fi - done - if test $export -eq 0; then - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } +else - else - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_D_OBTAIN_ALIAS 1 +#define HAVE_BDI_SETUP_AND_REGISTER 1 _ACEOF - fi - else - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } -cat >>confdefs.h <<\_ACEOF -#define HAVE_D_OBTAIN_ALIAS 1 -_ACEOF +fi - fi if test "$LINUX_OBJ" != "$LINUX"; then + KERNELMAKE_PARAMS="$KERNELMAKE_PARAMS O=$LINUX_OBJ" - fi + +fi + - KERNELCPPFLAGS="$KERNELCPPFLAGS -Wno-unused-but-set-variable" + KERNELCPPFLAGS="$KERNELCPPFLAGS $NO_UNUSED_BUT_SET_VARIABLE" KERNELCPPFLAGS="$KERNELCPPFLAGS -DHAVE_SPL -D_KERNEL" KERNELCPPFLAGS="$KERNELCPPFLAGS -DTEXT_DOMAIN=\\\"zfs-linux-kernel\\\"" @@ -18498,6 +19632,28 @@ _ACEOF + +# Check whether --with-udevdir was given. +if test "${with_udevdir+set}" = set; then + withval=$with_udevdir; udevdir=$withval +else + udevdir='${exec_prefix}/lib/udev' +fi + + + +# Check whether --with-udevruledir was given. +if test "${with_udevruledir+set}" = set; then + withval=$with_udevruledir; udevruledir=$withval +else + udevruledir='${udevdir}/rules.d' +fi + + + + + + { $as_echo "$as_me:$LINENO: checking for target asm dir" >&5 $as_echo_n "checking for target asm dir... " >&6; } TARGET_ARCH=`echo ${target_cpu} | sed -e s/i.86/i386/` @@ -20090,7 +21246,7 @@ fi $as_echo "$enable_debug" >&6; } -ac_config_files="$ac_config_files Makefile dracut/Makefile dracut/90zfs/Makefile etc/Makefile etc/udev/Makefile etc/udev/rules.d/Makefile etc/udev/rules.d/60-zpool.rules etc/udev/rules.d/60-zvol.rules etc/init.d/Makefile etc/zfs/Makefile man/Makefile man/man8/Makefile lib/Makefile lib/libspl/Makefile lib/libspl/asm-generic/Makefile lib/libspl/asm-i386/Makefile lib/libspl/asm-x86_64/Makefile lib/libspl/include/Makefile lib/libspl/include/ia32/Makefile lib/libspl/include/ia32/sys/Makefile lib/libspl/include/rpc/Makefile lib/libspl/include/sys/Makefile lib/libspl/include/sys/sysevent/Makefile lib/libspl/include/sys/dktp/Makefile lib/libspl/include/util/Makefile lib/libavl/Makefile lib/libefi/Makefile lib/libnvpair/Makefile lib/libunicode/Makefile lib/libuutil/Makefile lib/libzpool/Makefile lib/libzfs/Makefile cmd/Makefile cmd/zdb/Makefile cmd/zfs/Makefile cmd/zinject/Makefile cmd/zpool/Makefile cmd/ztest/Makefile cmd/zpios/Makefile cmd/mount_zfs/Makefile cmd/zpool_layout/Makefile cmd/zvol_id/Makefile cmd/zpool_id/Makefile module/Makefile module/avl/Makefile module/nvpair/Makefile module/unicode/Makefile module/zcommon/Makefile module/zfs/Makefile module/zpios/Makefile include/Makefile include/linux/Makefile include/sys/Makefile include/sys/fs/Makefile include/sys/fm/Makefile include/sys/fm/fs/Makefile scripts/Makefile scripts/zpios-profile/Makefile scripts/zpios-test/Makefile scripts/zpool-config/Makefile scripts/zpool-layout/Makefile scripts/common.sh zfs.spec zfs-modules.spec zfs-script-config.sh" +ac_config_files="$ac_config_files Makefile dracut/Makefile dracut/90zfs/Makefile udev/Makefile udev/rules.d/Makefile etc/Makefile etc/init.d/Makefile etc/zfs/Makefile man/Makefile man/man8/Makefile lib/Makefile lib/libspl/Makefile lib/libspl/asm-generic/Makefile lib/libspl/asm-i386/Makefile lib/libspl/asm-x86_64/Makefile lib/libspl/include/Makefile lib/libspl/include/ia32/Makefile lib/libspl/include/ia32/sys/Makefile lib/libspl/include/rpc/Makefile lib/libspl/include/sys/Makefile lib/libspl/include/sys/sysevent/Makefile lib/libspl/include/sys/dktp/Makefile lib/libspl/include/util/Makefile lib/libavl/Makefile lib/libefi/Makefile lib/libnvpair/Makefile lib/libunicode/Makefile lib/libuutil/Makefile lib/libzpool/Makefile lib/libzfs/Makefile lib/libshare/Makefile cmd/Makefile cmd/zdb/Makefile cmd/zfs/Makefile cmd/zinject/Makefile cmd/zpool/Makefile cmd/ztest/Makefile cmd/zpios/Makefile cmd/mount_zfs/Makefile cmd/zpool_layout/Makefile cmd/zvol_id/Makefile cmd/zpool_id/Makefile cmd/sas_switch_id/Makefile module/Makefile module/avl/Makefile module/nvpair/Makefile module/unicode/Makefile module/zcommon/Makefile module/zfs/Makefile module/zpios/Makefile include/Makefile include/linux/Makefile include/sys/Makefile include/sys/fs/Makefile include/sys/fm/Makefile include/sys/fm/fs/Makefile scripts/Makefile scripts/zpios-profile/Makefile scripts/zpios-test/Makefile scripts/zpool-config/Makefile scripts/zpool-layout/Makefile scripts/common.sh zfs.spec zfs-modules.spec zfs-script-config.sh" cat >confcache <<\_ACEOF @@ -21009,11 +22165,9 @@ do "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "dracut/Makefile") CONFIG_FILES="$CONFIG_FILES dracut/Makefile" ;; "dracut/90zfs/Makefile") CONFIG_FILES="$CONFIG_FILES dracut/90zfs/Makefile" ;; + "udev/Makefile") CONFIG_FILES="$CONFIG_FILES udev/Makefile" ;; + "udev/rules.d/Makefile") CONFIG_FILES="$CONFIG_FILES udev/rules.d/Makefile" ;; "etc/Makefile") CONFIG_FILES="$CONFIG_FILES etc/Makefile" ;; - "etc/udev/Makefile") CONFIG_FILES="$CONFIG_FILES etc/udev/Makefile" ;; - "etc/udev/rules.d/Makefile") CONFIG_FILES="$CONFIG_FILES etc/udev/rules.d/Makefile" ;; - "etc/udev/rules.d/60-zpool.rules") CONFIG_FILES="$CONFIG_FILES etc/udev/rules.d/60-zpool.rules" ;; - "etc/udev/rules.d/60-zvol.rules") CONFIG_FILES="$CONFIG_FILES etc/udev/rules.d/60-zvol.rules" ;; "etc/init.d/Makefile") CONFIG_FILES="$CONFIG_FILES etc/init.d/Makefile" ;; "etc/zfs/Makefile") CONFIG_FILES="$CONFIG_FILES etc/zfs/Makefile" ;; "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;; @@ -21038,6 +22192,7 @@ do "lib/libuutil/Makefile") CONFIG_FILES="$CONFIG_FILES lib/libuutil/Makefile" ;; "lib/libzpool/Makefile") CONFIG_FILES="$CONFIG_FILES lib/libzpool/Makefile" ;; "lib/libzfs/Makefile") CONFIG_FILES="$CONFIG_FILES lib/libzfs/Makefile" ;; + "lib/libshare/Makefile") CONFIG_FILES="$CONFIG_FILES lib/libshare/Makefile" ;; "cmd/Makefile") CONFIG_FILES="$CONFIG_FILES cmd/Makefile" ;; "cmd/zdb/Makefile") CONFIG_FILES="$CONFIG_FILES cmd/zdb/Makefile" ;; "cmd/zfs/Makefile") CONFIG_FILES="$CONFIG_FILES cmd/zfs/Makefile" ;; @@ -21049,6 +22204,7 @@ do "cmd/zpool_layout/Makefile") CONFIG_FILES="$CONFIG_FILES cmd/zpool_layout/Makefile" ;; "cmd/zvol_id/Makefile") CONFIG_FILES="$CONFIG_FILES cmd/zvol_id/Makefile" ;; "cmd/zpool_id/Makefile") CONFIG_FILES="$CONFIG_FILES cmd/zpool_id/Makefile" ;; + "cmd/sas_switch_id/Makefile") CONFIG_FILES="$CONFIG_FILES cmd/sas_switch_id/Makefile" ;; "module/Makefile") CONFIG_FILES="$CONFIG_FILES module/Makefile" ;; "module/avl/Makefile") CONFIG_FILES="$CONFIG_FILES module/avl/Makefile" ;; "module/nvpair/Makefile") CONFIG_FILES="$CONFIG_FILES module/nvpair/Makefile" ;;