{ $as_echo "$as_me:$LINENO: checking kernel source directory" >&5
$as_echo_n "checking kernel source directory... " >&6; }
if test -z "$kernelsrc"; then
+
if test -e "/lib/modules/$(uname -r)/source"; then
+
headersdir="/lib/modules/$(uname -r)/source"
sourcelink=$(readlink -f "$headersdir")
- elif test -e "/lib/modules/$(uname -r)/build"; then
+
+elif test -e "/lib/modules/$(uname -r)/build"; then
+
headersdir="/lib/modules/$(uname -r)/build"
sourcelink=$(readlink -f "$headersdir")
- else
+
+else
+
sourcelink=$(ls -1d /usr/src/kernels/* \
- /usr/src/linux-* \
+ /usr/src/linux-* \
2>/dev/null | grep -v obj | tail -1)
- fi
+
+fi
+
if test -n "$sourcelink" && test -e ${sourcelink}; then
+
kernelsrc=`readlink -f ${sourcelink}`
- else
+
+else
+
{ $as_echo "$as_me:$LINENO: result: Not found" >&5
$as_echo "Not found" >&6; }
{ { $as_echo "$as_me:$LINENO: error:
*** is installed then try again. If that fails you can specify the
*** location of the kernel source with the '--with-linux=PATH' option." >&2;}
{ (exit 1); exit 1; }; }
- fi
- else
+
+fi
+
+
+else
+
if test "$kernelsrc" = "NONE"; then
+
kernsrcver=NONE
- fi
- fi
+
+fi
+
+
+fi
+
{ $as_echo "$as_me:$LINENO: result: $kernelsrc" >&5
$as_echo "$kernelsrc" >&6; }
{ $as_echo "$as_me:$LINENO: checking kernel build directory" >&5
$as_echo_n "checking kernel build directory... " >&6; }
if test -z "$kernelbuild"; then
+
if test -e "/lib/modules/$(uname -r)/build"; then
+
kernelbuild=`readlink -f /lib/modules/$(uname -r)/build`
- elif test -d ${kernelsrc}-obj/${target_cpu}/${target_cpu}; then
+
+elif test -d ${kernelsrc}-obj/${target_cpu}/${target_cpu}; then
+
kernelbuild=${kernelsrc}-obj/${target_cpu}/${target_cpu}
- elif test -d ${kernelsrc}-obj/${target_cpu}/default; then
+
+elif test -d ${kernelsrc}-obj/${target_cpu}/default; then
+
kernelbuild=${kernelsrc}-obj/${target_cpu}/default
- elif test -d `dirname ${kernelsrc}`/build-${target_cpu}; then
+
+elif test -d `dirname ${kernelsrc}`/build-${target_cpu}; then
+
kernelbuild=`dirname ${kernelsrc}`/build-${target_cpu}
- else
+
+else
+
kernelbuild=${kernelsrc}
- fi
- fi
+
+fi
+
+
+fi
+
{ $as_echo "$as_me:$LINENO: result: $kernelbuild" >&5
$as_echo "$kernelbuild" >&6; }
utsrelease2=$kernelbuild/include/linux/utsrelease.h
utsrelease3=$kernelbuild/include/generated/utsrelease.h
if test -r $utsrelease1 && fgrep -q UTS_RELEASE $utsrelease1; then
+
utsrelease=linux/version.h
- elif test -r $utsrelease2 && fgrep -q UTS_RELEASE $utsrelease2; then
+
+elif test -r $utsrelease2 && fgrep -q UTS_RELEASE $utsrelease2; then
+
utsrelease=linux/utsrelease.h
- elif test -r $utsrelease3 && fgrep -q UTS_RELEASE $utsrelease3; then
+
+elif test -r $utsrelease3 && fgrep -q UTS_RELEASE $utsrelease3; then
+
utsrelease=generated/utsrelease.h
- fi
+
+fi
+
if test "$utsrelease"; then
+
kernsrcver=`(echo "#include <$utsrelease>";
echo "kernsrcver=UTS_RELEASE") |
cpp -I $kernelbuild/include |
grep "^kernsrcver=" | cut -d \" -f 2`
if test -z "$kernsrcver"; then
+
{ $as_echo "$as_me:$LINENO: result: Not found" >&5
$as_echo "Not found" >&6; }
{ { $as_echo "$as_me:$LINENO: error: *** Cannot determine kernel version." >&5
$as_echo "$as_me: error: *** Cannot determine kernel version." >&2;}
{ (exit 1); exit 1; }; }
- fi
- else
+
+fi
+
+
+else
+
{ $as_echo "$as_me:$LINENO: result: Not found" >&5
$as_echo "Not found" >&6; }
{ { $as_echo "$as_me:$LINENO: error: *** Cannot find UTS_RELEASE definition." >&5
$as_echo "$as_me: error: *** Cannot find UTS_RELEASE definition." >&2;}
{ (exit 1); exit 1; }; }
- fi
+
+fi
+
{ $as_echo "$as_me:$LINENO: result: $kernsrcver" >&5
$as_echo "$kernsrcver" >&6; }
{ $as_echo "$as_me:$LINENO: checking kernel file name for module symbols" >&5
$as_echo_n "checking kernel file name for module symbols... " >&6; }
if test -f "$modpost"; then
+
if grep -q Modules.symvers $modpost; then
+
LINUX_SYMBOLS=Modules.symvers
- else
+
+else
+
LINUX_SYMBOLS=Module.symvers
- fi
- if ! test -f "$LINUX_OBJ/$LINUX_SYMBOLS"; then
+fi
+
+
+ if test ! -f "$LINUX_OBJ/$LINUX_SYMBOLS"; then
+
{ { $as_echo "$as_me:$LINENO: error:
*** Please make sure the kernel devel package for your distribution
*** is installed. If your building with a custom kernel make sure the
*** kernel is configured, built, and the '--with-linux=PATH' configure
*** option refers to the location of the kernel source." >&2;}
{ (exit 1); exit 1; }; }
- fi
- else
+
+fi
+
+
+else
+
LINUX_SYMBOLS=NONE
- fi
+
+fi
+
{ $as_echo "$as_me:$LINENO: result: $LINUX_SYMBOLS" >&5
$as_echo "$LINUX_SYMBOLS" >&6; }
{ $as_echo "$as_me:$LINENO: checking spl source directory" >&5
$as_echo_n "checking spl source directory... " >&6; }
if test -z "$splsrc"; then
+
sourcelink=`ls -1d /usr/src/spl-*/${LINUX_VERSION} \
2>/dev/null | tail -1`
if test -z "$sourcelink" || test ! -e $sourcelink; then
+
sourcelink=../spl
- fi
+
+fi
+
if test -e $sourcelink; then
+
splsrc=`readlink -f ${sourcelink}`
- else
+
+else
+
{ $as_echo "$as_me:$LINENO: result: Not found" >&5
$as_echo "Not found" >&6; }
{ { $as_echo "$as_me:$LINENO: error:
*** is installed then try again. If that fails you can specify the
*** location of the spl source with the '--with-spl=PATH' option." >&2;}
{ (exit 1); exit 1; }; }
- fi
- else
+
+fi
+
+
+else
+
if test "$splsrc" = "NONE"; then
+
splbuild=NONE
splsrcver=NONE
- fi
- fi
+
+fi
+
+
+fi
+
{ $as_echo "$as_me:$LINENO: result: $splsrc" >&5
$as_echo "$splsrc" >&6; }
{ $as_echo "$as_me:$LINENO: checking spl build directory" >&5
$as_echo_n "checking spl build directory... " >&6; }
if test -z "$splbuild"; then
+
splbuild=${splsrc}
- fi
+
+fi
+
{ $as_echo "$as_me:$LINENO: result: $splbuild" >&5
$as_echo "$splbuild" >&6; }
if test -r $splbuild/spl_config.h &&
fgrep -q SPL_META_VERSION $splbuild/spl_config.h; then
+
splsrcver=`(echo "#include <spl_config.h>";
echo "splsrcver=SPL_META_VERSION") |
cpp -I $splbuild |
grep "^splsrcver=" | cut -d \" -f 2`
- fi
+
+fi
+
if test -z "$splsrcver"; then
+
{ $as_echo "$as_me:$LINENO: result: Not found" >&5
$as_echo "Not found" >&6; }
{ { $as_echo "$as_me:$LINENO: error:
- *** Cannot determine the version of the spl source.
- *** Please prepare the spl source before running this script" >&5
+ *** Cannot determine the version of the spl source.
+ *** Please prepare the spl source before running this script" >&5
$as_echo "$as_me: error:
- *** Cannot determine the version of the spl source.
- *** Please prepare the spl source before running this script" >&2;}
+ *** Cannot determine the version of the spl source.
+ *** Please prepare the spl source before running this script" >&2;}
{ (exit 1); exit 1; }; }
- fi
+
+fi
+
{ $as_echo "$as_me:$LINENO: result: $splsrcver" >&5
$as_echo "$splsrcver" >&6; }
{ $as_echo "$as_me:$LINENO: checking spl file name for module symbols" >&5
$as_echo_n "checking spl file name for module symbols... " >&6; }
if test -r $SPL_OBJ/Module.symvers; then
+
SPL_SYMBOLS=Module.symvers
- elif test -r $SPL_OBJ/Modules.symvers; then
+
+elif test -r $SPL_OBJ/Modules.symvers; then
+
SPL_SYMBOLS=Modules.symvers
- elif test -r $SPL_OBJ/module/Module.symvers; then
+
+elif test -r $SPL_OBJ/module/Module.symvers; then
+
SPL_SYMBOLS=Module.symvers
- elif test -r $SPL_OBJ/module/Modules.symvers; then
+
+elif test -r $SPL_OBJ/module/Modules.symvers; then
+
SPL_SYMBOLS=Modules.symvers
- else
+
+else
+
SPL_SYMBOLS=$LINUX_SYMBOLS
- fi
+
+fi
+
{ $as_echo "$as_me:$LINENO: result: $SPL_SYMBOLS" >&5
$as_echo "$SPL_SYMBOLS" >&6; }
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
{ { $as_echo "$as_me:$LINENO: error:
- *** Kernel built with CONFIG_PREEMPT which is not supported.
- ** You must rebuild your kernel without this option." >&5
+ *** Kernel built with CONFIG_PREEMPT which is not supported.
+ *** You must rebuild your kernel without this option." >&5
$as_echo "$as_me: error:
- *** Kernel built with CONFIG_PREEMPT which is not supported.
- ** You must rebuild your kernel without this option." >&2;}
+ *** Kernel built with CONFIG_PREEMPT which is not supported.
+ *** You must rebuild your kernel without this option." >&2;}
{ (exit 1); exit 1; }; }
else
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: result: yes" >&5
$as_echo "yes" >&6; }
{ { $as_echo "$as_me:$LINENO: error:
- *** Kernel built with CONFIG_DEBUG_LOCK_ALLOC which is
- *** incompatible with the CDDL license. You must rebuild
- *** your kernel without this option." >&5
+ *** Kernel built with CONFIG_DEBUG_LOCK_ALLOC which is
+ *** incompatible with the CDDL license. You must rebuild
+ *** your kernel without this option." >&5
$as_echo "$as_me: error:
- *** Kernel built with CONFIG_DEBUG_LOCK_ALLOC which is
- *** incompatible with the CDDL license. You must rebuild
- *** your kernel without this option." >&2;}
+ *** Kernel built with CONFIG_DEBUG_LOCK_ALLOC which is
+ *** incompatible with the CDDL license. You must rebuild
+ *** your kernel without this option." >&2;}
{ (exit 1); exit 1; }; }
else
- fi
+
+fi
+
if test "$ZFS_META_LICENSE" = GPL; then
+
cat >>confdefs.h <<\_ACEOF
#define HAVE_GPL_ONLY_SYMBOLS 1
_ACEOF
- fi
+
+fi
+
{ $as_echo "$as_me:$LINENO: checking block device operation prototypes" >&5
$LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null
rc=$?
if test $rc -ne 0; then
+
export=0
for file in fs/block_dev.c; do
grep -q -E "EXPORT_SYMBOL.*(blkdev_get_by_path)" "$LINUX/$file" 2>/dev/null
rc=$?
- if test $rc -eq 0; then
- export=1
- break;
- fi
+ if test $rc -eq 0; then
+
+ export=1
+ break;
+
+fi
+
done
if test $export -eq 0; then
+
{ $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
- else
+
+else
+
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
#define HAVE_BLKDEV_GET_BY_PATH 1
_ACEOF
- fi
- else
+
+fi
+
+
+else
+
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
#define HAVE_BLKDEV_GET_BY_PATH 1
_ACEOF
- fi
+
+fi
+
$LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null
rc=$?
if test $rc -ne 0; then
+
export=0
for file in fs/block_dev.c; do
grep -q -E "EXPORT_SYMBOL.*(open_bdev_exclusive)" "$LINUX/$file" 2>/dev/null
rc=$?
- if test $rc -eq 0; then
- export=1
- break;
- fi
+ if test $rc -eq 0; then
+
+ export=1
+ break;
+
+fi
+
done
if test $export -eq 0; then
+
{ $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
- else
+
+else
+
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
#define HAVE_OPEN_BDEV_EXCLUSIVE 1
_ACEOF
- fi
- else
+
+fi
+
+
+else
+
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
#define HAVE_OPEN_BDEV_EXCLUSIVE 1
_ACEOF
- fi
+
+fi
+
- { $as_echo "$as_me:$LINENO: checking whether fops->fsync() wants 2 args" >&5
-$as_echo_n "checking whether fops->fsync() wants 2 args... " >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether fops->fsync() wants" >&5
+$as_echo_n "checking whether fops->fsync() wants... " >&6; }
+
cat confdefs.h - <<_ACEOF >conftest.c
main (void)
{
- int (*fsync) (struct file *, int datasync) = NULL;
+ int (*fsync) (struct file *, struct dentry *, int) = NULL;
struct file_operations fops __attribute__ ((unused));
fops.fsync = fsync;
$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_2ARGS_FSYNC 1
+#define HAVE_FSYNC_WITH_DENTRY 1
_ACEOF
$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 sops->evict_inode() exists" >&5
-$as_echo_n "checking whether sops->evict_inode() exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
main (void)
{
- void (*evict_inode) (struct inode *) = NULL;
- struct super_operations sops __attribute__ ((unused));
+ int (*fsync) (struct file *, int) = NULL;
+ struct file_operations fops __attribute__ ((unused));
- sops.evict_inode = evict_inode;
+ fops.fsync = fsync;
;
return 0;
$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_EVICT_INODE 1
+#define HAVE_FSYNC_WITHOUT_DENTRY 1
_ACEOF
$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 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; }
- else
- { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_INSERT_INODE_LOCKED 1
+cat confdefs.h - <<_ACEOF >conftest.c
+/* confdefs.h. */
_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
- fi
- else
- { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-cat >>confdefs.h <<\_ACEOF
+ #include <linux/fs.h>
+
+int
+main (void)
+{
+
+ int (*fsync) (struct file *, loff_t, loff_t, int) = NULL;
+ struct file_operations fops __attribute__ ((unused));
+
+ fops.fsync = fsync;
+
+ ;
+ 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: range" >&5
+$as_echo "range" >&6; }
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_FSYNC_RANGE 1
+_ACEOF
+
+
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+
+
+fi
+
+ rm -Rf build
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking whether sops->evict_inode() exists" >&5
+$as_echo_n "checking whether sops->evict_inode() exists... " >&6; }
+
+
+cat confdefs.h - <<_ACEOF >conftest.c
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+
+ #include <linux/fs.h>
+
+int
+main (void)
+{
+
+ void (*evict_inode) (struct inode *) = NULL;
+ struct super_operations sops __attribute__ ((unused)) = {
+ .evict_inode = evict_inode,
+ };
+
+ ;
+ 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_EVICT_INODE 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 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; }
+
+
+else
+
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+
+cat >>confdefs.h <<\_ACEOF
#define HAVE_INSERT_INODE_LOCKED 1
_ACEOF
- fi
+
+fi
+
+
+else
+
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_INSERT_INODE_LOCKED 1
+_ACEOF
+
+
+fi
+
$LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null
rc=$?
if test $rc -ne 0; then
+
export=0
for file in fs/dcache.c; do
grep -q -E "EXPORT_SYMBOL.*(d_obtain_alias)" "$LINUX/$file" 2>/dev/null
rc=$?
- if test $rc -eq 0; then
- export=1
- break;
- fi
+ if test $rc -eq 0; then
+
+ export=1
+ break;
+
+fi
+
done
if test $export -eq 0; then
+
{ $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
- else
+
+else
+
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
#define HAVE_D_OBTAIN_ALIAS 1
_ACEOF
- fi
- else
+
+fi
+
+
+else
+
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
#define HAVE_D_OBTAIN_ALIAS 1
_ACEOF
- fi
+
+fi
+
$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
+ if test $rc -eq 0; then
+
+ export=1
+ break;
+
+fi
+
done
if test $export -eq 0; then
+
{ $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
- else
+
+else
+
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
#define HAVE_CHECK_DISK_SIZE_CHANGE 1
_ACEOF
- fi
- else
+
+fi
+
+
+else
+
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
#define HAVE_CHECK_DISK_SIZE_CHANGE 1
_ACEOF
- fi
+
+fi
+
$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
+ if test $rc -eq 0; then
+
+ export=1
+ break;
+
+fi
+
done
if test $export -eq 0; then
+
{ $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
- else
+
+else
+
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
#define HAVE_TRUNCATE_SETSIZE 1
_ACEOF
- fi
- else
+
+fi
+
+
+else
+
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
#define HAVE_TRUNCATE_SETSIZE 1
_ACEOF
- fi
+
+fi
+
$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
+ if test $rc -eq 0; then
+
+ export=1
+ break;
+
+fi
+
done
if test $export -eq 0; then
+
{ $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
- else
+
+else
+
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
#define HAVE_MOUNT_NODEV 1
_ACEOF
- fi
- else
+
+fi
+
+
+else
+
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
#define HAVE_MOUNT_NODEV 1
_ACEOF
- fi
+
+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
+
+ export=1
+ break;
+
+fi
+
+ done
+ if test $export -eq 0; then
+
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+
+
+else
+
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_BDI_SETUP_AND_REGISTER 1
+_ACEOF
+
+
+fi
+
+
+else
+
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_BDI_SETUP_AND_REGISTER 1
+_ACEOF
+
+
+fi
+
+
+
+
if test "$LINUX_OBJ" != "$LINUX"; then
+
KERNELMAKE_PARAMS="$KERNELMAKE_PARAMS O=$LINUX_OBJ"
- fi
+
+fi
+
{ $as_echo "$as_me:$LINENO: checking kernel source directory" >&5
$as_echo_n "checking kernel source directory... " >&6; }
if test -z "$kernelsrc"; then
+
if test -e "/lib/modules/$(uname -r)/source"; then
+
headersdir="/lib/modules/$(uname -r)/source"
sourcelink=$(readlink -f "$headersdir")
- elif test -e "/lib/modules/$(uname -r)/build"; then
+
+elif test -e "/lib/modules/$(uname -r)/build"; then
+
headersdir="/lib/modules/$(uname -r)/build"
sourcelink=$(readlink -f "$headersdir")
- else
+
+else
+
sourcelink=$(ls -1d /usr/src/kernels/* \
- /usr/src/linux-* \
+ /usr/src/linux-* \
2>/dev/null | grep -v obj | tail -1)
- fi
+
+fi
+
if test -n "$sourcelink" && test -e ${sourcelink}; then
+
kernelsrc=`readlink -f ${sourcelink}`
- else
+
+else
+
{ $as_echo "$as_me:$LINENO: result: Not found" >&5
$as_echo "Not found" >&6; }
{ { $as_echo "$as_me:$LINENO: error:
*** is installed then try again. If that fails you can specify the
*** location of the kernel source with the '--with-linux=PATH' option." >&2;}
{ (exit 1); exit 1; }; }
- fi
- else
+
+fi
+
+
+else
+
if test "$kernelsrc" = "NONE"; then
+
kernsrcver=NONE
- fi
- fi
+
+fi
+
+
+fi
+
{ $as_echo "$as_me:$LINENO: result: $kernelsrc" >&5
$as_echo "$kernelsrc" >&6; }
{ $as_echo "$as_me:$LINENO: checking kernel build directory" >&5
$as_echo_n "checking kernel build directory... " >&6; }
if test -z "$kernelbuild"; then
+
if test -e "/lib/modules/$(uname -r)/build"; then
+
kernelbuild=`readlink -f /lib/modules/$(uname -r)/build`
- elif test -d ${kernelsrc}-obj/${target_cpu}/${target_cpu}; then
+
+elif test -d ${kernelsrc}-obj/${target_cpu}/${target_cpu}; then
+
kernelbuild=${kernelsrc}-obj/${target_cpu}/${target_cpu}
- elif test -d ${kernelsrc}-obj/${target_cpu}/default; then
+
+elif test -d ${kernelsrc}-obj/${target_cpu}/default; then
+
kernelbuild=${kernelsrc}-obj/${target_cpu}/default
- elif test -d `dirname ${kernelsrc}`/build-${target_cpu}; then
+
+elif test -d `dirname ${kernelsrc}`/build-${target_cpu}; then
+
kernelbuild=`dirname ${kernelsrc}`/build-${target_cpu}
- else
+
+else
+
kernelbuild=${kernelsrc}
- fi
- fi
+
+fi
+
+
+fi
+
{ $as_echo "$as_me:$LINENO: result: $kernelbuild" >&5
$as_echo "$kernelbuild" >&6; }
utsrelease2=$kernelbuild/include/linux/utsrelease.h
utsrelease3=$kernelbuild/include/generated/utsrelease.h
if test -r $utsrelease1 && fgrep -q UTS_RELEASE $utsrelease1; then
+
utsrelease=linux/version.h
- elif test -r $utsrelease2 && fgrep -q UTS_RELEASE $utsrelease2; then
+
+elif test -r $utsrelease2 && fgrep -q UTS_RELEASE $utsrelease2; then
+
utsrelease=linux/utsrelease.h
- elif test -r $utsrelease3 && fgrep -q UTS_RELEASE $utsrelease3; then
+
+elif test -r $utsrelease3 && fgrep -q UTS_RELEASE $utsrelease3; then
+
utsrelease=generated/utsrelease.h
- fi
+
+fi
+
if test "$utsrelease"; then
+
kernsrcver=`(echo "#include <$utsrelease>";
echo "kernsrcver=UTS_RELEASE") |
cpp -I $kernelbuild/include |
grep "^kernsrcver=" | cut -d \" -f 2`
if test -z "$kernsrcver"; then
+
{ $as_echo "$as_me:$LINENO: result: Not found" >&5
$as_echo "Not found" >&6; }
{ { $as_echo "$as_me:$LINENO: error: *** Cannot determine kernel version." >&5
$as_echo "$as_me: error: *** Cannot determine kernel version." >&2;}
{ (exit 1); exit 1; }; }
- fi
- else
+
+fi
+
+
+else
+
{ $as_echo "$as_me:$LINENO: result: Not found" >&5
$as_echo "Not found" >&6; }
{ { $as_echo "$as_me:$LINENO: error: *** Cannot find UTS_RELEASE definition." >&5
$as_echo "$as_me: error: *** Cannot find UTS_RELEASE definition." >&2;}
{ (exit 1); exit 1; }; }
- fi
+
+fi
+
{ $as_echo "$as_me:$LINENO: result: $kernsrcver" >&5
$as_echo "$kernsrcver" >&6; }
{ $as_echo "$as_me:$LINENO: checking kernel file name for module symbols" >&5
$as_echo_n "checking kernel file name for module symbols... " >&6; }
if test -f "$modpost"; then
+
if grep -q Modules.symvers $modpost; then
+
LINUX_SYMBOLS=Modules.symvers
- else
+
+else
+
LINUX_SYMBOLS=Module.symvers
- fi
- if ! test -f "$LINUX_OBJ/$LINUX_SYMBOLS"; then
+fi
+
+
+ if test ! -f "$LINUX_OBJ/$LINUX_SYMBOLS"; then
+
{ { $as_echo "$as_me:$LINENO: error:
*** Please make sure the kernel devel package for your distribution
*** is installed. If your building with a custom kernel make sure the
*** kernel is configured, built, and the '--with-linux=PATH' configure
*** option refers to the location of the kernel source." >&2;}
{ (exit 1); exit 1; }; }
- fi
- else
+
+fi
+
+
+else
+
LINUX_SYMBOLS=NONE
- fi
+
+fi
+
{ $as_echo "$as_me:$LINENO: result: $LINUX_SYMBOLS" >&5
$as_echo "$LINUX_SYMBOLS" >&6; }
{ $as_echo "$as_me:$LINENO: checking spl source directory" >&5
$as_echo_n "checking spl source directory... " >&6; }
if test -z "$splsrc"; then
+
sourcelink=`ls -1d /usr/src/spl-*/${LINUX_VERSION} \
2>/dev/null | tail -1`
if test -z "$sourcelink" || test ! -e $sourcelink; then
+
sourcelink=../spl
- fi
+
+fi
+
if test -e $sourcelink; then
+
splsrc=`readlink -f ${sourcelink}`
- else
+
+else
+
{ $as_echo "$as_me:$LINENO: result: Not found" >&5
$as_echo "Not found" >&6; }
{ { $as_echo "$as_me:$LINENO: error:
*** is installed then try again. If that fails you can specify the
*** location of the spl source with the '--with-spl=PATH' option." >&2;}
{ (exit 1); exit 1; }; }
- fi
- else
+
+fi
+
+
+else
+
if test "$splsrc" = "NONE"; then
+
splbuild=NONE
splsrcver=NONE
- fi
- fi
+
+fi
+
+
+fi
+
{ $as_echo "$as_me:$LINENO: result: $splsrc" >&5
$as_echo "$splsrc" >&6; }
{ $as_echo "$as_me:$LINENO: checking spl build directory" >&5
$as_echo_n "checking spl build directory... " >&6; }
if test -z "$splbuild"; then
+
splbuild=${splsrc}
- fi
+
+fi
+
{ $as_echo "$as_me:$LINENO: result: $splbuild" >&5
$as_echo "$splbuild" >&6; }
if test -r $splbuild/spl_config.h &&
fgrep -q SPL_META_VERSION $splbuild/spl_config.h; then
+
splsrcver=`(echo "#include <spl_config.h>";
echo "splsrcver=SPL_META_VERSION") |
cpp -I $splbuild |
grep "^splsrcver=" | cut -d \" -f 2`
- fi
+
+fi
+
if test -z "$splsrcver"; then
+
{ $as_echo "$as_me:$LINENO: result: Not found" >&5
$as_echo "Not found" >&6; }
{ { $as_echo "$as_me:$LINENO: error:
- *** Cannot determine the version of the spl source.
- *** Please prepare the spl source before running this script" >&5
+ *** Cannot determine the version of the spl source.
+ *** Please prepare the spl source before running this script" >&5
$as_echo "$as_me: error:
- *** Cannot determine the version of the spl source.
- *** Please prepare the spl source before running this script" >&2;}
+ *** Cannot determine the version of the spl source.
+ *** Please prepare the spl source before running this script" >&2;}
{ (exit 1); exit 1; }; }
- fi
+
+fi
+
{ $as_echo "$as_me:$LINENO: result: $splsrcver" >&5
$as_echo "$splsrcver" >&6; }
{ $as_echo "$as_me:$LINENO: checking spl file name for module symbols" >&5
$as_echo_n "checking spl file name for module symbols... " >&6; }
if test -r $SPL_OBJ/Module.symvers; then
+
SPL_SYMBOLS=Module.symvers
- elif test -r $SPL_OBJ/Modules.symvers; then
+
+elif test -r $SPL_OBJ/Modules.symvers; then
+
SPL_SYMBOLS=Modules.symvers
- elif test -r $SPL_OBJ/module/Module.symvers; then
+
+elif test -r $SPL_OBJ/module/Module.symvers; then
+
SPL_SYMBOLS=Module.symvers
- elif test -r $SPL_OBJ/module/Modules.symvers; then
+
+elif test -r $SPL_OBJ/module/Modules.symvers; then
+
SPL_SYMBOLS=Modules.symvers
- else
+
+else
+
SPL_SYMBOLS=$LINUX_SYMBOLS
- fi
+
+fi
+
{ $as_echo "$as_me:$LINENO: result: $SPL_SYMBOLS" >&5
$as_echo "$SPL_SYMBOLS" >&6; }
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
{ { $as_echo "$as_me:$LINENO: error:
- *** Kernel built with CONFIG_PREEMPT which is not supported.
- ** You must rebuild your kernel without this option." >&5
+ *** Kernel built with CONFIG_PREEMPT which is not supported.
+ *** You must rebuild your kernel without this option." >&5
$as_echo "$as_me: error:
- *** Kernel built with CONFIG_PREEMPT which is not supported.
- ** You must rebuild your kernel without this option." >&2;}
+ *** Kernel built with CONFIG_PREEMPT which is not supported.
+ *** You must rebuild your kernel without this option." >&2;}
{ (exit 1); exit 1; }; }
else
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: result: yes" >&5
$as_echo "yes" >&6; }
{ { $as_echo "$as_me:$LINENO: error:
- *** Kernel built with CONFIG_DEBUG_LOCK_ALLOC which is
- *** incompatible with the CDDL license. You must rebuild
- *** your kernel without this option." >&5
+ *** Kernel built with CONFIG_DEBUG_LOCK_ALLOC which is
+ *** incompatible with the CDDL license. You must rebuild
+ *** your kernel without this option." >&5
$as_echo "$as_me: error:
- *** Kernel built with CONFIG_DEBUG_LOCK_ALLOC which is
- *** incompatible with the CDDL license. You must rebuild
- *** your kernel without this option." >&2;}
+ *** Kernel built with CONFIG_DEBUG_LOCK_ALLOC which is
+ *** incompatible with the CDDL license. You must rebuild
+ *** your kernel without this option." >&2;}
{ (exit 1); exit 1; }; }
else
- fi
+
+fi
+
if test "$ZFS_META_LICENSE" = GPL; then
+
cat >>confdefs.h <<\_ACEOF
#define HAVE_GPL_ONLY_SYMBOLS 1
_ACEOF
- fi
+
+fi
+
{ $as_echo "$as_me:$LINENO: checking block device operation prototypes" >&5
$LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null
rc=$?
if test $rc -ne 0; then
+
export=0
for file in fs/block_dev.c; do
grep -q -E "EXPORT_SYMBOL.*(blkdev_get_by_path)" "$LINUX/$file" 2>/dev/null
rc=$?
- if test $rc -eq 0; then
- export=1
- break;
- fi
+ if test $rc -eq 0; then
+
+ export=1
+ break;
+
+fi
+
done
if test $export -eq 0; then
+
{ $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
- else
+
+else
+
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
#define HAVE_BLKDEV_GET_BY_PATH 1
_ACEOF
- fi
- else
+
+fi
+
+
+else
+
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
#define HAVE_BLKDEV_GET_BY_PATH 1
_ACEOF
- fi
+
+fi
+
$LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null
rc=$?
if test $rc -ne 0; then
+
export=0
for file in fs/block_dev.c; do
grep -q -E "EXPORT_SYMBOL.*(open_bdev_exclusive)" "$LINUX/$file" 2>/dev/null
rc=$?
- if test $rc -eq 0; then
- export=1
- break;
- fi
+ if test $rc -eq 0; then
+
+ export=1
+ break;
+
+fi
+
done
if test $export -eq 0; then
+
{ $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
- else
+
+else
+
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
#define HAVE_OPEN_BDEV_EXCLUSIVE 1
_ACEOF
- fi
- else
+
+fi
+
+
+else
+
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
#define HAVE_OPEN_BDEV_EXCLUSIVE 1
_ACEOF
- fi
+
+fi
+
/* end confdefs.h. */
- #include <linux/blkdev.h>
+ #include <linux/blkdev.h>
+
+int
+main (void)
+{
+
+ struct request *req = NULL;
+ (void) rq_is_sync(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_RQ_IS_SYNC 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 rq_for_each_segment() is available" >&5
+$as_echo_n "checking whether rq_for_each_segment() is available... " >&6; }
+
+
+cat confdefs.h - <<_ACEOF >conftest.c
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+
+ #include <linux/blkdev.h>
+
+int
+main (void)
+{
+
+ struct bio_vec *bv;
+ struct req_iterator iter;
+ struct request *req = NULL;
+ rq_for_each_segment(bv, req, iter) { }
+
+ ;
+ 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_RQ_FOR_EACH_SEGMENT 1
+_ACEOF
+
+
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+
+
+
+fi
+
+ rm -Rf build
+
+
+
+ { $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
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+
+ #include <linux/fs.h>
+ #include <linux/xattr.h>
+
+ const struct xattr_handler xattr_test_handler = {
+ .prefix = "test",
+ .get = NULL,
+ .set = NULL,
+ };
+
+ const struct xattr_handler *xattr_handlers[] = {
+ &xattr_test_handler,
+ };
int
main (void)
{
- struct request *req = NULL;
- (void) rq_is_sync(req);
+ struct super_block sb __attribute__ ((unused));
+
+ sb.s_xattr = xattr_handlers;
;
return 0;
$as_echo "yes" >&6; }
cat >>confdefs.h <<\_ACEOF
-#define HAVE_RQ_IS_SYNC 1
+#define HAVE_CONST_XATTR_HANDLER 1
_ACEOF
- { $as_echo "$as_me:$LINENO: checking whether rq_for_each_segment() is available" >&5
-$as_echo_n "checking whether rq_for_each_segment() is available... " >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether xattr_handler->get() wants dentry" >&5
+$as_echo_n "checking whether xattr_handler->get() wants dentry... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
/* end confdefs.h. */
- #include <linux/blkdev.h>
+ #include <linux/xattr.h>
int
main (void)
{
- struct bio_vec *bv;
- struct req_iterator iter;
- struct request *req = NULL;
- rq_for_each_segment(bv, req, iter) { }
+ 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;
$as_echo "yes" >&6; }
cat >>confdefs.h <<\_ACEOF
-#define HAVE_RQ_FOR_EACH_SEGMENT 1
+#define HAVE_DENTRY_XATTR_GET 1
_ACEOF
- { $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 xattr_handler->set() wants dentry" >&5
+$as_echo_n "checking whether xattr_handler->set() wants dentry... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
/* end confdefs.h. */
- #include <linux/fs.h>
#include <linux/xattr.h>
- 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 super_block sb __attribute__ ((unused));
+ 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));
- sb.s_xattr = xattr_handlers;
+ xops.set = set;
;
return 0;
$as_echo "yes" >&6; }
cat >>confdefs.h <<\_ACEOF
-#define HAVE_CONST_XATTR_HANDLER 1
+#define HAVE_DENTRY_XATTR_SET 1
_ACEOF
- { $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 fops->fsync() wants" >&5
+$as_echo_n "checking whether fops->fsync() wants... " >&6; }
+
cat confdefs.h - <<_ACEOF >conftest.c
/* end confdefs.h. */
- #include <linux/xattr.h>
+ #include <linux/fs.h>
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));
+ int (*fsync) (struct file *, struct dentry *, int) = NULL;
+ struct file_operations fops __attribute__ ((unused));
- xops.get = get;
+ fops.fsync = fsync;
;
return 0;
$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_DENTRY_XATTR_GET 1
+#define HAVE_FSYNC_WITH_DENTRY 1
_ACEOF
$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 xattr_handler->set() wants dentry" >&5
-$as_echo_n "checking whether xattr_handler->set() wants dentry... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
/* end confdefs.h. */
- #include <linux/xattr.h>
+ #include <linux/fs.h>
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));
+ int (*fsync) (struct file *, int) = NULL;
+ struct file_operations fops __attribute__ ((unused));
- xops.set = set;
+ fops.fsync = fsync;
;
return 0;
$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_DENTRY_XATTR_SET 1
+#define HAVE_FSYNC_WITHOUT_DENTRY 1
_ACEOF
$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 fops->fsync() wants 2 args" >&5
-$as_echo_n "checking whether fops->fsync() wants 2 args... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
main (void)
{
- int (*fsync) (struct file *, int datasync) = NULL;
+ int (*fsync) (struct file *, loff_t, loff_t, int) = NULL;
struct file_operations fops __attribute__ ((unused));
fops.fsync = fsync;
$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_2ARGS_FSYNC 1
+#define HAVE_FSYNC_RANGE 1
_ACEOF
$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 sops->evict_inode() exists" >&5
$as_echo_n "checking whether sops->evict_inode() exists... " >&6; }
{
void (*evict_inode) (struct inode *) = NULL;
- struct super_operations sops __attribute__ ((unused));
-
- sops.evict_inode = evict_inode;
+ struct super_operations sops __attribute__ ((unused)) = {
+ .evict_inode = evict_inode,
+ };
;
return 0;
$LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null
rc=$?
if test $rc -ne 0; then
+
export=0
for file in fs/inode.c; do
grep -q -E "EXPORT_SYMBOL.*(insert_inode_locked)" "$LINUX/$file" 2>/dev/null
rc=$?
- if test $rc -eq 0; then
- export=1
- break;
- fi
+ if test $rc -eq 0; then
+
+ export=1
+ break;
+
+fi
+
done
if test $export -eq 0; then
+
{ $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
- else
+
+else
+
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
#define HAVE_INSERT_INODE_LOCKED 1
_ACEOF
- fi
- else
+
+fi
+
+
+else
+
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
#define HAVE_INSERT_INODE_LOCKED 1
_ACEOF
- fi
+
+fi
+
$LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null
rc=$?
if test $rc -ne 0; then
+
export=0
for file in fs/dcache.c; do
grep -q -E "EXPORT_SYMBOL.*(d_obtain_alias)" "$LINUX/$file" 2>/dev/null
rc=$?
- if test $rc -eq 0; then
- export=1
- break;
- fi
+ if test $rc -eq 0; then
+
+ export=1
+ break;
+
+fi
+
done
if test $export -eq 0; then
+
{ $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
- else
+
+else
+
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
#define HAVE_D_OBTAIN_ALIAS 1
_ACEOF
- fi
- else
+
+fi
+
+
+else
+
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
#define HAVE_D_OBTAIN_ALIAS 1
_ACEOF
- fi
+
+fi
+
$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
+ if test $rc -eq 0; then
+
+ export=1
+ break;
+
+fi
+
done
if test $export -eq 0; then
+
{ $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
- else
+
+else
+
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
#define HAVE_CHECK_DISK_SIZE_CHANGE 1
_ACEOF
- fi
- else
+
+fi
+
+
+else
+
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
#define HAVE_CHECK_DISK_SIZE_CHANGE 1
_ACEOF
- fi
+
+fi
+
$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
+ if test $rc -eq 0; then
+
+ export=1
+ break;
+
+fi
+
done
if test $export -eq 0; then
+
{ $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
- else
+
+else
+
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
#define HAVE_TRUNCATE_SETSIZE 1
_ACEOF
- fi
- else
+
+fi
+
+
+else
+
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
#define HAVE_TRUNCATE_SETSIZE 1
_ACEOF
- fi
+
+fi
+
$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
+ if test $rc -eq 0; then
+
+ export=1
+ break;
+
+fi
+
done
if test $export -eq 0; then
+
{ $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
- else
+
+else
+
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
#define HAVE_MOUNT_NODEV 1
_ACEOF
- fi
- else
+
+fi
+
+
+else
+
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
#define HAVE_MOUNT_NODEV 1
_ACEOF
- fi
+
+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
+
+ export=1
+ break;
+
+fi
+
+ done
+ if test $export -eq 0; then
+
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+
+
+else
+
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_BDI_SETUP_AND_REGISTER 1
+_ACEOF
+
+
+fi
+
+
+else
+
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_BDI_SETUP_AND_REGISTER 1
+_ACEOF
+
+
+fi
+
+
+
+
if test "$LINUX_OBJ" != "$LINUX"; then
+
KERNELMAKE_PARAMS="$KERNELMAKE_PARAMS O=$LINUX_OBJ"
- fi
+
+fi
+
$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/init.d/zfs.arch etc/init.d/zfs.gentoo etc/init.d/zfs.lunar etc/init.d/zfs.fedora etc/init.d/zfs.lsb etc/init.d/zfs.redhat etc/zfs/Makefile man/Makefile man/man8/Makefile lib/Makefile lib/libspl/Makefile lib/libspl/asm-generic/Makefile lib/libspl/asm-i386/Makefile lib/libspl/asm-x86_64/Makefile lib/libspl/include/Makefile lib/libspl/include/ia32/Makefile lib/libspl/include/ia32/sys/Makefile lib/libspl/include/rpc/Makefile lib/libspl/include/sys/Makefile lib/libspl/include/sys/sysevent/Makefile lib/libspl/include/sys/dktp/Makefile lib/libspl/include/util/Makefile lib/libavl/Makefile lib/libefi/Makefile lib/libnvpair/Makefile lib/libunicode/Makefile lib/libuutil/Makefile lib/libzpool/Makefile lib/libzfs/Makefile lib/libshare/Makefile cmd/Makefile cmd/zdb/Makefile cmd/zfs/Makefile cmd/zinject/Makefile cmd/zpool/Makefile cmd/ztest/Makefile cmd/zpios/Makefile cmd/mount_zfs/Makefile cmd/zpool_layout/Makefile cmd/zvol_id/Makefile cmd/zpool_id/Makefile cmd/sas_switch_id/Makefile module/Makefile module/avl/Makefile module/nvpair/Makefile module/unicode/Makefile module/zcommon/Makefile module/zfs/Makefile module/zpios/Makefile include/Makefile include/linux/Makefile include/sys/Makefile include/sys/fs/Makefile include/sys/fm/Makefile include/sys/fm/fs/Makefile scripts/Makefile scripts/zpios-profile/Makefile scripts/zpios-test/Makefile scripts/zpool-config/Makefile scripts/zpool-layout/Makefile scripts/common.sh zfs.spec zfs-modules.spec zfs-script-config.sh"
+ac_config_files="$ac_config_files Makefile dracut/Makefile dracut/90zfs/Makefile udev/Makefile udev/rules.d/Makefile etc/Makefile etc/init.d/Makefile etc/zfs/Makefile man/Makefile man/man8/Makefile lib/Makefile lib/libspl/Makefile lib/libspl/asm-generic/Makefile lib/libspl/asm-i386/Makefile lib/libspl/asm-x86_64/Makefile lib/libspl/include/Makefile lib/libspl/include/ia32/Makefile lib/libspl/include/ia32/sys/Makefile lib/libspl/include/rpc/Makefile lib/libspl/include/sys/Makefile lib/libspl/include/sys/sysevent/Makefile lib/libspl/include/sys/dktp/Makefile lib/libspl/include/util/Makefile lib/libavl/Makefile lib/libefi/Makefile lib/libnvpair/Makefile lib/libunicode/Makefile lib/libuutil/Makefile lib/libzpool/Makefile lib/libzfs/Makefile lib/libshare/Makefile cmd/Makefile cmd/zdb/Makefile cmd/zfs/Makefile cmd/zinject/Makefile cmd/zpool/Makefile cmd/ztest/Makefile cmd/zpios/Makefile cmd/mount_zfs/Makefile cmd/zpool_layout/Makefile cmd/zvol_id/Makefile cmd/zpool_id/Makefile cmd/sas_switch_id/Makefile module/Makefile module/avl/Makefile module/nvpair/Makefile module/unicode/Makefile module/zcommon/Makefile module/zfs/Makefile module/zpios/Makefile include/Makefile include/linux/Makefile include/sys/Makefile include/sys/fs/Makefile include/sys/fm/Makefile include/sys/fm/fs/Makefile scripts/Makefile scripts/zpios-profile/Makefile scripts/zpios-test/Makefile scripts/zpool-config/Makefile scripts/zpool-layout/Makefile scripts/common.sh zfs.spec zfs-modules.spec zfs-script-config.sh"
cat >confcache <<\_ACEOF
"udev/rules.d/Makefile") CONFIG_FILES="$CONFIG_FILES udev/rules.d/Makefile" ;;
"etc/Makefile") CONFIG_FILES="$CONFIG_FILES etc/Makefile" ;;
"etc/init.d/Makefile") CONFIG_FILES="$CONFIG_FILES etc/init.d/Makefile" ;;
- "etc/init.d/zfs.arch") CONFIG_FILES="$CONFIG_FILES etc/init.d/zfs.arch" ;;
- "etc/init.d/zfs.gentoo") CONFIG_FILES="$CONFIG_FILES etc/init.d/zfs.gentoo" ;;
- "etc/init.d/zfs.lunar") CONFIG_FILES="$CONFIG_FILES etc/init.d/zfs.lunar" ;;
- "etc/init.d/zfs.fedora") CONFIG_FILES="$CONFIG_FILES etc/init.d/zfs.fedora" ;;
- "etc/init.d/zfs.lsb") CONFIG_FILES="$CONFIG_FILES etc/init.d/zfs.lsb" ;;
- "etc/init.d/zfs.redhat") CONFIG_FILES="$CONFIG_FILES etc/init.d/zfs.redhat" ;;
"etc/zfs/Makefile") CONFIG_FILES="$CONFIG_FILES etc/zfs/Makefile" ;;
"man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
"man/man8/Makefile") CONFIG_FILES="$CONFIG_FILES man/man8/Makefile" ;;