X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=configure;h=f3a9288b5d6b5de518f91856008a22b7273b6a6f;hb=319a99a3d440480fe9c37f637cb9cac8e0f20ded;hp=40ab1d2931952d7ae278cd9533e21de48bb3d2c5;hpb=34037afe24e0bff97cf5262f8f1a76f5e0815dc1;p=zfs.git diff --git a/configure b/configure index 40ab1d2..f3a9288 100755 --- a/configure +++ b/configure @@ -787,6 +787,8 @@ ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS LIBOBJS +DEBUG_DMU_TX +DEBUG_ZFS DEBUG_STACKFLAGS DEBUG_CFLAGS CONFIG_KERNEL_FALSE @@ -979,6 +981,7 @@ enable_fast_install with_gnu_ld enable_libtool_lock with_config +enable_linux_builtin with_linux with_linux_obj with_spl @@ -988,6 +991,7 @@ with_udevruledir with_blkid with_selinux enable_debug +enable_debug_dmu_tx ' ac_precious_vars='build_alias host_alias @@ -1640,7 +1644,10 @@ Optional Features: --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) + --enable-linux-builtin Configure for builtin in-tree kernel modules + [default=no] --enable-debug Enable generic debug support [default=no] + --enable-debug-dmu-tx Enable dmu tx validation [default=no] Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] @@ -4835,13 +4842,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:4838: $ac_compile\"" >&5) + (eval echo "\"\$as_me:4845: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 - (eval echo "\"\$as_me:4841: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval echo "\"\$as_me:4848: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 - (eval echo "\"\$as_me:4844: output\"" >&5) + (eval echo "\"\$as_me:4851: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" @@ -6047,7 +6054,7 @@ ia64-*-hpux*) ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 6050 "configure"' > conftest.$ac_ext + echo '#line 6057 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -7900,11 +7907,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:7903: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7910: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:7907: \$? = $ac_status" >&5 + echo "$as_me:7914: \$? = $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. @@ -8239,11 +8246,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:8242: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8249: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:8246: \$? = $ac_status" >&5 + echo "$as_me:8253: \$? = $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. @@ -8344,11 +8351,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:8347: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8354: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:8351: \$? = $ac_status" >&5 + echo "$as_me:8358: \$? = $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 @@ -8399,11 +8406,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:8402: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8409: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:8406: \$? = $ac_status" >&5 + echo "$as_me:8413: \$? = $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 @@ -11202,7 +11209,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11205 "configure" +#line 11212 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11298,7 +11305,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11301 "configure" +#line 11308 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11673,24 +11680,26 @@ $as_echo "$ZFS_META_LICENSE" >&6; } { $as_echo "$as_me:$LINENO: checking linux distribution" >&5 $as_echo_n "checking linux distribution... " >&6; } - if test -f /etc/redhat-release ; then - VENDOR=redhat ; + if test -f /etc/toss-release ; then + VENDOR=toss ; elif test -f /etc/fedora-release ; then VENDOR=fedora ; + elif test -f /etc/redhat-release ; then + VENDOR=redhat ; elif test -f /etc/gentoo-release ; then VENDOR=gentoo ; - elif test -f /etc/debian_version ; then - VENDOR=debian ; + elif test -f /etc/arch-release ; then + VENDOR=arch ; elif test -f /etc/SuSE-release ; then VENDOR=sles ; elif test -f /etc/slackware-version ; then VENDOR=slackware ; - elif test -f /etc/arch-release ; then - VENDOR=arch ; - elif test -f /etc/lsb-release ; then - VENDOR=ubuntu ; elif test -f /etc/lunar.release ; then VENDOR=lunar ; + elif test -f /etc/lsb-release ; then + VENDOR=ubuntu ; + elif test -f /etc/debian_version ; then + VENDOR=debian ; else VENDOR= ; fi @@ -11701,16 +11710,17 @@ $as_echo "$VENDOR" >&6; } { $as_echo "$as_me:$LINENO: checking default package type" >&5 $as_echo_n "checking default package type... " >&6; } case "$VENDOR" in - redhat) DEFAULT_PACKAGE=rpm ;; - fedora) DEFAULT_PACKAGE=rpm ;; - ubuntu) DEFAULT_PACKAGE=deb ;; - debian) DEFAULT_PACKAGE=deb ;; - sles) DEFAULT_PACKAGE=rpm ;; - slackware) DEFAULT_PACKAGE=tgz ;; - gentoo) DEFAULT_PACKAGE=tgz ;; - lunar) DEFAULT_PACKAGE=tgz ;; - arch) DEFAULT_PACKAGE=arch;; - *) DEFAULT_PACKAGE=rpm ;; + toss) DEFAULT_PACKAGE=rpm ;; + redhat) DEFAULT_PACKAGE=rpm ;; + fedora) DEFAULT_PACKAGE=rpm ;; + gentoo) DEFAULT_PACKAGE=tgz ;; + arch) DEFAULT_PACKAGE=arch ;; + sles) DEFAULT_PACKAGE=rpm ;; + slackware) DEFAULT_PACKAGE=tgz ;; + lunar) DEFAULT_PACKAGE=tgz ;; + ubuntu) DEFAULT_PACKAGE=deb ;; + debian) DEFAULT_PACKAGE=deb ;; + *) DEFAULT_PACKAGE=rpm ;; esac { $as_echo "$as_me:$LINENO: result: $DEFAULT_PACKAGE" >&5 @@ -11731,16 +11741,17 @@ $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 + toss) DEFAULT_INIT_SCRIPT=redhat ;; redhat) DEFAULT_INIT_SCRIPT=redhat ;; fedora) DEFAULT_INIT_SCRIPT=fedora ;; - ubuntu) DEFAULT_INIT_SCRIPT=lsb ;; - debian) DEFAULT_INIT_SCRIPT=lsb ;; - sles) DEFAULT_INIT_SCRIPT=lsb ;; - slackware) DEFAULT_INIT_SCRIPT=lsb ;; gentoo) DEFAULT_INIT_SCRIPT=gentoo ;; - lunar) DEFAULT_INIT_SCRIPT=lunar ;; - arch) DEFAULT_INIT_SCRIPT=arch ;; - *) DEFAULT_INIT_SCRIPT=lsb ;; + arch) DEFAULT_INIT_SCRIPT=arch ;; + sles) DEFAULT_INIT_SCRIPT=lsb ;; + slackware) DEFAULT_INIT_SCRIPT=lsb ;; + lunar) DEFAULT_INIT_SCRIPT=lunar ;; + ubuntu) DEFAULT_INIT_SCRIPT=lsb ;; + debian) DEFAULT_INIT_SCRIPT=lsb ;; + *) DEFAULT_INIT_SCRIPT=lsb ;; esac { $as_echo "$as_me:$LINENO: result: $DEFAULT_INIT_SCRIPT" >&5 @@ -11937,6 +11948,13 @@ if test "${with_config+set}" = set; then withval=$with_config; ZFS_CONFIG="$withval" fi + # Check whether --enable-linux-builtin was given. +if test "${enable_linux_builtin+set}" = set; then + enableval=$enable_linux_builtin; +else + enable_linux_builtin=no +fi + { $as_echo "$as_me:$LINENO: checking zfs config" >&5 $as_echo_n "checking zfs config... " >&6; } @@ -12175,9 +12193,19 @@ 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 + if test "x$enable_linux_builtin" != xyes; then + { { $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; }; } + else + { { $as_echo "$as_me:$LINENO: error: + *** Cannot find UTS_RELEASE definition. + *** Please run 'make prepare' inside the kernel source tree." >&5 +$as_echo "$as_me: error: + *** Cannot find UTS_RELEASE definition. + *** Please run 'make prepare' inside the kernel source tree." >&2;} + { (exit 1); exit 1; }; } + fi fi @@ -12197,7 +12225,7 @@ $as_echo "$kernsrcver" >&6; } modpost=$LINUX/scripts/Makefile.modpost { $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 test "x$enable_linux_builtin" != xyes -a -f "$modpost"; then if grep -q Modules.symvers $modpost; then @@ -12386,6 +12414,87 @@ $as_echo "$SPL_SYMBOLS" >&6; } + { $as_echo "$as_me:$LINENO: checking whether modules can be built" >&5 +$as_echo_n "checking whether modules can be built... " >&6; } + + +cat confdefs.h - <<_ACEOF >conftest.c +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + +int +main (void) +{ + + ; + return 0; +} + +_ACEOF + + + 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; } + +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; } + if test "x$enable_linux_builtin" != xyes; then + { { $as_echo "$as_me:$LINENO: error: *** Unable to build an empty module." >&5 +$as_echo "$as_me: error: *** Unable to build an empty module." >&2;} + { (exit 1); exit 1; }; } + else + { { $as_echo "$as_me:$LINENO: error: + *** Unable to build an empty module. + *** Please run 'make scripts' inside the kernel source tree." >&5 +$as_echo "$as_me: error: + *** Unable to build an empty module. + *** Please run 'make scripts' inside the kernel source tree." >&2;} + { (exit 1); exit 1; }; } + fi + + + +fi + + rm -Rf build + + + + + + 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 whether Linux was built with CONFIG_PREEMPT" >&5 @@ -12458,9 +12567,9 @@ 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 "$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; } @@ -12505,23 +12614,76 @@ _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; }; } + + { $as_echo "$as_me:$LINENO: checking whether mutex_lock() is GPL-only" >&5 +$as_echo_n "checking whether mutex_lock() is GPL-only... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" + + +cat confdefs.h - <<_ACEOF >conftest.c +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + + #include + #include + + MODULE_LICENSE("$ZFS_META_LICENSE"); + +int +main (void) +{ + + struct mutex lock; + + mutex_init(&lock); + mutex_lock(&lock); + mutex_unlock(&lock); + + ; + 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: no" >&5 +$as_echo "no" >&6; } else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } - + { $as_echo "$as_me:$LINENO: 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 and will prevent the module linking stage + *** from succeeding. You must rebuild your kernel without this + *** option enabled." >&5 +$as_echo "$as_me: error: + *** Kernel built with CONFIG_DEBUG_LOCK_ALLOC which is incompatible + *** with the CDDL license and will prevent the module linking stage + *** from succeeding. You must rebuild your kernel without this + *** option enabled." >&2;} + { (exit 1); exit 1; }; } @@ -12530,21 +12692,26 @@ fi rm -Rf build + EXTRA_KCFLAGS="$tmp_flags" -fi - +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - if test "$ZFS_META_LICENSE" = GPL; then + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } -cat >>confdefs.h <<\_ACEOF -#define HAVE_GPL_ONLY_SYMBOLS 1 -_ACEOF fi + rm -Rf build + + + + { $as_echo "$as_me:$LINENO: checking block device operation prototypes" >&5 @@ -12761,6 +12928,72 @@ fi + { $as_echo "$as_me:$LINENO: checking whether blkdev_get() wants 3 args" >&5 +$as_echo_n "checking whether blkdev_get() wants 3 args... " >&6; } + + +cat confdefs.h - <<_ACEOF >conftest.c +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + + #include + +int +main (void) +{ + + struct block_device *bdev = NULL; + (void) blkdev_get(bdev, 0, 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_3ARG_BLKDEV_GET 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 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:]]' \ @@ -14159,8 +14392,8 @@ fi EXTRA_KCFLAGS="$tmp_flags" - { $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_queue_discard() is available" >&5 +$as_echo_n "checking whether blk_queue_discard() is available... " >&6; } tmp_flags="$EXTRA_KCFLAGS" EXTRA_KCFLAGS="-Wno-unused-but-set-variable" @@ -14180,7 +14413,7 @@ main (void) { struct request_queue *q = NULL; - (void) blk_fetch_request(q); + (void) blk_queue_discard(q); ; return 0; @@ -14207,7 +14440,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_BLK_FETCH_REQUEST 1 +#define HAVE_BLK_QUEUE_DISCARD 1 _ACEOF @@ -14228,8 +14461,8 @@ fi EXTRA_KCFLAGS="$tmp_flags" - { $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 blk_fetch_request() is available" >&5 +$as_echo_n "checking whether blk_fetch_request() is available... " >&6; } tmp_flags="$EXTRA_KCFLAGS" EXTRA_KCFLAGS="-Wno-unused-but-set-variable" @@ -14249,8 +14482,7 @@ main (void) { struct request_queue *q = NULL; - struct request *req = NULL; - blk_requeue_request(q, req); + (void) blk_fetch_request(q); ; return 0; @@ -14277,7 +14509,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_BLK_REQUEUE_REQUEST 1 +#define HAVE_BLK_FETCH_REQUEST 1 _ACEOF @@ -14298,8 +14530,8 @@ fi EXTRA_KCFLAGS="$tmp_flags" - { $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 blk_requeue_request() is available" >&5 +$as_echo_n "checking whether blk_requeue_request() is available... " >&6; } tmp_flags="$EXTRA_KCFLAGS" EXTRA_KCFLAGS="-Wno-unused-but-set-variable" @@ -14318,8 +14550,9 @@ int main (void) { + struct request_queue *q = NULL; struct request *req = NULL; - (void) blk_rq_bytes(req); + blk_requeue_request(q, req); ; return 0; @@ -14346,7 +14579,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_BLK_RQ_BYTES 1 +#define HAVE_BLK_REQUEUE_REQUEST 1 _ACEOF @@ -14364,9 +14597,78 @@ fi rm -Rf build + EXTRA_KCFLAGS="$tmp_flags" - { $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 blk_rq_bytes() is available" >&5 +$as_echo_n "checking whether blk_rq_bytes() is available... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" + + +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_bytes(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_BYTES 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_bytes() is GPL-only" >&5 +$as_echo_n "checking whether blk_rq_bytes() is GPL-only... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -14642,6 +14944,59 @@ fi EXTRA_KCFLAGS="$tmp_flags" + { $as_echo "$as_me:$LINENO: checking whether symbol get_gendisk is exported" >&5 +$as_echo_n "checking whether symbol get_gendisk is exported... " >&6; } + grep -q -E '[[:space:]]get_gendisk[[:space:]]' \ + $LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null + rc=$? + if test $rc -ne 0; then + + export=0 + for file in block/genhd.c; do + grep -q -E "EXPORT_SYMBOL.*(get_gendisk)" "$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_GET_GENDISK 1 +_ACEOF + + +fi + + +else + + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + +cat >>confdefs.h <<\_ACEOF +#define HAVE_GET_GENDISK 1 +_ACEOF + + +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; } tmp_flags="$EXTRA_KCFLAGS" @@ -15013,14 +15368,15 @@ cat >>conftest.$ac_ext <<_ACEOF #include + int show_options (struct seq_file * x, struct dentry * y) { return 0; }; + static struct super_operations sops __attribute__ ((unused)) = { + .show_options = show_options, + }; + int main (void) { - int (*show_options) (struct seq_file *, struct dentry *) = NULL; - struct super_operations sops __attribute__ ((unused)); - - sops.show_options = show_options; ; return 0; @@ -15263,9 +15619,6 @@ fi - { $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 /* confdefs.h. */ @@ -15281,10 +15634,10 @@ int main (void) { - void (*evict_inode) (struct inode *) = NULL; - struct super_operations sops __attribute__ ((unused)) = { - .evict_inode = evict_inode, - }; + int (*fsync) (struct file *, struct dentry *, int) = NULL; + file_operations_no_const fops __attribute__ ((unused)); + + fops.fsync = fsync; ; return 0; @@ -15307,11 +15660,11 @@ _ACEOF $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: result: dentry" >&5 +$as_echo "dentry" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_EVICT_INODE 1 +#define HAVE_FSYNC_WITH_DENTRY 1 _ACEOF @@ -15319,8 +15672,6 @@ else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } @@ -15331,8 +15682,6 @@ fi - { $as_echo "$as_me:$LINENO: checking whether sops->nr_cached_objects() exists" >&5 -$as_echo_n "checking whether sops->nr_cached_objects() exists... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -15349,11 +15698,10 @@ int main (void) { - int (*nr_cached_objects)(struct super_block *) - __attribute__ ((unused)) = NULL; - struct super_operations sops __attribute__ ((unused)) = { - .nr_cached_objects = nr_cached_objects, - }; + int (*fsync) (struct file *, int) = NULL; + file_operations_no_const fops __attribute__ ((unused)); + + fops.fsync = fsync; ; return 0; @@ -15376,11 +15724,11 @@ _ACEOF $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: result: no dentry" >&5 +$as_echo "no dentry" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_NR_CACHED_OBJECTS 1 +#define HAVE_FSYNC_WITHOUT_DENTRY 1 _ACEOF @@ -15388,8 +15736,6 @@ else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } @@ -15400,8 +15746,6 @@ fi - { $as_echo "$as_me:$LINENO: checking whether sops->free_cached_objects() exists" >&5 -$as_echo_n "checking whether sops->free_cached_objects() exists... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -15418,11 +15762,10 @@ int main (void) { - void (*free_cached_objects)(struct super_block *, int) - __attribute__ ((unused)) = NULL; - struct super_operations sops __attribute__ ((unused)) = { - .free_cached_objects = free_cached_objects, - }; + int (*fsync) (struct file *, loff_t, loff_t, int) = NULL; + file_operations_no_const fops __attribute__ ((unused)); + + fops.fsync = fsync; ; return 0; @@ -15445,11 +15788,11 @@ _ACEOF $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: result: range" >&5 +$as_echo "range" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_FREE_CACHED_OBJECTS 1 +#define HAVE_FSYNC_RANGE 1 _ACEOF @@ -15457,8 +15800,6 @@ else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } @@ -15469,222 +15810,146 @@ 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:]]' \ - $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 + { $as_echo "$as_me:$LINENO: checking whether sops->evict_inode() exists" >&5 +$as_echo_n "checking whether sops->evict_inode() exists... " >&6; } - export=1 - break; -fi +cat confdefs.h - <<_ACEOF >conftest.c +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ - done - if test $export -eq 0; then - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } + #include + void evict_inode (struct inode * t) { return; } + static struct super_operations sops __attribute__ ((unused)) = { + .evict_inode = evict_inode, + }; +int +main (void) +{ -else - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } + ; + return 0; +} -cat >>confdefs.h <<\_ACEOF -#define HAVE_INSERT_INODE_LOCKED 1 _ACEOF -fi - - -else + 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_INSERT_INODE_LOCKED 1 +#define HAVE_EVICT_INODE 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: 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 +fi - export=1 - break; + rm -Rf build -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 sops->nr_cached_objects() exists" >&5 +$as_echo_n "checking whether sops->nr_cached_objects() exists... " >&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 +cat confdefs.h - <<_ACEOF >conftest.c +/* confdefs.h. */ _ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -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 - - export=1 - break; - -fi - - done - if test $export -eq 0; then - - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } + #include +int +main (void) +{ -else + int (*nr_cached_objects)(struct super_block *) + __attribute__ ((unused)) = NULL; + struct super_operations sops __attribute__ ((unused)) = { + .nr_cached_objects = nr_cached_objects, + }; - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } + ; + return 0; +} -cat >>confdefs.h <<\_ACEOF -#define HAVE_CHECK_DISK_SIZE_CHANGE 1 _ACEOF -fi - - -else + 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_CHECK_DISK_SIZE_CHANGE 1 +#define HAVE_NR_CACHED_OBJECTS 1 _ACEOF -fi - - - - - { $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 - - 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: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } -cat >>confdefs.h <<\_ACEOF -#define HAVE_TRUNCATE_SETSIZE 1 -_ACEOF fi - -else - - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } - -cat >>confdefs.h <<\_ACEOF -#define HAVE_TRUNCATE_SETSIZE 1 -_ACEOF - - -fi + rm -Rf build - { $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" + { $as_echo "$as_me:$LINENO: checking whether sops->free_cached_objects() exists" >&5 +$as_echo_n "checking whether sops->free_cached_objects() exists... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -15695,20 +15960,17 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include + #include int main (void) { - struct inode *ip __attribute__ ((unused)) = NULL; - struct inode *dip __attribute__ ((unused)) = NULL; - const struct qstr *str __attribute__ ((unused)) = NULL; - char *name __attribute__ ((unused)) = NULL; - void *value __attribute__ ((unused)) = NULL; - size_t len __attribute__ ((unused)) = 0; - - security_inode_init_security(ip, dip, str, &name, &value, &len); + void (*free_cached_objects)(struct super_block *, int) + __attribute__ ((unused)) = NULL; + struct super_operations sops __attribute__ ((unused)) = { + .free_cached_objects = free_cached_objects, + }; ; return 0; @@ -15735,7 +15997,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_6ARGS_SECURITY_INODE_INIT_SECURITY 1 +#define HAVE_FREE_CACHED_OBJECTS 1 _ACEOF @@ -15753,13 +16015,11 @@ fi rm -Rf build - EXTRA_KCFLAGS="$tmp_flags" - { $as_echo "$as_me:$LINENO: checking whether security_inode_init_security wants callback" >&5 -$as_echo_n "checking whether security_inode_init_security wants callback... " >&6; } - tmp_flags="$EXTRA_KCFLAGS" - EXTRA_KCFLAGS="-Werror" + + { $as_echo "$as_me:$LINENO: checking whether fops->fallocate() exists" >&5 +$as_echo_n "checking whether fops->fallocate() exists... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -15770,18 +16030,16 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include + #include int main (void) { - struct inode *ip __attribute__ ((unused)) = NULL; - struct inode *dip __attribute__ ((unused)) = NULL; - const struct qstr *str __attribute__ ((unused)) = NULL; - initxattrs func __attribute__ ((unused)) = NULL; - - security_inode_init_security(ip, dip, str, func, NULL); + long (*fallocate) (struct file *, int, loff_t, loff_t) = NULL; + struct file_operations fops __attribute__ ((unused)) = { + .fallocate = fallocate, + }; ; return 0; @@ -15808,7 +16066,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_CALLBACK_SECURITY_INODE_INIT_SECURITY 1 +#define HAVE_FILE_FALLOCATE 1 _ACEOF @@ -15826,64 +16084,10 @@ 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_shrink" >&5 -$as_echo_n "checking whether super_block has s_shrink... " >&6; } + { $as_echo "$as_me:$LINENO: checking whether iops->fallocate() exists" >&5 +$as_echo_n "checking whether iops->fallocate() exists... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -15900,12 +16104,9 @@ int main (void) { - int (*shrink)(struct shrinker *, struct shrink_control *sc) - __attribute__ ((unused)) = NULL; - struct super_block sb __attribute__ ((unused)) = { - .s_shrink.shrink = shrink, - .s_shrink.seeks = DEFAULT_SEEKS, - .s_shrink.batch = 0, + long (*fallocate) (struct inode *, int, loff_t, loff_t) = NULL; + struct inode_operations fops __attribute__ ((unused)) = { + .fallocate = fallocate, }; ; @@ -15933,11 +16134,10 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_SHRINK 1 +#define HAVE_INODE_FALLOCATE 1 _ACEOF - else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -15954,8 +16154,8 @@ 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; } + { $as_echo "$as_me:$LINENO: checking whether fops->fallocate() exists" >&5 +$as_echo_n "checking whether fops->fallocate() exists... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -15972,8 +16172,10 @@ int main (void) { - struct super_block sb __attribute__ ((unused)); - sb.s_bdi = NULL; + long (*fallocate) (struct file *, int, loff_t, loff_t) = NULL; + struct file_operations_no_const fops __attribute__ ((unused)) = { + .fallocate = fallocate, + }; ; return 0; @@ -16000,7 +16202,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_BDI 1 +#define HAVE_FILE_FALLOCATE 1 _ACEOF @@ -16020,61 +16222,78 @@ fi - { $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 + { $as_echo "$as_me:$LINENO: checking whether iops->truncate_range() exists" >&5 +$as_echo_n "checking whether iops->truncate_range() exists... " >&6; } - export=1 - break; -fi +cat confdefs.h - <<_ACEOF >conftest.c +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ - done - if test $export -eq 0; then - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } + #include + void truncate_range(struct inode *inode, loff_t start, + loff_t end) { return; } + static struct inode_operations iops __attribute__ ((unused)) = { + .truncate_range = truncate_range, + }; +int +main (void) +{ -else - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } + ; + return 0; +} -cat >>confdefs.h <<\_ACEOF -#define HAVE_BDI_SETUP_AND_REGISTER 1 _ACEOF -fi - - -else + 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_SETUP_AND_REGISTER 1 +#define HAVE_INODE_TRUNCATE_RANGE 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 set_nlink() is available" >&5 -$as_echo_n "checking whether set_nlink() is available... " >&6; } + + { $as_echo "$as_me:$LINENO: checking whether iops->create()/mkdir()/mknod() take umode_t" >&5 +$as_echo_n "checking whether iops->create()/mkdir()/mknod() take umode_t... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -16091,9 +16310,11 @@ int main (void) { - struct inode node; - unsigned int link = 0; - (void) set_nlink(&node, link); + int (*create) (struct inode *, struct dentry *, umode_t, + struct nameidata *) = NULL; + struct inode_operations iops __attribute__ ((unused)) = { + .create = create, + }; ; return 0; @@ -16120,7 +16341,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_SET_NLINK 1 +#define HAVE_CREATE_UMODE_T 1 _ACEOF @@ -16140,413 +16361,2201 @@ fi - if test "$LINUX_OBJ" != "$LINUX"; then + { $as_echo "$as_me:$LINENO: checking whether dops->d_automount() exists" >&5 +$as_echo_n "checking whether dops->d_automount() exists... " >&6; } - KERNELMAKE_PARAMS="$KERNELMAKE_PARAMS O=$LINUX_OBJ" -fi +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) +{ - KERNELCPPFLAGS="$KERNELCPPFLAGS $NO_UNUSED_BUT_SET_VARIABLE" - KERNELCPPFLAGS="$KERNELCPPFLAGS -DHAVE_SPL -D_KERNEL" - KERNELCPPFLAGS="$KERNELCPPFLAGS -DTEXT_DOMAIN=\\\"zfs-linux-kernel\\\"" + struct vfsmount *(*d_automount) (struct path *) = NULL; + struct dentry_operations dops __attribute__ ((unused)) = { + .d_automount = d_automount, + }; + ; + return 0; +} - ;; - user) +_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 + 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_AUTOMOUNT 1 +_ACEOF -# 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: 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 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 whether eops->encode_fh() wants inode" >&5 +$as_echo_n "checking whether eops->encode_fh() wants inode... " >&6; } - { $as_echo "$as_me:$LINENO: checking for ioctl()" >&5 -$as_echo_n "checking for ioctl()... " >&6; } - cat >conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.c /* 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 + #include + int encode_fh(struct inode *inode, __u32 *fh, int *max_len, + struct inode *parent) { return 0; } + static struct export_operations eops __attribute__ ((unused))={ + .encode_fh = encode_fh, + }; -_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* +int +main (void) +{ + + + ; + return 0; +} - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include + + 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_ENCODE_FH_WITH_INODE 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 + $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 -f conftest* + rm -Rf build - 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 + { $as_echo "$as_me:$LINENO: checking whether symbol clear_inode is exported" >&5 +$as_echo_n "checking whether symbol clear_inode is exported... " >&6; } + grep -q -E '[[:space:]]clear_inode[[:space:]]' \ + $LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null + rc=$? + if test $rc -ne 0; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_IOCTL_IN_SYS_IOCTL_H 1 -_ACEOF + export=0 + for file in fs/inode.c; do + grep -q -E "EXPORT_SYMBOL.*(clear_inode)" "$LINUX/$file" 2>/dev/null + rc=$? + if test $rc -eq 0; then - elif test $is_stropts = yes; then + export=1 + break; -cat >>confdefs.h <<\_ACEOF -#define HAVE_IOCTL_IN_STROPTS_H 1 -_ACEOF +fi - else - result=no - fi - fi + done + if test $export -eq 0; then - if test $result = no; then - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $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= +else - 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 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + +cat >>confdefs.h <<\_ACEOF +#define HAVE_CLEAR_INODE 1 _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -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_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_header_compiler=no + fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking zlib.h presence" >&5 -$as_echo_n "checking zlib.h presence... " >&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 { (ac_try="$ac_cpp conftest.$ac_ext" -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_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_header_preproc=no -fi + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } +cat >>confdefs.h <<\_ACEOF +#define HAVE_CLEAR_INODE 1 +_ACEOF -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: zlib.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: zlib.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: zlib.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: zlib.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: zlib.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: zlib.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: zlib.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: zlib.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: zlib.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: zlib.h: in the future, the compiler will take precedence" >&2;} - ;; -esac -{ $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 -else - ac_cv_header_zlib_h=$ac_header_preproc fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 -$as_echo "$ac_cv_header_zlib_h" >&6; } -fi -if test "x$ac_cv_header_zlib_h" = x""yes; then - : -else - { { $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: - *** zlib.h missing, zlib-devel package required -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: - *** zlib.h missing, zlib-devel package required -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } + + + + { $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 + + 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 for compress2 in -lz" >&5 -$as_echo_n "checking for compress2 in -lz... " >&6; } -if test "${ac_cv_lib_z_compress2+set}" = set; then - $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lz $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char compress2 (); -int -main () -{ -return compress2 (); - ; - return 0; -} + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + +cat >>confdefs.h <<\_ACEOF +#define HAVE_INSERT_INODE_LOCKED 1 _ACEOF -rm -f conftest.$ac_objext 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>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_z_compress2=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_lib_z_compress2=no -fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_z_compress2" >&5 -$as_echo "$ac_cv_lib_z_compress2" >&6; } -if test "x$ac_cv_lib_z_compress2" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBZ 1 -_ACEOF - LIBS="-lz $LIBS" else - { { $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: - *** compress2() missing, zlib-devel package required -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: - *** compress2() missing, zlib-devel package required -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } -fi - + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } -{ $as_echo "$as_me:$LINENO: checking for uncompress in -lz" >&5 -$as_echo_n "checking for uncompress in -lz... " >&6; } -if test "${ac_cv_lib_z_uncompress+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lz $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +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. */ -/* Override any GCC internal prototype to avoid an error. + +fi + + + + + { $as_echo "$as_me:$LINENO: checking whether symbol d_make_root is exported" >&5 +$as_echo_n "checking whether symbol d_make_root is exported... " >&6; } + grep -q -E '[[:space:]]d_make_root[[: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_make_root)" "$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_MAKE_ROOT 1 +_ACEOF + + +fi + + +else + + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + +cat >>confdefs.h <<\_ACEOF +#define HAVE_D_MAKE_ROOT 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 + + 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_CHECK_DISK_SIZE_CHANGE 1 +_ACEOF + + +fi + + +else + + { $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 + + + + + { $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 + + 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_TRUNCATE_SETSIZE 1 +_ACEOF + + +fi + + +else + + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + +cat >>confdefs.h <<\_ACEOF +#define HAVE_TRUNCATE_SETSIZE 1 +_ACEOF + + +fi + + + + + { $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. */ + + + #include + +int +main (void) +{ + + struct inode *ip __attribute__ ((unused)) = NULL; + struct inode *dip __attribute__ ((unused)) = NULL; + const struct qstr *str __attribute__ ((unused)) = NULL; + char *name __attribute__ ((unused)) = NULL; + void *value __attribute__ ((unused)) = NULL; + size_t len __attribute__ ((unused)) = 0; + + security_inode_init_security(ip, dip, str, &name, &value, &len); + + ; + return 0; +} + +_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 security_inode_init_security wants callback" >&5 +$as_echo_n "checking whether security_inode_init_security wants callback... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Werror" + + +cat confdefs.h - <<_ACEOF >conftest.c +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + + #include + +int +main (void) +{ + + struct inode *ip __attribute__ ((unused)) = NULL; + struct inode *dip __attribute__ ((unused)) = NULL; + const struct qstr *str __attribute__ ((unused)) = NULL; + initxattrs func __attribute__ ((unused)) = NULL; + + security_inode_init_security(ip, dip, str, func, NULL); + + ; + return 0; +} + +_ACEOF + + + rm -Rf build && mkdir -p build + echo "obj-m := conftest.o" >build/Makefile + if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + +cat >>confdefs.h <<\_ACEOF +#define HAVE_CALLBACK_SECURITY_INODE_INIT_SECURITY 1 +_ACEOF + + +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } + + + +fi + + rm -Rf build + + + EXTRA_KCFLAGS="$tmp_flags" + + + { $as_echo "$as_me:$LINENO: checking whether symbol mount_nodev is exported" >&5 +$as_echo_n "checking whether symbol mount_nodev is exported... " >&6; } + grep -q -E '[[:space:]]mount_nodev[[:space:]]' \ + $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_shrink" >&5 +$as_echo_n "checking whether super_block has s_shrink... " >&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 (*shrink)(struct shrinker *, struct shrink_control *sc) + __attribute__ ((unused)) = NULL; + struct super_block sb __attribute__ ((unused)) = { + .s_shrink.shrink = shrink, + .s_shrink.seeks = DEFAULT_SEEKS, + .s_shrink.batch = 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: yes" >&5 +$as_echo "yes" >&6; } + +cat >>confdefs.h <<\_ACEOF +#define HAVE_SHRINK 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 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 + + + + + { $as_echo "$as_me:$LINENO: checking whether set_nlink() is available" >&5 +$as_echo_n "checking whether set_nlink() 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 inode node; + unsigned int link = 0; + (void) set_nlink(&node, link); + + ; + 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_SET_NLINK 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 + + + + + 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 +if { (ac_try="$ac_compile" +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_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking zlib.h presence" >&5 +$as_echo_n "checking zlib.h presence... " >&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 { (ac_try="$ac_cpp conftest.$ac_ext" +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_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: zlib.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: zlib.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: zlib.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: zlib.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: zlib.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: zlib.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: zlib.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: zlib.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: zlib.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: zlib.h: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ $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 +else + ac_cv_header_zlib_h=$ac_header_preproc +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 +$as_echo "$ac_cv_header_zlib_h" >&6; } + +fi +if test "x$ac_cv_header_zlib_h" = x""yes; then + : +else + { { $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: + *** zlib.h missing, zlib-devel package required +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: + *** zlib.h missing, zlib-devel package required +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; }; } +fi + + + + +{ $as_echo "$as_me:$LINENO: checking for compress2 in -lz" >&5 +$as_echo_n "checking for compress2 in -lz... " >&6; } +if test "${ac_cv_lib_z_compress2+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char compress2 (); +int +main () +{ +return compress2 (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext 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>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_lib_z_compress2=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_z_compress2=no +fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_z_compress2" >&5 +$as_echo "$ac_cv_lib_z_compress2" >&6; } +if test "x$ac_cv_lib_z_compress2" = x""yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBZ 1 +_ACEOF + + LIBS="-lz $LIBS" + +else + { { $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: + *** compress2() missing, zlib-devel package required +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: + *** compress2() missing, zlib-devel package required +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; }; } +fi + + + +{ $as_echo "$as_me:$LINENO: checking for uncompress in -lz" >&5 +$as_echo_n "checking for uncompress in -lz... " >&6; } +if test "${ac_cv_lib_z_uncompress+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char uncompress (); +int +main () +{ +return uncompress (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext 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>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_lib_z_uncompress=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_z_uncompress=no +fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_z_uncompress" >&5 +$as_echo "$ac_cv_lib_z_uncompress" >&6; } +if test "x$ac_cv_lib_z_uncompress" = x""yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBZ 1 +_ACEOF + + LIBS="-lz $LIBS" + +else + { { $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: + *** uncompress() missing, zlib-devel package required +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: + *** uncompress() missing, zlib-devel package required +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; }; } +fi + + + +{ $as_echo "$as_me:$LINENO: checking for crc32 in -lz" >&5 +$as_echo_n "checking for crc32 in -lz... " >&6; } +if test "${ac_cv_lib_z_crc32+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char crc32 (); +int +main () +{ +return crc32 (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext 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>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_lib_z_crc32=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_z_crc32=no +fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_z_crc32" >&5 +$as_echo "$ac_cv_lib_z_crc32" >&6; } +if test "x$ac_cv_lib_z_crc32" = x""yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBZ 1 +_ACEOF + + LIBS="-lz $LIBS" + +else + { { $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: + *** crc32() missing, zlib-devel package required +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: + *** crc32() missing, zlib-devel package required +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; }; } +fi + + + ZLIB="-lz" + + +cat >>confdefs.h <<\_ACEOF +#define HAVE_ZLIB 1 +_ACEOF + + + + LIBUUID= + + if test "${ac_cv_header_uuid_uuid_h+set}" = set; then + { $as_echo "$as_me:$LINENO: checking for uuid/uuid.h" >&5 +$as_echo_n "checking for uuid/uuid.h... " >&6; } +if test "${ac_cv_header_uuid_uuid_h+set}" = set; then + $as_echo_n "(cached) " >&6 +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_uuid_uuid_h" >&5 +$as_echo "$ac_cv_header_uuid_uuid_h" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking uuid/uuid.h usability" >&5 +$as_echo_n "checking uuid/uuid.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 +if { (ac_try="$ac_compile" +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_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking uuid/uuid.h presence" >&5 +$as_echo_n "checking uuid/uuid.h presence... " >&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 { (ac_try="$ac_cpp conftest.$ac_ext" +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_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: uuid/uuid.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: uuid/uuid.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: uuid/uuid.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: uuid/uuid.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: uuid/uuid.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: uuid/uuid.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: uuid/uuid.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: uuid/uuid.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: uuid/uuid.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: uuid/uuid.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: uuid/uuid.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: uuid/uuid.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: uuid/uuid.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: uuid/uuid.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: uuid/uuid.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: uuid/uuid.h: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for uuid/uuid.h" >&5 +$as_echo_n "checking for uuid/uuid.h... " >&6; } +if test "${ac_cv_header_uuid_uuid_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_header_uuid_uuid_h=$ac_header_preproc +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_uuid_uuid_h" >&5 +$as_echo "$ac_cv_header_uuid_uuid_h" >&6; } + +fi +if test "x$ac_cv_header_uuid_uuid_h" = x""yes; then + : +else + { { $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: + *** uuid/uuid.h missing, libuuid-devel package required +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: + *** uuid/uuid.h missing, libuuid-devel package required +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; }; } +fi + + + + +{ $as_echo "$as_me:$LINENO: checking for uuid_generate in -luuid" >&5 +$as_echo_n "checking for uuid_generate in -luuid... " >&6; } +if test "${ac_cv_lib_uuid_uuid_generate+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-luuid $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char uuid_generate (); +int +main () +{ +return uuid_generate (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext 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>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_lib_uuid_uuid_generate=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_uuid_uuid_generate=no +fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_uuid_uuid_generate" >&5 +$as_echo "$ac_cv_lib_uuid_uuid_generate" >&6; } +if test "x$ac_cv_lib_uuid_uuid_generate" = x""yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBUUID 1 +_ACEOF + + LIBS="-luuid $LIBS" + +else + { { $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: + *** uuid_generate() missing, libuuid-devel package required +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: + *** uuid_generate() missing, libuuid-devel package required +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; }; } +fi + + + +{ $as_echo "$as_me:$LINENO: checking for uuid_is_null in -luuid" >&5 +$as_echo_n "checking for uuid_is_null in -luuid... " >&6; } +if test "${ac_cv_lib_uuid_uuid_is_null+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-luuid $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char uuid_is_null (); +int +main () +{ +return uuid_is_null (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext 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>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_lib_uuid_uuid_is_null=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_uuid_uuid_is_null=no +fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_uuid_uuid_is_null" >&5 +$as_echo "$ac_cv_lib_uuid_uuid_is_null" >&6; } +if test "x$ac_cv_lib_uuid_uuid_is_null" = x""yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBUUID 1 +_ACEOF + + LIBS="-luuid $LIBS" + +else + { { $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: + *** uuid_is_null() missing, libuuid-devel package required +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: + *** uuid_is_null() missing, libuuid-devel package required +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; }; } +fi + + + LIBUUID="-luuid" + + +cat >>confdefs.h <<\_ACEOF +#define HAVE_LIBUUID 1 +_ACEOF + + + + +# Check whether --with-blkid was given. +if test "${with_blkid+set}" = set; then + withval=$with_blkid; +else + with_blkid=check +fi + + + LIBBLKID= + if test "x$with_blkid" != xno; then + + { $as_echo "$as_me:$LINENO: checking for blkid_get_cache in -lblkid" >&5 +$as_echo_n "checking for blkid_get_cache in -lblkid... " >&6; } +if test "${ac_cv_lib_blkid_blkid_get_cache+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lblkid $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char blkid_get_cache (); +int +main () +{ +return blkid_get_cache (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext 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>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_lib_blkid_blkid_get_cache=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_blkid_blkid_get_cache=no +fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_blkid_blkid_get_cache" >&5 +$as_echo "$ac_cv_lib_blkid_blkid_get_cache" >&6; } +if test "x$ac_cv_lib_blkid_blkid_get_cache" = x""yes; then + + { $as_echo "$as_me:$LINENO: checking for blkid zfs support" >&5 +$as_echo_n "checking for blkid zfs support... " >&6; } + + ZFS_DEV=`mktemp` + dd if=/dev/zero of=$ZFS_DEV bs=1024k count=8 \ + >/dev/null 2>/dev/null + echo -en "\x0c\xb1\xba\0\0\0\0\0" | \ + dd of=$ZFS_DEV bs=1k count=8 \ + seek=132 conv=notrunc &>/dev/null \ + >/dev/null 2>/dev/null + + saved_LDFLAGS="$LDFLAGS" + LDFLAGS="-lblkid" + + 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. */ + + #include + #include + +int +main () +{ + + blkid_cache cache; + char *value; + + if (blkid_get_cache(&cache, NULL) < 0) + return 1; + + value = blkid_get_tag_value(cache, "TYPE", + "$ZFS_DEV"); + if (!value) { + blkid_put_cache(cache); + return 2; + } + + if (strcmp(value, "zfs")) { + free(value); + blkid_put_cache(cache); + return 3; + } + + free(value); + blkid_put_cache(cache); + + ; + 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 + + rm -f $ZFS_DEV + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + LIBBLKID="-lblkid" + + +cat >>confdefs.h <<\_ACEOF +#define HAVE_LIBBLKID 1 +_ACEOF + + +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 ) + + rm -f $ZFS_DEV + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } + if test "x$with_blkid" != xcheck; 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: --with-blkid given but unavailable +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: --with-blkid given but unavailable +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; }; } +fi + + +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 + + + + LDFLAGS="$saved_LDFLAGS" + +else + + if test "x$with_blkid" != xcheck; 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: --with-blkid given but unavailable +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: --with-blkid given but unavailable +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; }; } +fi + + + +fi + + +fi + + + + +# Check whether --with-selinux was given. +if test "${with_selinux+set}" = set; then + withval=$with_selinux; +else + with_selinux=check +fi + + + LIBSELINUX= + if test "x$with_selinux" != xno; then + + if test "${ac_cv_header_selinux_selinux_h+set}" = set; then + { $as_echo "$as_me:$LINENO: checking for selinux/selinux.h" >&5 +$as_echo_n "checking for selinux/selinux.h... " >&6; } +if test "${ac_cv_header_selinux_selinux_h+set}" = set; then + $as_echo_n "(cached) " >&6 +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_selinux_selinux_h" >&5 +$as_echo "$ac_cv_header_selinux_selinux_h" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking selinux/selinux.h usability" >&5 +$as_echo_n "checking selinux/selinux.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 +if { (ac_try="$ac_compile" +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_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking selinux/selinux.h presence" >&5 +$as_echo_n "checking selinux/selinux.h presence... " >&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 { (ac_try="$ac_cpp conftest.$ac_ext" +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_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: selinux/selinux.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: selinux/selinux.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: selinux/selinux.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: selinux/selinux.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: selinux/selinux.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: selinux/selinux.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: selinux/selinux.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: selinux/selinux.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: selinux/selinux.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: selinux/selinux.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: selinux/selinux.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: selinux/selinux.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: selinux/selinux.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: selinux/selinux.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: selinux/selinux.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: selinux/selinux.h: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for selinux/selinux.h" >&5 +$as_echo_n "checking for selinux/selinux.h... " >&6; } +if test "${ac_cv_header_selinux_selinux_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_header_selinux_selinux_h=$ac_header_preproc +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_selinux_selinux_h" >&5 +$as_echo "$ac_cv_header_selinux_selinux_h" >&6; } + +fi +if test "x$ac_cv_header_selinux_selinux_h" = x""yes; then + + { $as_echo "$as_me:$LINENO: checking for is_selinux_enabled in -lselinux" >&5 +$as_echo_n "checking for is_selinux_enabled in -lselinux... " >&6; } +if test "${ac_cv_lib_selinux_is_selinux_enabled+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lselinux $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -char uncompress (); +char is_selinux_enabled (); int main () { -return uncompress (); +return is_selinux_enabled (); ; return 0; } @@ -16572,12 +18581,12 @@ $as_echo "$ac_try_echo") >&5 test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then - ac_cv_lib_z_uncompress=yes + ac_cv_lib_selinux_is_selinux_enabled=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_lib_z_uncompress=no + ac_cv_lib_selinux_is_selinux_enabled=no fi rm -rf conftest.dSYM @@ -16585,59 +18594,204 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_z_uncompress" >&5 -$as_echo "$ac_cv_lib_z_uncompress" >&6; } -if test "x$ac_cv_lib_z_uncompress" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBZ 1 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_selinux_is_selinux_enabled" >&5 +$as_echo "$ac_cv_lib_selinux_is_selinux_enabled" >&6; } +if test "x$ac_cv_lib_selinux_is_selinux_enabled" = x""yes; then + + LIBSELINUX="-lselinux" + + +cat >>confdefs.h <<\_ACEOF +#define HAVE_LIBSELINUX 1 _ACEOF - LIBS="-lz $LIBS" else + + if test "x$with_selinux" != xcheck; 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: - *** uncompress() missing, zlib-devel package required +{ { $as_echo "$as_me:$LINENO: error: --with-selinux given but unavailable See \`config.log' for more details." >&5 -$as_echo "$as_me: error: - *** uncompress() missing, zlib-devel package required +$as_echo "$as_me: error: --with-selinux given but unavailable See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; }; } + fi +fi + -{ $as_echo "$as_me:$LINENO: checking for crc32 in -lz" >&5 -$as_echo_n "checking for crc32 in -lz... " >&6; } -if test "${ac_cv_lib_z_crc32+set}" = set; then - $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lz $LIBS" -cat >conftest.$ac_ext <<_ACEOF + + if test "x$with_selinux" != xcheck; 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: --with-selinux given but unavailable +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: --with-selinux given but unavailable +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; }; } + +fi + + +fi + + + +else + + { $as_echo "$as_me:$LINENO: checking for selinux support" >&5 +$as_echo_n "checking for selinux support... " >&6; } + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } + +fi + + + + { $as_echo "$as_me:$LINENO: checking for -Wframe-larger-than= support" >&5 +$as_echo_n "checking for -Wframe-larger-than= support... " >&6; } + + saved_flags="$CFLAGS" + CFLAGS="$CFLAGS -Wframe-larger-than=1024" + + 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. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char crc32 (); int main () { -return crc32 (); + + ; + 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 + + FRAME_LARGER_THAN=-Wframe-larger-than=1024 + { $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 ) + + FRAME_LARGER_THAN= + { $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" + + + + + { $as_echo "$as_me:$LINENO: checking whether pthread stack includes guard" >&5 +$as_echo_n "checking whether pthread stack includes guard... " >&6; } + + saved_CFLAGS="$CFLAGS" + CFLAGS="-fstack-check" + saved_LDFLAGS="$LDFLAGS" + LDFLAGS="-lpthread" + + 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. */ + + #include + #include + #include + #include + + #define PAGESIZE (sysconf(_SC_PAGESIZE)) + #define STACK_SIZE 8192 + #define BUFSIZE 4096 + + void * func(void *arg) + { + char buf[BUFSIZE]; + } + +int +main () +{ + + pthread_t tid; + pthread_attr_t attr; + struct rlimit l; + + l.rlim_cur = 0; + l.rlim_max = 0; + setrlimit(RLIMIT_CORE, &l); + pthread_attr_init(&attr); + pthread_attr_setstacksize(&attr, PTHREAD_STACK_MIN + STACK_SIZE); + pthread_attr_setguardsize(&attr, PAGESIZE); + pthread_create(&tid, &attr, func, NULL); + pthread_join(tid, NULL); + ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext +rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; @@ -16645,1431 +18799,1510 @@ case "(($ac_try" in esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 + (eval "$ac_link") 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_z_crc32=yes + (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 + + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } + else - $as_echo "$as_me: failed program was:" >&5 + $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 - ac_cv_lib_z_crc32=no +( exit $ac_status ) + + +cat >>confdefs.h <<\_ACEOF +#define NPTL_GUARD_WITHIN_STACK 1 +_ACEOF + + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&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_CFLAGS" + LDFLAGS="$saved_LDFLAGS" + + ;; + all) + + +# Check whether --with-linux was given. +if test "${with_linux+set}" = set; then + withval=$with_linux; kernelsrc="$withval" +fi + + + +# Check whether --with-linux-obj was given. +if test "${with_linux_obj+set}" = set; then + withval=$with_linux_obj; kernelbuild="$withval" +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 + + headersdir="/lib/modules/$(uname -r)/build" + sourcelink=$(readlink -f "$headersdir") + +else + + sourcelink=$(ls -1d /usr/src/kernels/* \ + /usr/src/linux-* \ + 2>/dev/null | grep -v obj | tail -1) + +fi + + + if test -n "$sourcelink" && test -e ${sourcelink}; then + + kernelsrc=`readlink -f ${sourcelink}` + +else + + { $as_echo "$as_me:$LINENO: result: Not found" >&5 +$as_echo "Not found" >&6; } + { { $as_echo "$as_me:$LINENO: error: + *** Please make sure the kernel devel package for your distribution + *** is installed then try again. If that fails you can specify the + *** location of the kernel source with the '--with-linux=PATH' option." >&5 +$as_echo "$as_me: error: + *** Please make sure the kernel devel package for your distribution + *** 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 + + if test "$kernelsrc" = "NONE"; then + + kernsrcver=NONE + +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 + + kernelbuild=${kernelsrc}-obj/${target_cpu}/${target_cpu} + +elif test -d ${kernelsrc}-obj/${target_cpu}/default; then + + kernelbuild=${kernelsrc}-obj/${target_cpu}/default + +elif test -d `dirname ${kernelsrc}`/build-${target_cpu}; then + + kernelbuild=`dirname ${kernelsrc}`/build-${target_cpu} + +else + + kernelbuild=${kernelsrc} + +fi + + +fi + + { $as_echo "$as_me:$LINENO: result: $kernelbuild" >&5 +$as_echo "$kernelbuild" >&6; } + + { $as_echo "$as_me:$LINENO: checking kernel source version" >&5 +$as_echo_n "checking kernel source version... " >&6; } + utsrelease1=$kernelbuild/include/linux/version.h + 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 + + utsrelease=linux/utsrelease.h + +elif test -r $utsrelease3 && fgrep -q UTS_RELEASE $utsrelease3; then + + utsrelease=generated/utsrelease.h + +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 + + { $as_echo "$as_me:$LINENO: result: Not found" >&5 +$as_echo "Not found" >&6; } + if test "x$enable_linux_builtin" != xyes; then + { { $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; }; } + else + { { $as_echo "$as_me:$LINENO: error: + *** Cannot find UTS_RELEASE definition. + *** Please run 'make prepare' inside the kernel source tree." >&5 +$as_echo "$as_me: error: + *** Cannot find UTS_RELEASE definition. + *** Please run 'make prepare' inside the kernel source tree." >&2;} + { (exit 1); exit 1; }; } + fi + +fi + + + { $as_echo "$as_me:$LINENO: result: $kernsrcver" >&5 +$as_echo "$kernsrcver" >&6; } + + LINUX=${kernelsrc} + LINUX_OBJ=${kernelbuild} + LINUX_VERSION=${kernsrcver} + + + + + + + modpost=$LINUX/scripts/Makefile.modpost + { $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 "x$enable_linux_builtin" != xyes -a -f "$modpost"; then + + if grep -q Modules.symvers $modpost; then + + LINUX_SYMBOLS=Modules.symvers + +else + + LINUX_SYMBOLS=Module.symvers + fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_z_crc32" >&5 -$as_echo "$ac_cv_lib_z_crc32" >&6; } -if test "x$ac_cv_lib_z_crc32" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBZ 1 -_ACEOF - LIBS="-lz $LIBS" + if test ! -f "$LINUX_OBJ/$LINUX_SYMBOLS"; then -else - { { $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: - *** crc32() missing, zlib-devel package required -See \`config.log' for more details." >&5 + { { $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 + *** kernel is configured, built, and the '--with-linux=PATH' configure + *** option refers to the location of the kernel source." >&5 $as_echo "$as_me: error: - *** crc32() missing, zlib-devel package required -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } + *** Please make sure the kernel devel package for your distribution + *** is installed. If your building with a custom kernel make sure the + *** 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 - ZLIB="-lz" +else + LINUX_SYMBOLS=NONE -cat >>confdefs.h <<\_ACEOF -#define HAVE_ZLIB 1 -_ACEOF +fi + { $as_echo "$as_me:$LINENO: result: $LINUX_SYMBOLS" >&5 +$as_echo "$LINUX_SYMBOLS" >&6; } - LIBUUID= - if test "${ac_cv_header_uuid_uuid_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for uuid/uuid.h" >&5 -$as_echo_n "checking for uuid/uuid.h... " >&6; } -if test "${ac_cv_header_uuid_uuid_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_uuid_uuid_h" >&5 -$as_echo "$ac_cv_header_uuid_uuid_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking uuid/uuid.h usability" >&5 -$as_echo_n "checking uuid/uuid.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 -if { (ac_try="$ac_compile" -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_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_header_compiler=no + +# Check whether --with-spl was given. +if test "${with_spl+set}" = set; then + withval=$with_spl; splsrc="$withval" fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking uuid/uuid.h presence" >&5 -$as_echo_n "checking uuid/uuid.h presence... " >&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 { (ac_try="$ac_cpp conftest.$ac_ext" -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_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_header_preproc=no +# Check whether --with-spl-obj was given. +if test "${with_spl_obj+set}" = set; then + withval=$with_spl_obj; splbuild="$withval" fi -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: uuid/uuid.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: uuid/uuid.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: uuid/uuid.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: uuid/uuid.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: uuid/uuid.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: uuid/uuid.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: uuid/uuid.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: uuid/uuid.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: uuid/uuid.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: uuid/uuid.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: uuid/uuid.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: uuid/uuid.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: uuid/uuid.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: uuid/uuid.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: uuid/uuid.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: uuid/uuid.h: in the future, the compiler will take precedence" >&2;} - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for uuid/uuid.h" >&5 -$as_echo_n "checking for uuid/uuid.h... " >&6; } -if test "${ac_cv_header_uuid_uuid_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_uuid_uuid_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_uuid_uuid_h" >&5 -$as_echo "$ac_cv_header_uuid_uuid_h" >&6; } + { $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 -if test "x$ac_cv_header_uuid_uuid_h" = x""yes; then - : -else - { { $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: - *** uuid/uuid.h missing, libuuid-devel package required -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: - *** uuid/uuid.h missing, libuuid-devel package required -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } fi + if test -e $sourcelink; then + splsrc=`readlink -f ${sourcelink}` -{ $as_echo "$as_me:$LINENO: checking for uuid_generate in -luuid" >&5 -$as_echo_n "checking for uuid_generate in -luuid... " >&6; } -if test "${ac_cv_lib_uuid_uuid_generate+set}" = set; then - $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-luuid $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char uuid_generate (); -int -main () -{ -return uuid_generate (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext 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>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_uuid_uuid_generate=yes + { $as_echo "$as_me:$LINENO: result: Not found" >&5 +$as_echo "Not found" >&6; } + { { $as_echo "$as_me:$LINENO: error: + *** Please make sure the spl devel package for your distribution + *** is installed then try again. If that fails you can specify the + *** location of the spl source with the '--with-spl=PATH' option." >&5 +$as_echo "$as_me: error: + *** Please make sure the spl devel package for your distribution + *** 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 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_lib_uuid_uuid_generate=no + if test "$splsrc" = "NONE"; then + + splbuild=NONE + splsrcver=NONE + fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS + fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_uuid_uuid_generate" >&5 -$as_echo "$ac_cv_lib_uuid_uuid_generate" >&6; } -if test "x$ac_cv_lib_uuid_uuid_generate" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBUUID 1 -_ACEOF - LIBS="-luuid $LIBS" -else - { { $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: - *** uuid_generate() missing, libuuid-devel package required -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: - *** uuid_generate() missing, libuuid-devel package required -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } + { $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 + { $as_echo "$as_me:$LINENO: result: $splbuild" >&5 +$as_echo "$splbuild" >&6; } + { $as_echo "$as_me:$LINENO: checking spl source version" >&5 +$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 -{ $as_echo "$as_me:$LINENO: checking for uuid_is_null in -luuid" >&5 -$as_echo_n "checking for uuid_is_null in -luuid... " >&6; } -if test "${ac_cv_lib_uuid_uuid_is_null+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-luuid $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char uuid_is_null (); -int -main () -{ -return uuid_is_null (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext 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>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_uuid_uuid_is_null=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + splsrcver=`(echo "#include "; + echo "splsrcver=SPL_META_VERSION-SPL_META_RELEASE") | + cpp -I $splbuild | + grep "^splsrcver=" | tr -d \" | cut -d= -f2` - ac_cv_lib_uuid_uuid_is_null=no fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_uuid_uuid_is_null" >&5 -$as_echo "$ac_cv_lib_uuid_uuid_is_null" >&6; } -if test "x$ac_cv_lib_uuid_uuid_is_null" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBUUID 1 -_ACEOF - LIBS="-luuid $LIBS" + if test -z "$splsrcver"; then -else - { { $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: - *** uuid_is_null() missing, libuuid-devel package required -See \`config.log' for more details." >&5 + { $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 $as_echo "$as_me: error: - *** uuid_is_null() missing, libuuid-devel package required -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } + *** Cannot determine the version of the spl source. + *** Please prepare the spl source before running this script" >&2;} + { (exit 1); exit 1; }; } + fi - LIBUUID="-luuid" + { $as_echo "$as_me:$LINENO: result: $splsrcver" >&5 +$as_echo "$splsrcver" >&6; } + SPL=${splsrc} + SPL_OBJ=${splbuild} + SPL_VERSION=${splsrcver} -cat >>confdefs.h <<\_ACEOF -#define HAVE_LIBUUID 1 -_ACEOF -# Check whether --with-blkid was given. -if test "${with_blkid+set}" = set; then - withval=$with_blkid; + + { $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 + + SPL_SYMBOLS=Modules.symvers + +elif test -r $SPL_OBJ/module/Module.symvers; then + + SPL_SYMBOLS=Module.symvers + +elif test -r $SPL_OBJ/module/Modules.symvers; then + + SPL_SYMBOLS=Modules.symvers + else - with_blkid=check + + SPL_SYMBOLS=$LINUX_SYMBOLS + fi - LIBBLKID= - if test "x$with_blkid" != xno; then + { $as_echo "$as_me:$LINENO: result: $SPL_SYMBOLS" >&5 +$as_echo "$SPL_SYMBOLS" >&6; } - { $as_echo "$as_me:$LINENO: checking for blkid_get_cache in -lblkid" >&5 -$as_echo_n "checking for blkid_get_cache in -lblkid... " >&6; } -if test "${ac_cv_lib_blkid_blkid_get_cache+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lblkid $LIBS" -cat >conftest.$ac_ext <<_ACEOF + + + { $as_echo "$as_me:$LINENO: checking whether modules can be built" >&5 +$as_echo_n "checking whether modules can be built... " >&6; } + + +cat confdefs.h - <<_ACEOF >conftest.c /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char blkid_get_cache (); + int -main () +main (void) { -return blkid_get_cache (); + ; return 0; } + _ACEOF -rm -f conftest.$ac_objext 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>conftest.er1 + + + 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=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_blkid_blkid_get_cache=yes + (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; } + else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_lib_blkid_blkid_get_cache=no -fi + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } + if test "x$enable_linux_builtin" != xyes; then + { { $as_echo "$as_me:$LINENO: error: *** Unable to build an empty module." >&5 +$as_echo "$as_me: error: *** Unable to build an empty module." >&2;} + { (exit 1); exit 1; }; } + else + { { $as_echo "$as_me:$LINENO: error: + *** Unable to build an empty module. + *** Please run 'make scripts' inside the kernel source tree." >&5 +$as_echo "$as_me: error: + *** Unable to build an empty module. + *** Please run 'make scripts' inside the kernel source tree." >&2;} + { (exit 1); exit 1; }; } + fi + + + +fi + + rm -Rf build + + + + + + if test "$ZFS_META_LICENSE" = GPL; then + + +cat >>confdefs.h <<\_ACEOF +#define HAVE_GPL_ONLY_SYMBOLS 1 +_ACEOF + -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_blkid_blkid_get_cache" >&5 -$as_echo "$ac_cv_lib_blkid_blkid_get_cache" >&6; } -if test "x$ac_cv_lib_blkid_blkid_get_cache" = x""yes; then - { $as_echo "$as_me:$LINENO: checking for blkid zfs support" >&5 -$as_echo_n "checking for blkid zfs support... " >&6; } - ZFS_DEV=`mktemp` - dd if=/dev/zero of=$ZFS_DEV bs=1024k count=8 \ - >/dev/null 2>/dev/null - echo -en "\x0c\xb1\xba\0\0\0\0\0" | \ - dd of=$ZFS_DEV bs=1k count=8 \ - seek=132 conv=notrunc &>/dev/null \ - >/dev/null 2>/dev/null - saved_LDFLAGS="$LDFLAGS" - LDFLAGS="-lblkid" - 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 + { $as_echo "$as_me:$LINENO: checking whether Linux was built with CONFIG_PREEMPT" >&5 +$as_echo_n "checking whether Linux was built with CONFIG_PREEMPT... " >&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 - #include + + #include int -main () +main (void) { - blkid_cache cache; - char *value; - - if (blkid_get_cache(&cache, NULL) < 0) - return 1; - - value = blkid_get_tag_value(cache, "TYPE", - "$ZFS_DEV"); - if (!value) { - blkid_put_cache(cache); - return 2; - } - - if (strcmp(value, "zfs")) { - free(value); - blkid_put_cache(cache); - return 3; - } - - free(value); - blkid_put_cache(cache); + #ifndef CONFIG_PREEMPT + #error CONFIG_PREEMPT not #defined + #endif ; 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 + + + 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); } && { 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 + (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 - rm -f $ZFS_DEV - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } - LIBBLKID="-lblkid" + { { $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 -cat >>confdefs.h <<\_ACEOF -#define HAVE_LIBBLKID 1 -_ACEOF + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&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 ) - rm -f $ZFS_DEV - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } - if test "x$with_blkid" != xcheck; 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: --with-blkid given but unavailable -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: --with-blkid given but unavailable -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } fi + rm -Rf build -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 - LDFLAGS="$saved_LDFLAGS" -else - if test "x$with_blkid" != xcheck; 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: --with-blkid given but unavailable -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: --with-blkid given but unavailable -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } -fi + { $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. */ -fi + #include -fi +int +main (void) +{ + #ifndef CONFIG_DEBUG_LOCK_ALLOC + #error CONFIG_DEBUG_LOCK_ALLOC not #defined + #endif + ; + return 0; +} +_ACEOF -# Check whether --with-selinux was given. -if test "${with_selinux+set}" = set; then - withval=$with_selinux; -else - with_selinux=check -fi + 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 - LIBSELINUX= - if test "x$with_selinux" != xno; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } - if test "${ac_cv_header_selinux_selinux_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for selinux/selinux.h" >&5 -$as_echo_n "checking for selinux/selinux.h... " >&6; } -if test "${ac_cv_header_selinux_selinux_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_selinux_selinux_h" >&5 -$as_echo "$ac_cv_header_selinux_selinux_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking selinux/selinux.h usability" >&5 -$as_echo_n "checking selinux/selinux.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF + { $as_echo "$as_me:$LINENO: checking whether mutex_lock() is GPL-only" >&5 +$as_echo_n "checking whether mutex_lock() is GPL-only... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" + + +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 + + + #include + #include + + MODULE_LICENSE("$ZFS_META_LICENSE"); + +int +main (void) +{ + + struct mutex lock; + + mutex_init(&lock); + mutex_lock(&lock); + mutex_unlock(&lock); + + ; + return 0; +} + _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -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_compile") 2>conftest.er1 + + + 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=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes + (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } + else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_header_compiler=no + { $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 and will prevent the module linking stage + *** from succeeding. You must rebuild your kernel without this + *** option enabled." >&5 +$as_echo "$as_me: error: + *** Kernel built with CONFIG_DEBUG_LOCK_ALLOC which is incompatible + *** with the CDDL license and will prevent the module linking stage + *** from succeeding. You must rebuild your kernel without this + *** option enabled." >&2;} + { (exit 1); exit 1; }; } + + + fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } + rm -Rf build + + + EXTRA_KCFLAGS="$tmp_flags" + -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking selinux/selinux.h presence" >&5 -$as_echo_n "checking selinux/selinux.h presence... " >&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 { (ac_try="$ac_cpp conftest.$ac_ext" -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_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_header_preproc=no -fi + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: selinux/selinux.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: selinux/selinux.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: selinux/selinux.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: selinux/selinux.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: selinux/selinux.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: selinux/selinux.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: selinux/selinux.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: selinux/selinux.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: selinux/selinux.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: selinux/selinux.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: selinux/selinux.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: selinux/selinux.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: selinux/selinux.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: selinux/selinux.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: selinux/selinux.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: selinux/selinux.h: in the future, the compiler will take precedence" >&2;} - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for selinux/selinux.h" >&5 -$as_echo_n "checking for selinux/selinux.h... " >&6; } -if test "${ac_cv_header_selinux_selinux_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_selinux_selinux_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_selinux_selinux_h" >&5 -$as_echo "$ac_cv_header_selinux_selinux_h" >&6; } fi -if test "x$ac_cv_header_selinux_selinux_h" = x""yes; then - { $as_echo "$as_me:$LINENO: checking for is_selinux_enabled in -lselinux" >&5 -$as_echo_n "checking for is_selinux_enabled in -lselinux... " >&6; } -if test "${ac_cv_lib_selinux_is_selinux_enabled+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lselinux $LIBS" -cat >conftest.$ac_ext <<_ACEOF + rm -Rf build + + + + + + + { $as_echo "$as_me:$LINENO: checking block device operation prototypes" >&5 +$as_echo_n "checking block device operation prototypes... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" + + +cat confdefs.h - <<_ACEOF >conftest.c /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char is_selinux_enabled (); + + #include + int -main () +main (void) { -return is_selinux_enabled (); + + 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 -f conftest.$ac_objext 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>conftest.er1 + + + 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=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_selinux_is_selinux_enabled=yes + (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 - ac_cv_lib_selinux_is_selinux_enabled=no -fi + { $as_echo "$as_me:$LINENO: result: struct inode" >&5 +$as_echo "struct inode" >&6; } + + -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_selinux_is_selinux_enabled" >&5 -$as_echo "$ac_cv_lib_selinux_is_selinux_enabled" >&6; } -if test "x$ac_cv_lib_selinux_is_selinux_enabled" = x""yes; then - LIBSELINUX="-lselinux" + rm -Rf build -cat >>confdefs.h <<\_ACEOF -#define HAVE_LIBSELINUX 1 -_ACEOF + EXTRA_KCFLAGS="$tmp_flags" + { $as_echo "$as_me:$LINENO: checking whether kernel defines fmode_t" >&5 +$as_echo_n "checking whether kernel defines fmode_t... " >&6; } -else - if test "x$with_selinux" != xcheck; 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: --with-selinux given but unavailable -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: --with-selinux given but unavailable -See \`config.log' for more details." >&2;} - { (exit 1); exit 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 + #include -fi +int +main (void) +{ + fmode_t *ptr __attribute__ ((unused)); -else + ; + return 0; +} - if test "x$with_selinux" != xcheck; 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: --with-selinux given but unavailable -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: --with-selinux given but unavailable -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } +_ACEOF -fi + 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 + { $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 +sed 's/^/| /' conftest.$ac_ext >&5 - { $as_echo "$as_me:$LINENO: checking for selinux support" >&5 -$as_echo_n "checking for selinux support... " >&6; } { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } + + fi + rm -Rf build - { $as_echo "$as_me:$LINENO: checking for -Wframe-larger-than= support" >&5 -$as_echo_n "checking for -Wframe-larger-than= support... " >&6; } - saved_flags="$CFLAGS" - CFLAGS="$CFLAGS -Wframe-larger-than=1024" - 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 + { $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 /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + + #include + int -main () +main (void) { + int val __attribute__ ((unused)); + val = KOBJ_NAME_LEN; + ; 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 + + + 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); } && { 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 + (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 - FRAME_LARGER_THAN=-Wframe-larger-than=1024 { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } +cat >>confdefs.h <<\_ACEOF +#define HAVE_KOBJ_NAME_LEN 1 +_ACEOF + + else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) - - FRAME_LARGER_THAN= { $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 +fi - CFLAGS="$saved_flags" + rm -Rf build - { $as_echo "$as_me:$LINENO: checking whether pthread stack includes guard" >&5 -$as_echo_n "checking whether pthread stack includes guard... " >&6; } + { $as_echo "$as_me:$LINENO: checking whether blkdev_get() wants 3 args" >&5 +$as_echo_n "checking whether blkdev_get() wants 3 args... " >&6; } - saved_CFLAGS="$CFLAGS" - CFLAGS="-fstack-check" - saved_LDFLAGS="$LDFLAGS" - LDFLAGS="-lpthread" - 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 +cat confdefs.h - <<_ACEOF >conftest.c /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include - #include - #include - #include - - #define PAGESIZE (sysconf(_SC_PAGESIZE)) - #define STACK_SIZE 8192 - #define BUFSIZE 4096 - void * func(void *arg) - { - char buf[BUFSIZE]; - } + #include int -main () +main (void) { - pthread_t tid; - pthread_attr_t attr; - struct rlimit l; - - l.rlim_cur = 0; - l.rlim_max = 0; - setrlimit(RLIMIT_CORE, &l); - pthread_attr_init(&attr); - pthread_attr_setstacksize(&attr, PTHREAD_STACK_MIN + STACK_SIZE); - pthread_attr_setguardsize(&attr, PAGESIZE); - pthread_create(&tid, &attr, func, NULL); - pthread_join(tid, NULL); + struct block_device *bdev = NULL; + (void) blkdev_get(bdev, 0, NULL); ; 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 + + + 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); } && { 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 + (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + +cat >>confdefs.h <<\_ACEOF +#define HAVE_3ARG_BLKDEV_GET 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 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_BLKDEV_GET_BY_PATH 1 +_ACEOF + + +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 + + +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: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) +else + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define NPTL_GUARD_WITHIN_STACK 1 +#define HAVE_OPEN_BDEV_EXCLUSIVE 1 _ACEOF - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&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_CFLAGS" - LDFLAGS="$saved_LDFLAGS" - ;; - all) +else -# Check whether --with-linux was given. -if test "${with_linux+set}" = set; then - withval=$with_linux; kernelsrc="$withval" -fi + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } +cat >>confdefs.h <<\_ACEOF +#define HAVE_OPEN_BDEV_EXCLUSIVE 1 +_ACEOF -# Check whether --with-linux-obj was given. -if test "${with_linux_obj+set}" = set; then - withval=$with_linux_obj; kernelbuild="$withval" 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") + { $as_echo "$as_me:$LINENO: checking whether invalidate_bdev() wants 1 arg" >&5 +$as_echo_n "checking whether invalidate_bdev() wants 1 arg... " >&6; } -elif test -e "/lib/modules/$(uname -r)/build"; then - headersdir="/lib/modules/$(uname -r)/build" - sourcelink=$(readlink -f "$headersdir") +cat confdefs.h - <<_ACEOF >conftest.c +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -else - sourcelink=$(ls -1d /usr/src/kernels/* \ - /usr/src/linux-* \ - 2>/dev/null | grep -v obj | tail -1) + #include -fi +int +main (void) +{ + + struct block_device *bdev = NULL; + invalidate_bdev(bdev); + ; + return 0; +} - if test -n "$sourcelink" && test -e ${sourcelink}; then +_ACEOF - kernelsrc=`readlink -f ${sourcelink}` -else + 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: Not found" >&5 -$as_echo "Not found" >&6; } - { { $as_echo "$as_me:$LINENO: error: - *** Please make sure the kernel devel package for your distribution - *** is installed then try again. If that fails you can specify the - *** location of the kernel source with the '--with-linux=PATH' option." >&5 -$as_echo "$as_me: error: - *** Please make sure the kernel devel package for your distribution - *** 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; }; } + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } -fi +cat >>confdefs.h <<\_ACEOF +#define HAVE_1ARG_INVALIDATE_BDEV 1 +_ACEOF else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - if test "$kernelsrc" = "NONE"; then - - kernsrcver=NONE + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } -fi fi + rm -Rf build - { $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 + { $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; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" - kernelbuild=${kernelsrc}-obj/${target_cpu}/${target_cpu} -elif test -d ${kernelsrc}-obj/${target_cpu}/default; then +cat confdefs.h - <<_ACEOF >conftest.c +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ - kernelbuild=${kernelsrc}-obj/${target_cpu}/default -elif test -d `dirname ${kernelsrc}`/build-${target_cpu}; then + #include - kernelbuild=`dirname ${kernelsrc}`/build-${target_cpu} +int +main (void) +{ -else + struct block_device *bdev = NULL; + bdev_logical_block_size(bdev); - kernelbuild=${kernelsrc} + ; + return 0; +} -fi +_ACEOF -fi + 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: $kernelbuild" >&5 -$as_echo "$kernelbuild" >&6; } + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } - { $as_echo "$as_me:$LINENO: checking kernel source version" >&5 -$as_echo_n "checking kernel source version... " >&6; } - utsrelease1=$kernelbuild/include/linux/version.h - utsrelease2=$kernelbuild/include/linux/utsrelease.h - utsrelease3=$kernelbuild/include/generated/utsrelease.h - if test -r $utsrelease1 && fgrep -q UTS_RELEASE $utsrelease1; then +cat >>confdefs.h <<\_ACEOF +#define HAVE_BDEV_LOGICAL_BLOCK_SIZE 1 +_ACEOF - utsrelease=linux/version.h -elif test -r $utsrelease2 && fgrep -q UTS_RELEASE $utsrelease2; then +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - utsrelease=linux/utsrelease.h + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } -elif test -r $utsrelease3 && fgrep -q UTS_RELEASE $utsrelease3; then - utsrelease=generated/utsrelease.h 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 + rm -Rf build -else + EXTRA_KCFLAGS="$tmp_flags" - { $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 + { $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" - { $as_echo "$as_me:$LINENO: result: $kernsrcver" >&5 -$as_echo "$kernsrcver" >&6; } +cat confdefs.h - <<_ACEOF >conftest.c +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ - LINUX=${kernelsrc} - LINUX_OBJ=${kernelbuild} - LINUX_VERSION=${kernsrcver} + #include +int +main (void) +{ + struct bio bio; + (void)bio_empty_barrier(&bio); + ; + return 0; +} +_ACEOF - modpost=$LINUX/scripts/Makefile.modpost - { $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 + 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 - LINUX_SYMBOLS=Modules.symvers + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } -else +cat >>confdefs.h <<\_ACEOF +#define HAVE_BIO_EMPTY_BARRIER 1 +_ACEOF - LINUX_SYMBOLS=Module.symvers -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; } - 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 - *** kernel is configured, built, and the '--with-linux=PATH' configure - *** option refers to the location of the kernel source." >&5 -$as_echo "$as_me: error: - *** Please make sure the kernel devel package for your distribution - *** is installed. If your building with a custom kernel make sure the - *** 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 + rm -Rf build -else - LINUX_SYMBOLS=NONE -fi - { $as_echo "$as_me:$LINENO: result: $LINUX_SYMBOLS" >&5 -$as_echo "$LINUX_SYMBOLS" >&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; } +cat confdefs.h - <<_ACEOF >conftest.c +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + #include -# Check whether --with-spl was given. -if test "${with_spl+set}" = set; then - withval=$with_spl; splsrc="$withval" -fi +int +main (void) +{ + int flags __attribute__ ((unused)); + flags = (1 << BIO_RW_FAILFAST); + ; + return 0; +} -# Check whether --with-spl-obj was given. -if test "${with_spl_obj+set}" = set; then - withval=$with_spl_obj; splbuild="$withval" -fi +_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: checking spl source directory" >&5 -$as_echo_n "checking spl source directory... " >&6; } - if test -z "$splsrc"; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } - sourcelink=`ls -1d /usr/src/spl-*/${LINUX_VERSION} \ - 2>/dev/null | tail -1` +cat >>confdefs.h <<\_ACEOF +#define HAVE_BIO_RW_FAILFAST 1 +_ACEOF - if test -z "$sourcelink" || test ! -e $sourcelink; then - sourcelink=../spl +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; } - if test -e $sourcelink; then - splsrc=`readlink -f ${sourcelink}` +fi -else + rm -Rf build - { $as_echo "$as_me:$LINENO: result: Not found" >&5 -$as_echo "Not found" >&6; } - { { $as_echo "$as_me:$LINENO: error: - *** Please make sure the spl devel package for your distribution - *** is installed then try again. If that fails you can specify the - *** location of the spl source with the '--with-spl=PATH' option." >&5 -$as_echo "$as_me: error: - *** Please make sure the spl devel package for your distribution - *** 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 + { $as_echo "$as_me:$LINENO: checking whether BIO_RW_FAILFAST_* are defined" >&5 +$as_echo_n "checking whether BIO_RW_FAILFAST_* are defined... " >&6; } - if test "$splsrc" = "NONE"; then - splbuild=NONE - splsrcver=NONE +cat confdefs.h - <<_ACEOF >conftest.c +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -fi + #include -fi +int +main (void) +{ + int flags __attribute__ ((unused)); + flags = ((1 << BIO_RW_FAILFAST_DEV) | + (1 << BIO_RW_FAILFAST_TRANSPORT) | + (1 << BIO_RW_FAILFAST_DRIVER)); - { $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 + ; + return 0; +} - splbuild=${splsrc} +_ACEOF -fi - { $as_echo "$as_me:$LINENO: result: $splbuild" >&5 -$as_echo "$splbuild" >&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 - { $as_echo "$as_me:$LINENO: checking spl source version" >&5 -$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 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } +cat >>confdefs.h <<\_ACEOF +#define HAVE_BIO_RW_FAILFAST_DTD 1 +_ACEOF - splsrcver=`(echo "#include "; - echo "splsrcver=SPL_META_VERSION-SPL_META_RELEASE") | - cpp -I $splbuild | - grep "^splsrcver=" | tr -d \" | cut -d= -f2` -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; } - 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 -$as_echo "$as_me: error: - *** Cannot determine the version of the spl source. - *** Please prepare the spl source before running this script" >&2;} - { (exit 1); exit 1; }; } fi + rm -Rf build - { $as_echo "$as_me:$LINENO: result: $splsrcver" >&5 -$as_echo "$splsrcver" >&6; } - SPL=${splsrc} - SPL_OBJ=${splbuild} - SPL_VERSION=${splsrcver} + { $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 +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ - { $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 + #include - SPL_SYMBOLS=Module.symvers +int +main (void) +{ -elif test -r $SPL_OBJ/Modules.symvers; then + int flags __attribute__ ((unused)); + flags = REQ_FAILFAST_MASK; - SPL_SYMBOLS=Modules.symvers + ; + return 0; +} -elif test -r $SPL_OBJ/module/Module.symvers; then +_ACEOF - SPL_SYMBOLS=Module.symvers -elif test -r $SPL_OBJ/module/Modules.symvers; then + 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_BIO_REQ_FAILFAST_MASK 1 +_ACEOF - SPL_SYMBOLS=Modules.symvers else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - SPL_SYMBOLS=$LINUX_SYMBOLS + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } -fi - { $as_echo "$as_me:$LINENO: result: $SPL_SYMBOLS" >&5 -$as_echo "$SPL_SYMBOLS" >&6; } +fi + rm -Rf build - { $as_echo "$as_me:$LINENO: checking whether Linux was built with CONFIG_PREEMPT" >&5 -$as_echo_n "checking whether Linux was built with CONFIG_PREEMPT... " >&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" cat confdefs.h - <<_ACEOF >conftest.c @@ -18080,15 +20313,16 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include + #include int main (void) { - #ifndef CONFIG_PREEMPT - #error CONFIG_PREEMPT not #defined - #endif + 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; @@ -18113,13 +20347,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 -$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; }; } + +cat >>confdefs.h <<\_ACEOF +#define HAVE_2ARGS_BIO_END_IO_T 1 +_ACEOF + else $as_echo "$as_me: failed program was:" >&5 @@ -18130,18 +20362,16 @@ $as_echo "no" >&6; } - fi rm -Rf build + EXTRA_KCFLAGS="$tmp_flags" - 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 BIO_RW_SYNC is defined" >&5 +$as_echo_n "checking whether BIO_RW_SYNC is defined... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -18152,15 +20382,14 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include + #include int main (void) { - #ifndef CONFIG_DEBUG_LOCK_ALLOC - #error CONFIG_DEBUG_LOCK_ALLOC not #defined - #endif + int flags __attribute__ ((unused)); + flags = BIO_RW_SYNC; ; return 0; @@ -18185,15 +20414,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_BIO_RW_SYNC 1 +_ACEOF + else $as_echo "$as_me: failed program was:" >&5 @@ -18204,7 +20429,6 @@ $as_echo "no" >&6; } - fi rm -Rf build @@ -18212,25 +20436,8 @@ fi -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; } - tmp_flags="$EXTRA_KCFLAGS" - EXTRA_KCFLAGS="-Wno-unused-but-set-variable" + { $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 @@ -18241,29 +20448,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); + int flags __attribute__ ((unused)); + flags = BIO_RW_SYNCIO; ; return 0; @@ -18286,11 +20478,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_BIO_RW_SYNCIO 1 _ACEOF @@ -18298,8 +20490,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; } @@ -18308,10 +20500,10 @@ fi rm -Rf build - EXTRA_KCFLAGS="$tmp_flags" - { $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 REQ_SYNC is defined" >&5 +$as_echo_n "checking whether REQ_SYNC is defined... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -18322,13 +20514,14 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include + #include int main (void) { - fmode_t *ptr __attribute__ ((unused)); + int flags __attribute__ ((unused)); + flags = REQ_SYNC; ; return 0; @@ -18355,7 +20548,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_FMODE_T 1 +#define HAVE_REQ_SYNC 1 _ACEOF @@ -18375,8 +20568,10 @@ 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 blk_end_request() is available" >&5 +$as_echo_n "checking whether blk_end_request() is available... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -18387,14 +20582,14 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include + #include int main (void) { - int val __attribute__ ((unused)); - val = KOBJ_NAME_LEN; + struct request *req = NULL; + (void) blk_end_request(req, 0, 0); ; return 0; @@ -18421,7 +20616,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_KOBJ_NAME_LEN 1 +#define HAVE_BLK_END_REQUEST 1 _ACEOF @@ -18440,115 +20635,80 @@ 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 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; +cat confdefs.h - <<_ACEOF >conftest.c +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -fi - done - if test $export -eq 0; then + #include + #include - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } + MODULE_LICENSE("CDDL"); +int +main (void) +{ -else + struct request *req = NULL; + (void) blk_end_request(req, 0, 0); - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } + ; + return 0; +} -cat >>confdefs.h <<\_ACEOF -#define HAVE_BLKDEV_GET_BY_PATH 1 _ACEOF -fi + 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: 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_BLKDEV_GET_BY_PATH 1 +#define HAVE_BLK_END_REQUEST_GPL_ONLY 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 + rm -Rf build + EXTRA_KCFLAGS="$tmp_flags" - { $as_echo "$as_me:$LINENO: checking whether invalidate_bdev() wants 1 arg" >&5 -$as_echo_n "checking whether invalidate_bdev() wants 1 arg... " >&6; } + { $as_echo "$as_me:$LINENO: checking whether blk_queue_flush() is available" >&5 +$as_echo_n "checking whether blk_queue_flush() is available... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -18559,14 +20719,14 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include + #include int main (void) { - struct block_device *bdev = NULL; - invalidate_bdev(bdev); + struct request_queue *q = NULL; + (void) blk_queue_flush(q, REQ_FLUSH); ; return 0; @@ -18593,7 +20753,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_1ARG_INVALIDATE_BDEV 1 +#define HAVE_BLK_QUEUE_FLUSH 1 _ACEOF @@ -18612,11 +20772,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; } - tmp_flags="$EXTRA_KCFLAGS" - EXTRA_KCFLAGS="-Wno-unused-but-set-variable" + { $as_echo "$as_me:$LINENO: checking whether blk_queue_flush() is GPL-only" >&5 +$as_echo_n "checking whether blk_queue_flush() is GPL-only... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -18627,14 +20784,17 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + #include #include + MODULE_LICENSE("CDDL"); + int main (void) { - struct block_device *bdev = NULL; - bdev_logical_block_size(bdev); + struct request_queue *q = NULL; + (void) blk_queue_flush(q, REQ_FLUSH); ; return 0; @@ -18657,21 +20817,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_BDEV_LOGICAL_BLOCK_SIZE 1 +#define HAVE_BLK_QUEUE_FLUSH_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 @@ -18682,9 +20842,10 @@ fi EXTRA_KCFLAGS="$tmp_flags" - { $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" + { $as_echo "$as_me:$LINENO: checking whether blk_queue_max_hw_sectors() is available" >&5 +$as_echo_n "checking whether blk_queue_max_hw_sectors() is available... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -18695,14 +20856,14 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include + #include int main (void) { - struct bio bio; - (void)bio_empty_barrier(&bio); + struct request_queue *q = NULL; + (void) blk_queue_max_hw_sectors(q, BLK_SAFE_MAX_SECTORS); ; return 0; @@ -18729,7 +20890,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_BIO_EMPTY_BARRIER 1 +#define HAVE_BLK_QUEUE_MAX_HW_SECTORS 1 _ACEOF @@ -18747,10 +20908,13 @@ 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 blk_queue_max_segments() is available" >&5 +$as_echo_n "checking whether blk_queue_max_segments() is available... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -18761,14 +20925,14 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include + #include int main (void) { - int flags __attribute__ ((unused)); - flags = (1 << BIO_RW_FAILFAST); + struct request_queue *q = NULL; + (void) blk_queue_max_segments(q, BLK_MAX_SEGMENTS); ; return 0; @@ -18795,7 +20959,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_BIO_RW_FAILFAST 1 +#define HAVE_BLK_QUEUE_MAX_SEGMENTS 1 _ACEOF @@ -18813,10 +20977,13 @@ fi rm -Rf build + EXTRA_KCFLAGS="$tmp_flags" - { $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 blk_queue_physical_block_size() is available" >&5 +$as_echo_n "checking whether blk_queue_physical_block_size() is available... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -18827,16 +20994,15 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include + #include int main (void) { - int flags __attribute__ ((unused)); - flags = ((1 << BIO_RW_FAILFAST_DEV) | - (1 << BIO_RW_FAILFAST_TRANSPORT) | - (1 << BIO_RW_FAILFAST_DRIVER)); + struct request_queue *q = NULL; + unsigned short block_size = 1; + (void) blk_queue_physical_block_size(q, block_size); ; return 0; @@ -18863,7 +21029,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_BIO_RW_FAILFAST_DTD 1 +#define HAVE_BLK_QUEUE_PHYSICAL_BLOCK_SIZE 1 _ACEOF @@ -18881,10 +21047,13 @@ fi rm -Rf build + EXTRA_KCFLAGS="$tmp_flags" - { $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 blk_queue_io_opt() is available" >&5 +$as_echo_n "checking whether blk_queue_io_opt() is available... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -18895,14 +21064,15 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include + #include int main (void) { - int flags __attribute__ ((unused)); - flags = REQ_FAILFAST_MASK; + struct request_queue *q = NULL; + unsigned int opt = 1; + (void) blk_queue_io_opt(q, opt); ; return 0; @@ -18929,7 +21099,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_BIO_REQ_FAILFAST_MASK 1 +#define HAVE_BLK_QUEUE_IO_OPT 1 _ACEOF @@ -18947,12 +21117,13 @@ fi rm -Rf build + EXTRA_KCFLAGS="$tmp_flags" - { $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; } + { $as_echo "$as_me:$LINENO: checking whether blk_queue_nonrot() is available" >&5 +$as_echo_n "checking whether blk_queue_nonrot() is available... " >&6; } tmp_flags="$EXTRA_KCFLAGS" - EXTRA_KCFLAGS="-Werror" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -18963,16 +21134,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_queue *q = NULL; + (void) blk_queue_nonrot(q); ; return 0; @@ -18999,7 +21168,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_2ARGS_BIO_END_IO_T 1 +#define HAVE_BLK_QUEUE_NONROT 1 _ACEOF @@ -19020,8 +21189,10 @@ fi 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_queue_discard() is available" >&5 +$as_echo_n "checking whether blk_queue_discard() is available... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -19032,14 +21203,14 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include + #include int main (void) { - int flags __attribute__ ((unused)); - flags = BIO_RW_SYNC; + struct request_queue *q = NULL; + (void) blk_queue_discard(q); ; return 0; @@ -19066,7 +21237,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_BIO_RW_SYNC 1 +#define HAVE_BLK_QUEUE_DISCARD 1 _ACEOF @@ -19084,10 +21255,13 @@ fi rm -Rf build + EXTRA_KCFLAGS="$tmp_flags" - { $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; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -19098,14 +21272,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; @@ -19132,7 +21306,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_BIO_RW_SYNCIO 1 +#define HAVE_BLK_FETCH_REQUEST 1 _ACEOF @@ -19150,10 +21324,13 @@ fi rm -Rf build + EXTRA_KCFLAGS="$tmp_flags" - { $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; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -19164,14 +21341,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; @@ -19198,7 +21376,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_REQ_SYNC 1 +#define HAVE_BLK_REQUEUE_REQUEST 1 _ACEOF @@ -19216,10 +21394,11 @@ fi rm -Rf build + EXTRA_KCFLAGS="$tmp_flags" - { $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; } tmp_flags="$EXTRA_KCFLAGS" EXTRA_KCFLAGS="-Wno-unused-but-set-variable" @@ -19239,7 +21418,7 @@ main (void) { struct request *req = NULL; - (void) blk_end_request(req, 0, 0); + (void) blk_rq_bytes(req); ; return 0; @@ -19266,7 +21445,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_BLK_END_REQUEST 1 +#define HAVE_BLK_RQ_BYTES 1 _ACEOF @@ -19285,8 +21464,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 @@ -19307,7 +21486,7 @@ main (void) { struct request *req = NULL; - (void) blk_end_request(req, 0, 0); + (void) blk_rq_bytes(req); ; return 0; @@ -19341,7 +21520,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 @@ -19355,8 +21534,8 @@ fi EXTRA_KCFLAGS="$tmp_flags" - { $as_echo "$as_me:$LINENO: checking whether blk_queue_flush() is available" >&5 -$as_echo_n "checking whether blk_queue_flush() 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; } tmp_flags="$EXTRA_KCFLAGS" EXTRA_KCFLAGS="-Wno-unused-but-set-variable" @@ -19375,8 +21554,8 @@ int main (void) { - struct request_queue *q = NULL; - (void) blk_queue_flush(q, REQ_FLUSH); + struct request *req = NULL; + (void) blk_rq_pos(req); ; return 0; @@ -19403,7 +21582,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_BLK_QUEUE_FLUSH 1 +#define HAVE_BLK_RQ_POS 1 _ACEOF @@ -19421,9 +21600,13 @@ fi rm -Rf build + EXTRA_KCFLAGS="$tmp_flags" - { $as_echo "$as_me:$LINENO: checking whether blk_queue_flush() is GPL-only" >&5 -$as_echo_n "checking whether blk_queue_flush() is GPL-only... " >&6; } + + { $as_echo "$as_me:$LINENO: checking whether blk_rq_sectors() is available" >&5 +$as_echo_n "checking whether blk_rq_sectors() is available... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -19434,17 +21617,14 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include #include - MODULE_LICENSE("CDDL"); - int main (void) { - struct request_queue *q = NULL; - (void) blk_queue_flush(q, REQ_FLUSH); + struct request *req = NULL; + (void) blk_rq_sectors(req); ; return 0; @@ -19467,21 +21647,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_QUEUE_FLUSH_GPL_ONLY 1 +#define HAVE_BLK_RQ_SECTORS 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 @@ -19492,8 +21672,8 @@ fi EXTRA_KCFLAGS="$tmp_flags" - { $as_echo "$as_me:$LINENO: checking whether blk_queue_max_hw_sectors() is available" >&5 -$as_echo_n "checking whether blk_queue_max_hw_sectors() 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; } tmp_flags="$EXTRA_KCFLAGS" EXTRA_KCFLAGS="-Wno-unused-but-set-variable" @@ -19512,8 +21692,8 @@ int main (void) { - struct request_queue *q = NULL; - (void) blk_queue_max_hw_sectors(q, BLK_SAFE_MAX_SECTORS); + struct gendisk *disk = NULL; + (void) get_disk_ro(disk); ; return 0; @@ -19540,7 +21720,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_BLK_QUEUE_MAX_HW_SECTORS 1 +#define HAVE_GET_DISK_RO 1 _ACEOF @@ -19561,77 +21741,61 @@ fi EXTRA_KCFLAGS="$tmp_flags" - { $as_echo "$as_me:$LINENO: checking whether blk_queue_max_segments() is available" >&5 -$as_echo_n "checking whether blk_queue_max_segments() is available... " >&6; } - tmp_flags="$EXTRA_KCFLAGS" - EXTRA_KCFLAGS="-Wno-unused-but-set-variable" - - -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_queue *q = NULL; - (void) blk_queue_max_segments(q, BLK_MAX_SEGMENTS); + { $as_echo "$as_me:$LINENO: checking whether symbol get_gendisk is exported" >&5 +$as_echo_n "checking whether symbol get_gendisk is exported... " >&6; } + grep -q -E '[[:space:]]get_gendisk[[:space:]]' \ + $LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null + rc=$? + if test $rc -ne 0; then - ; - return 0; -} + export=0 + for file in block/genhd.c; do + grep -q -E "EXPORT_SYMBOL.*(get_gendisk)" "$LINUX/$file" 2>/dev/null + rc=$? + if test $rc -eq 0; then -_ACEOF + export=1 + break; +fi - 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 + done + if test $export -eq 0; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $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_BLK_QUEUE_MAX_SEGMENTS 1 +#define HAVE_GET_GENDISK 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_GET_GENDISK 1 +_ACEOF fi - rm -Rf build - - EXTRA_KCFLAGS="$tmp_flags" - { $as_echo "$as_me:$LINENO: checking whether blk_queue_physical_block_size() is available" >&5 -$as_echo_n "checking whether blk_queue_physical_block_size() 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; } tmp_flags="$EXTRA_KCFLAGS" EXTRA_KCFLAGS="-Wno-unused-but-set-variable" @@ -19650,9 +21814,8 @@ int main (void) { - struct request_queue *q = NULL; - unsigned short block_size = 1; - (void) blk_queue_physical_block_size(q, block_size); + struct request *req = NULL; + (void) rq_is_sync(req); ; return 0; @@ -19679,7 +21842,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_BLK_QUEUE_PHYSICAL_BLOCK_SIZE 1 +#define HAVE_RQ_IS_SYNC 1 _ACEOF @@ -19700,8 +21863,8 @@ fi EXTRA_KCFLAGS="$tmp_flags" - { $as_echo "$as_me:$LINENO: checking whether blk_queue_io_opt() is available" >&5 -$as_echo_n "checking whether blk_queue_io_opt() is available... " >&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; } tmp_flags="$EXTRA_KCFLAGS" EXTRA_KCFLAGS="-Wno-unused-but-set-variable" @@ -19720,9 +21883,10 @@ int main (void) { - struct request_queue *q = NULL; - unsigned int opt = 1; - (void) blk_queue_io_opt(q, opt); + struct bio_vec *bv; + struct req_iterator iter; + struct request *req = NULL; + rq_for_each_segment(bv, req, iter) { } ; return 0; @@ -19749,7 +21913,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_BLK_QUEUE_IO_OPT 1 +#define HAVE_RQ_FOR_EACH_SEGMENT 1 _ACEOF @@ -19769,11 +21933,8 @@ fi EXTRA_KCFLAGS="$tmp_flags" - - { $as_echo "$as_me:$LINENO: checking whether blk_queue_nonrot() is available" >&5 -$as_echo_n "checking whether blk_queue_nonrot() is available... " >&6; } - tmp_flags="$EXTRA_KCFLAGS" - EXTRA_KCFLAGS="-Wno-unused-but-set-variable" + { $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 @@ -19784,14 +21945,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_queue *q = NULL; - (void) blk_queue_nonrot(q); + struct super_block sb __attribute__ ((unused)); + + sb.s_xattr = xattr_handlers; ; return 0; @@ -19818,7 +21991,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_BLK_QUEUE_NONROT 1 +#define HAVE_CONST_XATTR_HANDLER 1 _ACEOF @@ -19836,13 +22009,10 @@ fi rm -Rf build - EXTRA_KCFLAGS="$tmp_flags" - { $as_echo "$as_me:$LINENO: checking whether blk_fetch_request() is available" >&5 -$as_echo_n "checking whether blk_fetch_request() is available... " >&6; } - tmp_flags="$EXTRA_KCFLAGS" - EXTRA_KCFLAGS="-Wno-unused-but-set-variable" + { $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 @@ -19853,14 +22023,17 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include + #include int main (void) { - struct request_queue *q = NULL; - (void) blk_fetch_request(q); + 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; @@ -19887,7 +22060,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_BLK_FETCH_REQUEST 1 +#define HAVE_DENTRY_XATTR_GET 1 _ACEOF @@ -19905,13 +22078,10 @@ fi rm -Rf build - EXTRA_KCFLAGS="$tmp_flags" - { $as_echo "$as_me:$LINENO: checking whether blk_requeue_request() is available" >&5 -$as_echo_n "checking whether blk_requeue_request() is available... " >&6; } - tmp_flags="$EXTRA_KCFLAGS" - EXTRA_KCFLAGS="-Wno-unused-but-set-variable" + { $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 @@ -19922,15 +22092,18 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include + #include int main (void) { - struct request_queue *q = NULL; - struct request *req = NULL; - blk_requeue_request(q, req); + 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; @@ -19957,7 +22130,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_BLK_REQUEUE_REQUEST 1 +#define HAVE_DENTRY_XATTR_SET 1 _ACEOF @@ -19975,13 +22148,11 @@ fi rm -Rf build - EXTRA_KCFLAGS="$tmp_flags" - { $as_echo "$as_me:$LINENO: checking whether blk_rq_bytes() is available" >&5 -$as_echo_n "checking whether blk_rq_bytes() is available... " >&6; } - tmp_flags="$EXTRA_KCFLAGS" - EXTRA_KCFLAGS="-Wno-unused-but-set-variable" + { $as_echo "$as_me:$LINENO: checking whether sops->show_options() wants dentry" >&5 +$as_echo_n "checking whether sops->show_options() wants dentry... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.c @@ -19992,14 +22163,17 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include + #include + + int show_options (struct seq_file * x, struct dentry * y) { return 0; }; + static struct super_operations sops __attribute__ ((unused)) = { + .show_options = show_options, + }; int main (void) { - struct request *req = NULL; - (void) blk_rq_bytes(req); ; return 0; @@ -20026,7 +22200,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_BLK_RQ_BYTES 1 +#define HAVE_SHOW_OPTIONS_WITH_DENTRY 1 _ACEOF @@ -20045,8 +22219,10 @@ 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 fops->fsync() wants" >&5 +$as_echo_n "checking whether fops->fsync() wants... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.c @@ -20057,17 +22233,16 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include - #include - - MODULE_LICENSE("CDDL"); + #include int main (void) { - struct request *req = NULL; - (void) blk_rq_bytes(req); + int (*fsync) (struct file *, struct dentry *, int) = NULL; + struct file_operations fops __attribute__ ((unused)); + + fops.fsync = fsync; ; return 0; @@ -20090,20 +22265,18 @@ _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; } + { $as_echo "$as_me:$LINENO: result: dentry" >&5 +$as_echo "dentry" >&6; } + +cat >>confdefs.h <<\_ACEOF +#define HAVE_FSYNC_WITH_DENTRY 1 +_ACEOF + else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } - -cat >>confdefs.h <<\_ACEOF -#define HAVE_BLK_RQ_BYTES_GPL_ONLY 1 -_ACEOF - @@ -20112,13 +22285,8 @@ fi rm -Rf build - EXTRA_KCFLAGS="$tmp_flags" - { $as_echo "$as_me:$LINENO: checking whether blk_rq_pos() is available" >&5 -$as_echo_n "checking whether blk_rq_pos() is available... " >&6; } - tmp_flags="$EXTRA_KCFLAGS" - EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -20129,14 +22297,16 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include + #include int main (void) { - struct request *req = NULL; - (void) blk_rq_pos(req); + int (*fsync) (struct file *, int) = NULL; + struct file_operations fops __attribute__ ((unused)); + + fops.fsync = fsync; ; return 0; @@ -20159,11 +22329,11 @@ _ACEOF $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: result: no dentry" >&5 +$as_echo "no dentry" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_BLK_RQ_POS 1 +#define HAVE_FSYNC_WITHOUT_DENTRY 1 _ACEOF @@ -20171,8 +22341,6 @@ else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } @@ -20181,13 +22349,8 @@ fi rm -Rf build - EXTRA_KCFLAGS="$tmp_flags" - { $as_echo "$as_me:$LINENO: checking whether blk_rq_sectors() is available" >&5 -$as_echo_n "checking whether blk_rq_sectors() is available... " >&6; } - tmp_flags="$EXTRA_KCFLAGS" - EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -20198,14 +22361,16 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include + #include int main (void) { - struct request *req = NULL; - (void) blk_rq_sectors(req); + int (*fsync) (struct file *, loff_t, loff_t, int) = NULL; + struct file_operations fops __attribute__ ((unused)); + + fops.fsync = fsync; ; return 0; @@ -20228,11 +22393,11 @@ _ACEOF $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: result: range" >&5 +$as_echo "range" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_BLK_RQ_SECTORS 1 +#define HAVE_FSYNC_RANGE 1 _ACEOF @@ -20240,8 +22405,6 @@ else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } @@ -20250,13 +22413,8 @@ fi rm -Rf build - EXTRA_KCFLAGS="$tmp_flags" - { $as_echo "$as_me:$LINENO: checking whether get_disk_ro() is available" >&5 -$as_echo_n "checking whether get_disk_ro() is available... " >&6; } - tmp_flags="$EXTRA_KCFLAGS" - EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -20267,14 +22425,16 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include + #include int main (void) { - struct gendisk *disk = NULL; - (void) get_disk_ro(disk); + int (*fsync) (struct file *, struct dentry *, int) = NULL; + file_operations_no_const fops __attribute__ ((unused)); + + fops.fsync = fsync; ; return 0; @@ -20297,11 +22457,11 @@ _ACEOF $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: result: dentry" >&5 +$as_echo "dentry" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_GET_DISK_RO 1 +#define HAVE_FSYNC_WITH_DENTRY 1 _ACEOF @@ -20309,8 +22469,6 @@ else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } @@ -20319,13 +22477,8 @@ fi rm -Rf build - EXTRA_KCFLAGS="$tmp_flags" - { $as_echo "$as_me:$LINENO: checking whether rq_is_sync() is available" >&5 -$as_echo_n "checking whether rq_is_sync() is available... " >&6; } - tmp_flags="$EXTRA_KCFLAGS" - EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -20336,14 +22489,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) = NULL; + file_operations_no_const fops __attribute__ ((unused)); + + fops.fsync = fsync; ; return 0; @@ -20366,11 +22521,11 @@ _ACEOF $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: result: no dentry" >&5 +$as_echo "no dentry" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_RQ_IS_SYNC 1 +#define HAVE_FSYNC_WITHOUT_DENTRY 1 _ACEOF @@ -20378,8 +22533,6 @@ else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } @@ -20388,13 +22541,8 @@ fi rm -Rf build - EXTRA_KCFLAGS="$tmp_flags" - { $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; } - tmp_flags="$EXTRA_KCFLAGS" - EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -20405,16 +22553,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) { } + int (*fsync) (struct file *, loff_t, loff_t, int) = NULL; + file_operations_no_const fops __attribute__ ((unused)); + + fops.fsync = fsync; ; return 0; @@ -20437,11 +22585,11 @@ _ACEOF $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: result: range" >&5 +$as_echo "range" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_RQ_FOR_EACH_SEGMENT 1 +#define HAVE_FSYNC_RANGE 1 _ACEOF @@ -20449,8 +22597,6 @@ else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } @@ -20459,10 +22605,11 @@ fi rm -Rf build - EXTRA_KCFLAGS="$tmp_flags" - { $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 sops->evict_inode() exists" >&5 +$as_echo_n "checking whether sops->evict_inode() exists... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -20474,25 +22621,15 @@ cat >>conftest.$ac_ext <<_ACEOF #include - #include - - const struct xattr_handler xattr_test_handler = { - .prefix = "test", - .get = NULL, - .set = NULL, - }; - - const struct xattr_handler *xattr_handlers[] = { - &xattr_test_handler, + void evict_inode (struct inode * t) { return; } + static struct super_operations sops __attribute__ ((unused)) = { + .evict_inode = evict_inode, }; int main (void) { - struct super_block sb __attribute__ ((unused)); - - sb.s_xattr = xattr_handlers; ; return 0; @@ -20519,7 +22656,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_CONST_XATTR_HANDLER 1 +#define HAVE_EVICT_INODE 1 _ACEOF @@ -20539,8 +22676,8 @@ fi - { $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 sops->nr_cached_objects() exists" >&5 +$as_echo_n "checking whether sops->nr_cached_objects() exists... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -20551,17 +22688,17 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include + #include int main (void) { - 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; + int (*nr_cached_objects)(struct super_block *) + __attribute__ ((unused)) = NULL; + struct super_operations sops __attribute__ ((unused)) = { + .nr_cached_objects = nr_cached_objects, + }; ; return 0; @@ -20588,7 +22725,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_DENTRY_XATTR_GET 1 +#define HAVE_NR_CACHED_OBJECTS 1 _ACEOF @@ -20608,8 +22745,8 @@ fi - { $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 sops->free_cached_objects() exists" >&5 +$as_echo_n "checking whether sops->free_cached_objects() exists... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -20620,18 +22757,17 @@ 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; + void (*free_cached_objects)(struct super_block *, int) + __attribute__ ((unused)) = NULL; + struct super_operations sops __attribute__ ((unused)) = { + .free_cached_objects = free_cached_objects, + }; ; return 0; @@ -20658,7 +22794,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_DENTRY_XATTR_SET 1 +#define HAVE_FREE_CACHED_OBJECTS 1 _ACEOF @@ -20678,9 +22814,9 @@ fi - { $as_echo "$as_me:$LINENO: checking whether sops->show_options() wants dentry" >&5 -$as_echo_n "checking whether sops->show_options() wants dentry... " >&6; } + { $as_echo "$as_me:$LINENO: checking whether fops->fallocate() exists" >&5 +$as_echo_n "checking whether fops->fallocate() exists... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -20697,10 +22833,10 @@ int main (void) { - int (*show_options) (struct seq_file *, struct dentry *) = NULL; - struct super_operations sops __attribute__ ((unused)); - - sops.show_options = show_options; + long (*fallocate) (struct file *, int, loff_t, loff_t) = NULL; + struct file_operations fops __attribute__ ((unused)) = { + .fallocate = fallocate, + }; ; return 0; @@ -20727,7 +22863,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_SHOW_OPTIONS_WITH_DENTRY 1 +#define HAVE_FILE_FALLOCATE 1 _ACEOF @@ -20747,9 +22883,8 @@ fi - { $as_echo "$as_me:$LINENO: checking whether fops->fsync() wants" >&5 -$as_echo_n "checking whether fops->fsync() wants... " >&6; } - + { $as_echo "$as_me:$LINENO: checking whether iops->fallocate() exists" >&5 +$as_echo_n "checking whether iops->fallocate() exists... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -20766,10 +22901,10 @@ int main (void) { - int (*fsync) (struct file *, struct dentry *, int) = NULL; - struct file_operations fops __attribute__ ((unused)); - - fops.fsync = fsync; + long (*fallocate) (struct inode *, int, loff_t, loff_t) = NULL; + struct inode_operations fops __attribute__ ((unused)) = { + .fallocate = fallocate, + }; ; return 0; @@ -20792,11 +22927,11 @@ _ACEOF $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - { $as_echo "$as_me:$LINENO: result: dentry" >&5 -$as_echo "dentry" >&6; } + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_FSYNC_WITH_DENTRY 1 +#define HAVE_INODE_FALLOCATE 1 _ACEOF @@ -20804,6 +22939,8 @@ 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; } @@ -20814,6 +22951,8 @@ fi + { $as_echo "$as_me:$LINENO: checking whether fops->fallocate() exists" >&5 +$as_echo_n "checking whether fops->fallocate() exists... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -20830,10 +22969,10 @@ int main (void) { - int (*fsync) (struct file *, int) = NULL; - struct file_operations fops __attribute__ ((unused)); - - fops.fsync = fsync; + long (*fallocate) (struct file *, int, loff_t, loff_t) = NULL; + struct file_operations_no_const fops __attribute__ ((unused)) = { + .fallocate = fallocate, + }; ; return 0; @@ -20856,11 +22995,11 @@ _ACEOF $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - { $as_echo "$as_me:$LINENO: result: no dentry" >&5 -$as_echo "no dentry" >&6; } + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_FSYNC_WITHOUT_DENTRY 1 +#define HAVE_FILE_FALLOCATE 1 _ACEOF @@ -20868,6 +23007,8 @@ 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; } @@ -20879,6 +23020,9 @@ fi + { $as_echo "$as_me:$LINENO: checking whether iops->truncate_range() exists" >&5 +$as_echo_n "checking whether iops->truncate_range() exists... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.c /* confdefs.h. */ @@ -20889,15 +23033,16 @@ cat >>conftest.$ac_ext <<_ACEOF #include + void truncate_range(struct inode *inode, loff_t start, + loff_t end) { return; } + static struct inode_operations iops __attribute__ ((unused)) = { + .truncate_range = truncate_range, + }; int main (void) { - int (*fsync) (struct file *, loff_t, loff_t, int) = NULL; - struct file_operations fops __attribute__ ((unused)); - - fops.fsync = fsync; ; return 0; @@ -20920,11 +23065,11 @@ _ACEOF $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - { $as_echo "$as_me:$LINENO: result: range" >&5 -$as_echo "range" >&6; } + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_FSYNC_RANGE 1 +#define HAVE_INODE_TRUNCATE_RANGE 1 _ACEOF @@ -20932,6 +23077,8 @@ 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; } @@ -20942,9 +23089,8 @@ fi - - { $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 iops->create()/mkdir()/mknod() take umode_t" >&5 +$as_echo_n "checking whether iops->create()/mkdir()/mknod() take umode_t... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -20961,9 +23107,10 @@ int main (void) { - void (*evict_inode) (struct inode *) = NULL; - struct super_operations sops __attribute__ ((unused)) = { - .evict_inode = evict_inode, + int (*create) (struct inode *, struct dentry *, umode_t, + struct nameidata *) = NULL; + struct inode_operations iops __attribute__ ((unused)) = { + .create = create, }; ; @@ -20991,7 +23138,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_EVICT_INODE 1 +#define HAVE_CREATE_UMODE_T 1 _ACEOF @@ -21011,8 +23158,8 @@ fi - { $as_echo "$as_me:$LINENO: checking whether sops->nr_cached_objects() exists" >&5 -$as_echo_n "checking whether sops->nr_cached_objects() exists... " >&6; } + { $as_echo "$as_me:$LINENO: checking whether dops->d_automount() exists" >&5 +$as_echo_n "checking whether dops->d_automount() exists... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -21023,16 +23170,15 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include + #include int main (void) { - int (*nr_cached_objects)(struct super_block *) - __attribute__ ((unused)) = NULL; - struct super_operations sops __attribute__ ((unused)) = { - .nr_cached_objects = nr_cached_objects, + struct vfsmount *(*d_automount) (struct path *) = NULL; + struct dentry_operations dops __attribute__ ((unused)) = { + .d_automount = d_automount, }; ; @@ -21060,7 +23206,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_NR_CACHED_OBJECTS 1 +#define HAVE_AUTOMOUNT 1 _ACEOF @@ -21080,8 +23226,8 @@ fi - { $as_echo "$as_me:$LINENO: checking whether sops->free_cached_objects() exists" >&5 -$as_echo_n "checking whether sops->free_cached_objects() exists... " >&6; } + { $as_echo "$as_me:$LINENO: checking whether eops->encode_fh() wants inode" >&5 +$as_echo_n "checking whether eops->encode_fh() wants inode... " >&6; } cat confdefs.h - <<_ACEOF >conftest.c @@ -21092,17 +23238,17 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include + #include + int encode_fh(struct inode *inode, __u32 *fh, int *max_len, + struct inode *parent) { return 0; } + static struct export_operations eops __attribute__ ((unused))={ + .encode_fh = encode_fh, + }; int main (void) { - void (*free_cached_objects)(struct super_block *, int) - __attribute__ ((unused)) = NULL; - struct super_operations sops __attribute__ ((unused)) = { - .free_cached_objects = free_cached_objects, - }; ; return 0; @@ -21129,7 +23275,7 @@ _ACEOF $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF -#define HAVE_FREE_CACHED_OBJECTS 1 +#define HAVE_ENCODE_FH_WITH_INODE 1 _ACEOF @@ -21149,6 +23295,59 @@ fi + { $as_echo "$as_me:$LINENO: checking whether symbol clear_inode is exported" >&5 +$as_echo_n "checking whether symbol clear_inode is exported... " >&6; } + grep -q -E '[[:space:]]clear_inode[[: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.*(clear_inode)" "$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_CLEAR_INODE 1 +_ACEOF + + +fi + + +else + + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + +cat >>confdefs.h <<\_ACEOF +#define HAVE_CLEAR_INODE 1 +_ACEOF + + +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:]]' \ @@ -21202,6 +23401,59 @@ fi + { $as_echo "$as_me:$LINENO: checking whether symbol d_make_root is exported" >&5 +$as_echo_n "checking whether symbol d_make_root is exported... " >&6; } + grep -q -E '[[:space:]]d_make_root[[: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_make_root)" "$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_MAKE_ROOT 1 +_ACEOF + + +fi + + +else + + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + +cat >>confdefs.h <<\_ACEOF +#define HAVE_D_MAKE_ROOT 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:]]' \ @@ -23398,8 +25650,7 @@ $as_echo "$as_me: error: Bad value \"$ZFS_CONFIG\" for --with-config, { (exit 1); exit 1; }; } ;; esac - if test "$ZFS_CONFIG" = user || - test "$ZFS_CONFIG" = all; then + if test "$ZFS_CONFIG" = user -o "$ZFS_CONFIG" = all; then CONFIG_USER_TRUE= CONFIG_USER_FALSE='#' else @@ -23407,8 +25658,8 @@ else CONFIG_USER_FALSE= fi - if test "$ZFS_CONFIG" = kernel || - test "$ZFS_CONFIG" = all; then + if test "$ZFS_CONFIG" = kernel -o "$ZFS_CONFIG" = all && + test "x$enable_linux_builtin" != xyes ; then CONFIG_KERNEL_TRUE= CONFIG_KERNEL_FALSE='#' else @@ -23434,6 +25685,12 @@ fi HOSTCFLAGS="${HOSTCFLAGS} -DDEBUG -Werror" DEBUG_CFLAGS="-DDEBUG -Werror" DEBUG_STACKFLAGS="-fstack-check" + DEBUG_ZFS="_with_debug" + +cat >>confdefs.h <<\_ACEOF +#define ZFS_DEBUG 1 +_ACEOF + else @@ -23441,17 +25698,51 @@ else HOSTCFLAGS="${HOSTCFLAGS} -DNDEBUG " DEBUG_CFLAGS="-DNDEBUG" DEBUG_STACKFLAGS="" + DEBUG_ZFS="_without_debug" fi + { $as_echo "$as_me:$LINENO: result: $enable_debug" >&5 $as_echo "$enable_debug" >&6; } -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 PKGBUILD-zfs PKGBUILD-zfs-modules zfs-script-config.sh" + # Check whether --enable-debug-dmu-tx was given. +if test "${enable_debug_dmu_tx+set}" = set; then + enableval=$enable_debug_dmu_tx; +else + enable_debug_dmu_tx=no +fi + + + if test "x$enable_debug_dmu_tx" = xyes; then + + KERNELCPPFLAGS="${KERNELCPPFLAGS} -DDEBUG_DMU_TX" + DEBUG_DMU_TX="_with_debug_dmu_tx" + +cat >>confdefs.h <<\_ACEOF +#define DEBUG_DMU_TX 1 +_ACEOF + + +else + + DEBUG_DMU_TX="_without_debug_dmu_tx" + +fi + + + + { $as_echo "$as_me:$LINENO: checking whether dmu tx validation is enabled" >&5 +$as_echo_n "checking whether dmu tx validation is enabled... " >&6; } + { $as_echo "$as_me:$LINENO: result: $enable_debug_dmu_tx" >&5 +$as_echo "$enable_debug_dmu_tx" >&6; } + + +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/man5/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/vdev_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 PKGBUILD-zfs PKGBUILD-zfs-modules zfs-script-config.sh zfs.release" cat >confcache <<\_ACEOF @@ -24376,6 +26667,7 @@ do "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" ;; + "man/man5/Makefile") CONFIG_FILES="$CONFIG_FILES man/man5/Makefile" ;; "man/man8/Makefile") CONFIG_FILES="$CONFIG_FILES man/man8/Makefile" ;; "lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;; "lib/libspl/Makefile") CONFIG_FILES="$CONFIG_FILES lib/libspl/Makefile" ;; @@ -24409,7 +26701,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" ;; + "cmd/vdev_id/Makefile") CONFIG_FILES="$CONFIG_FILES cmd/vdev_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" ;; @@ -24434,6 +26726,7 @@ do "PKGBUILD-zfs") CONFIG_FILES="$CONFIG_FILES PKGBUILD-zfs" ;; "PKGBUILD-zfs-modules") CONFIG_FILES="$CONFIG_FILES PKGBUILD-zfs-modules" ;; "zfs-script-config.sh") CONFIG_FILES="$CONFIG_FILES zfs-script-config.sh" ;; + "zfs.release") CONFIG_FILES="$CONFIG_FILES zfs.release" ;; *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 $as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}