#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for zfs 0.6.4.2.
+# Generated by GNU Autoconf 2.68 for zfs 0.6.5.3.
#
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# Identity of this package.
PACKAGE_NAME='zfs'
PACKAGE_TARNAME='zfs'
-PACKAGE_VERSION='0.6.4.2'
-PACKAGE_STRING='zfs 0.6.4.2'
+PACKAGE_VERSION='0.6.5.3'
+PACKAGE_STRING='zfs 0.6.5.3'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
LINUX_VERSION
LINUX_OBJ
LINUX
+NO_BOOL_COMPARE
NO_UNUSED_BUT_SET_VARIABLE
ZFS_CONFIG
TARGET_ASM_DIR
RPM_VERSION
RPM
HAVE_RPM
+DEFINE_INITRAMFS
+DEFAULT_INITCONF_DIR
DEFAULT_INIT_SCRIPT
DEFAULT_INIT_DIR
DEFAULT_PACKAGE
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures zfs 0.6.4.2 to adapt to many kinds of systems.
+\`configure' configures zfs 0.6.5.3 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of zfs 0.6.4.2:";;
+ short | recursive ) echo "Configuration of zfs 0.6.5.3:";;
esac
cat <<\_ACEOF
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-zfs configure 0.6.4.2
+zfs configure 0.6.5.3
generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc.
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by zfs $as_me 0.6.4.2, which was
+It was created by zfs $as_me 0.6.5.3, which was
generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@
# Define the identity of the package.
PACKAGE='zfs'
- VERSION='0.6.4.2'
+ VERSION='0.6.5.3'
cat >>confdefs.h <<_ACEOF
debian) DEFAULT_PACKAGE=deb ;;
*) DEFAULT_PACKAGE=rpm ;;
esac
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $DEFAULT_PACKAGE" >&5
$as_echo "$DEFAULT_PACKAGE" >&6; }
debian) DEFAULT_INIT_SCRIPT=lsb ;;
*) DEFAULT_INIT_SCRIPT=lsb ;;
esac
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $DEFAULT_INIT_SCRIPT" >&5
$as_echo "$DEFAULT_INIT_SCRIPT" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking default init config direectory" >&5
+$as_echo_n "checking default init config direectory... " >&6; }
+ case "$VENDOR" in
+ gentoo) DEFAULT_INITCONF_DIR=/etc/conf.d ;;
+ toss) DEFAULT_INITCONF_DIR=/etc/sysconfig ;;
+ redhat) DEFAULT_INITCONF_DIR=/etc/sysconfig ;;
+ fedora) DEFAULT_INITCONF_DIR=/etc/sysconfig ;;
+ sles) DEFAULT_INITCONF_DIR=/etc/sysconfig ;;
+ ubuntu) DEFAULT_INITCONF_DIR=/etc/default ;;
+ debian) DEFAULT_INITCONF_DIR=/etc/default ;;
+ *) DEFAULT_INITCONF_DIR=/etc/default ;;
+ esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DEFAULT_INITCONF_DIR" >&5
+$as_echo "$DEFAULT_INITCONF_DIR" >&6; }
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether initramfs-tools is available" >&5
+$as_echo_n "checking whether initramfs-tools is available... " >&6; }
+ if test -d /usr/share/initramfs-tools ; then
+ DEFINE_INITRAMFS='--define "_initramfs 1"'
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ DEFINE_INITRAMFS=''
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ fi
+
+
RPM=rpm
RPMBUILD=rpmbuild
fi
RPM_DEFINE_COMMON='--define "$(DEBUG_ZFS) 1" --define "$(DEBUG_DMU_TX) 1"'
- RPM_DEFINE_UTIL='--define "_dracutdir $(dracutdir)" --define "_udevdir $(udevdir)" --define "_udevruledir $(udevruledir)"'
+ RPM_DEFINE_UTIL='--define "_dracutdir $(dracutdir)" --define "_udevdir $(udevdir)" --define "_udevruledir $(udevruledir)" --define "_initconfdir $(DEFAULT_INITCONF_DIR)" $(DEFINE_INITRAMFS)'
RPM_DEFINE_KMOD='--define "kernels $(LINUX_VERSION)" --define "require_spldir $(SPL)" --define "require_splobj $(SPL_OBJ)" --define "ksrc $(LINUX)" --define "kobj $(LINUX_OBJ)"'
RPM_DEFINE_DKMS=
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -Wno-bool-compare support" >&5
+$as_echo_n "checking for -Wno-bool-compare support... " >&6; }
+
+ saved_flags="$CFLAGS"
+ CFLAGS="$CFLAGS -Wbool-compare"
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+ NO_BOOL_COMPARE=-Wno-bool-compare
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+else
+
+ NO_BOOL_COMPARE=
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+ CFLAGS="$saved_flags"
+
+
+
case "$ZFS_CONFIG" in
kernel)
splbuild="${splsrc}"
+elif find -L "${splsrc}" -name spl_config.h 2> /dev/null | grep -wq spl_config.h ; then :
+
+ splbuild=$(find -L "${splsrc}" -name spl_config.h | sed 's,/spl_config.h,,')
+
else
splbuild="Not found"
EXTRA_KCFLAGS="$tmp_flags"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether current->bio_tail exists" >&5
+$as_echo_n "checking whether current->bio_tail exists... " >&6; }
+
+
+cat confdefs.h - <<_ACEOF >conftest.c
+
+
+ #include <linux/sched.h>
+
+int
+main (void)
+{
+
+ current->bio_tail = (struct bio **) NULL;
+
+ ;
+ return 0;
+}
+
+_ACEOF
+
+
+
+cat - <<_ACEOF >conftest.h
+
+_ACEOF
+
+
+ rm -Rf build && mkdir -p build && touch build/conftest.mod.c
+ echo "obj-m := conftest.o" >build/Makefile
+ modpost_flag=''
+ test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+ if { ac_try='cp conftest.c conftest.h build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_CURRENT_BIO_TAIL 1" >>confdefs.h
+
+
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether current->bio_list exists" >&5
+$as_echo_n "checking whether current->bio_list exists... " >&6; }
+
+
+cat confdefs.h - <<_ACEOF >conftest.c
+
+
+ #include <linux/sched.h>
+
+int
+main (void)
+{
+
+ current->bio_list = (struct bio_list *) NULL;
+
+ ;
+ return 0;
+}
+
+_ACEOF
+
+
+
+cat - <<_ACEOF >conftest.h
+
+_ACEOF
+
+
+ rm -Rf build && mkdir -p build && touch build/conftest.mod.c
+ echo "obj-m := conftest.o" >build/Makefile
+ modpost_flag=''
+ test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+ if { ac_try='cp conftest.c conftest.h build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_CURRENT_BIO_LIST 1" >>confdefs.h
+
+
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ as_fn_error $? "no - Please file a bug report at
+ https://github.com/zfsonlinux/zfs/issues/new" "$LINENO" 5
+
+
+
+fi
+ rm -Rf build
+
+
+
+
+
+fi
+ rm -Rf build
+
+
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking block device operation prototypes" >&5
$as_echo_n "checking block device operation prototypes... " >&6; }
tmp_flags="$EXTRA_KCFLAGS"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether BIO_RW_FAILFAST is defined" >&5
-$as_echo_n "checking whether BIO_RW_FAILFAST is defined... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether BIO_RW_FAILFAST_* are defined" >&5
+$as_echo_n "checking whether BIO_RW_FAILFAST_* are defined... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
{
int flags __attribute__ ((unused));
- flags = (1 << BIO_RW_FAILFAST);
+ flags = ((1 << BIO_RW_FAILFAST_DEV) |
+ (1 << BIO_RW_FAILFAST_TRANSPORT) |
+ (1 << BIO_RW_FAILFAST_DRIVER));
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BIO_RW_FAILFAST 1" >>confdefs.h
+$as_echo "#define HAVE_BIO_RW_FAILFAST_DTD 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether BIO_RW_FAILFAST_* are defined" >&5
-$as_echo_n "checking whether BIO_RW_FAILFAST_* are defined... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$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
{
int flags __attribute__ ((unused));
- flags = ((1 << BIO_RW_FAILFAST_DEV) |
- (1 << BIO_RW_FAILFAST_TRANSPORT) |
- (1 << BIO_RW_FAILFAST_DRIVER));
+ flags = REQ_FAILFAST_MASK;
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BIO_RW_FAILFAST_DTD 1" >>confdefs.h
+$as_echo "#define HAVE_REQ_FAILFAST_MASK 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether REQ_FAILFAST_MASK is defined" >&5
-$as_echo_n "checking whether REQ_FAILFAST_MASK is defined... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether bio_end_io_t wants 1 arg" >&5
+$as_echo_n "checking whether bio_end_io_t wants 1 arg... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/bio.h>
+ void wanted_end_io(struct bio *bio) { return; }
+
+ bio_end_io_t *end_io __attribute__ ((unused)) = wanted_end_io;
+
int
main (void)
{
- int flags __attribute__ ((unused));
- flags = REQ_FAILFAST_MASK;
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BIO_REQ_FAILFAST_MASK 1" >>confdefs.h
+$as_echo "#define HAVE_1ARG_BIO_END_IO_T 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking whether BIO_RW_BARRIER is defined" >&5
+$as_echo_n "checking whether BIO_RW_BARRIER is defined... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/bio.h>
- void wanted_end_io(struct bio *bio, int x) { return; }
-
- bio_end_io_t *end_io __attribute__ ((unused)) = wanted_end_io;
-
int
main (void)
{
+ int flags __attribute__ ((unused));
+ flags = BIO_RW_BARRIER;
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_2ARGS_BIO_END_IO_T 1" >>confdefs.h
+$as_echo "#define HAVE_BIO_RW_BARRIER 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether BIO_RW_SYNC is defined" >&5
-$as_echo_n "checking whether BIO_RW_SYNC is defined... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether BIO_RW_DISCARD is defined" >&5
+$as_echo_n "checking whether BIO_RW_DISCARD is defined... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
{
int flags __attribute__ ((unused));
- flags = BIO_RW_SYNC;
+ flags = BIO_RW_DISCARD;
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BIO_RW_SYNC 1" >>confdefs.h
+$as_echo "#define HAVE_BIO_RW_DISCARD 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether BIO_RW_SYNCIO is defined" >&5
-$as_echo_n "checking whether BIO_RW_SYNCIO is defined... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$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="${NO_UNUSED_BUT_SET_VARIABLE}"
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/bio.h>
+ #include <linux/blkdev.h>
int
main (void)
{
- int flags __attribute__ ((unused));
- flags = BIO_RW_SYNCIO;
+ struct request_queue *q = NULL;
+ (void) blk_queue_flush(q, REQ_FLUSH);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BIO_RW_SYNCIO 1" >>confdefs.h
+$as_echo "#define HAVE_BLK_QUEUE_FLUSH 1" >>confdefs.h
else
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether REQ_SYNC is defined" >&5
-$as_echo_n "checking whether REQ_SYNC is defined... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$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
- #include <linux/bio.h>
+ #include <linux/module.h>
+ #include <linux/blkdev.h>
+
+ MODULE_LICENSE("$ZFS_META_LICENSE");
int
main (void)
{
- int flags __attribute__ ((unused));
- flags = REQ_SYNC;
+ struct request_queue *q = NULL;
+ (void) blk_queue_flush(q, REQ_FLUSH);
;
return 0;
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define HAVE_REQ_SYNC 1" >>confdefs.h
-
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_BLK_QUEUE_FLUSH_GPL_ONLY 1" >>confdefs.h
+
rm -Rf build
+ EXTRA_KCFLAGS="$tmp_flags"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether blk_end_request() is available" >&5
-$as_echo_n "checking whether blk_end_request() is available... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$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="${NO_UNUSED_BUT_SET_VARIABLE}"
main (void)
{
- struct request *req = NULL;
- (void) blk_end_request(req, 0, 0);
+ struct request_queue *q = NULL;
+ (void) blk_queue_max_hw_sectors(q, BLK_SAFE_MAX_SECTORS);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BLK_END_REQUEST 1" >>confdefs.h
+$as_echo "#define HAVE_BLK_QUEUE_MAX_HW_SECTORS 1" >>confdefs.h
else
rm -Rf build
+ EXTRA_KCFLAGS="$tmp_flags"
+
- { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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="${NO_UNUSED_BUT_SET_VARIABLE}"
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/module.h>
#include <linux/blkdev.h>
- MODULE_LICENSE("$ZFS_META_LICENSE");
-
int
main (void)
{
- struct request *req = NULL;
- (void) blk_end_request(req, 0, 0);
+ struct request_queue *q = NULL;
+ (void) blk_queue_max_segments(q, BLK_MAX_SEGMENTS);
;
return 0;
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_BLK_QUEUE_MAX_SEGMENTS 1" >>confdefs.h
+
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define HAVE_BLK_END_REQUEST_GPL_ONLY 1" >>confdefs.h
-
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
EXTRA_KCFLAGS="$tmp_flags"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether blk_queue_flush() is available" >&5
-$as_echo_n "checking whether blk_queue_flush() is available... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$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="${NO_UNUSED_BUT_SET_VARIABLE}"
main (void)
{
- struct request_queue *q = NULL;
- (void) blk_queue_flush(q, REQ_FLUSH);
+ struct gendisk *disk = NULL;
+ (void) get_disk_ro(disk);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BLK_QUEUE_FLUSH 1" >>confdefs.h
+$as_echo "#define HAVE_GET_DISK_RO 1" >>confdefs.h
else
rm -Rf build
+ EXTRA_KCFLAGS="$tmp_flags"
- { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking whether get_gendisk() is available" >&5
+$as_echo_n "checking whether get_gendisk() is available... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.c
+cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/module.h>
- #include <linux/blkdev.h>
- MODULE_LICENSE("$ZFS_META_LICENSE");
+ #include <linux/genhd.h>
int
main (void)
{
- struct request_queue *q = NULL;
- (void) blk_queue_flush(q, REQ_FLUSH);
+ get_gendisk(0, NULL);
;
return 0;
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
+ rc=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+ rc=1
+
+
+fi
+ rm -Rf build
+
+
+ if test $rc -ne 0; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ else
+ if test "x$enable_linux_builtin" != xyes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&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 :
+ rc=1
+ else :
+ rc=0
+ fi
+ else :
+ rc=0
+ fi
-$as_echo "#define HAVE_BLK_QUEUE_FLUSH_GPL_ONLY 1" >>confdefs.h
+ fi
+ if test $rc -ne 0; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ else :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
-fi
- rm -Rf build
+$as_echo "#define HAVE_GET_GENDISK 1" >>confdefs.h
- EXTRA_KCFLAGS="$tmp_flags"
+ fi
+ fi
- { $as_echo "$as_me:${as_lineno-$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="${NO_UNUSED_BUT_SET_VARIABLE}"
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ql->discard_granularity is available" >&5
+$as_echo_n "checking whether ql->discard_granularity is available... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
main (void)
{
- struct request_queue *q = NULL;
- (void) blk_queue_max_hw_sectors(q, BLK_SAFE_MAX_SECTORS);
+ struct queue_limits ql __attribute__ ((unused));
+
+ ql.discard_granularity = 0;
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BLK_QUEUE_MAX_HW_SECTORS 1" >>confdefs.h
+$as_echo "#define HAVE_DISCARD_GRANULARITY 1" >>confdefs.h
else
rm -Rf build
- EXTRA_KCFLAGS="$tmp_flags"
-
- { $as_echo "$as_me:${as_lineno-$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="${NO_UNUSED_BUT_SET_VARIABLE}"
+ { $as_echo "$as_me:${as_lineno-$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
- #include <linux/blkdev.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,
+ };
+
+ const struct super_block sb __attribute__ ((unused)) = {
+ .s_xattr = xattr_handlers,
+ };
int
main (void)
{
- struct request_queue *q = NULL;
- (void) blk_queue_max_segments(q, BLK_MAX_SEGMENTS);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BLK_QUEUE_MAX_SEGMENTS 1" >>confdefs.h
+$as_echo "#define HAVE_CONST_XATTR_HANDLER 1" >>confdefs.h
else
rm -Rf build
- EXTRA_KCFLAGS="$tmp_flags"
- { $as_echo "$as_me:${as_lineno-$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="${NO_UNUSED_BUT_SET_VARIABLE}"
+ { $as_echo "$as_me:${as_lineno-$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
- #include <linux/blkdev.h>
+ #include <linux/xattr.h>
+
+ int get(struct dentry *dentry, const char *name,
+ void *buffer, size_t size, int handler_flags) { return 0; }
+ static const struct xattr_handler
+ xops __attribute__ ((unused)) = {
+ .get = get,
+ };
int
main (void)
{
- struct request_queue *q = NULL;
- unsigned short block_size = 1;
- (void) blk_queue_physical_block_size(q, block_size);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BLK_QUEUE_PHYSICAL_BLOCK_SIZE 1" >>confdefs.h
+$as_echo "#define HAVE_DENTRY_XATTR_GET 1" >>confdefs.h
else
rm -Rf build
- EXTRA_KCFLAGS="$tmp_flags"
- { $as_echo "$as_me:${as_lineno-$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="${NO_UNUSED_BUT_SET_VARIABLE}"
+ { $as_echo "$as_me:${as_lineno-$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
- #include <linux/blkdev.h>
+ #include <linux/xattr.h>
+
+ int set(struct dentry *dentry, const char *name,
+ const void *buffer, size_t size, int flags,
+ int handler_flags) { return 0; }
+ static const struct xattr_handler
+ xops __attribute__ ((unused)) = {
+ .set = set,
+ };
int
main (void)
{
- struct request_queue *q = NULL;
- unsigned int opt = 1;
- (void) blk_queue_io_opt(q, opt);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BLK_QUEUE_IO_OPT 1" >>confdefs.h
+$as_echo "#define HAVE_DENTRY_XATTR_SET 1" >>confdefs.h
else
rm -Rf build
- EXTRA_KCFLAGS="$tmp_flags"
- { $as_echo "$as_me:${as_lineno-$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="${NO_UNUSED_BUT_SET_VARIABLE}"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether xattr_handler->list() wants dentry" >&5
+$as_echo_n "checking whether xattr_handler->list() wants dentry... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/blkdev.h>
+ #include <linux/xattr.h>
+
+ size_t list(struct dentry *dentry, char *list, size_t list_size,
+ const char *name, size_t name_len, int handler_flags)
+ { return 0; }
+ static const struct xattr_handler
+ xops __attribute__ ((unused)) = {
+ .list = list,
+ };
int
main (void)
{
- struct request_queue *q = NULL;
- (void) blk_queue_nonrot(q);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BLK_QUEUE_NONROT 1" >>confdefs.h
+$as_echo "#define HAVE_DENTRY_XATTR_LIST 1" >>confdefs.h
else
rm -Rf build
- EXTRA_KCFLAGS="$tmp_flags"
- { $as_echo "$as_me:${as_lineno-$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="${NO_UNUSED_BUT_SET_VARIABLE}"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether inode_owner_or_capable() exists" >&5
+$as_echo_n "checking whether inode_owner_or_capable() exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/blkdev.h>
+ #include <linux/fs.h>
int
main (void)
{
- struct request_queue *q = NULL;
- (void) blk_queue_discard(q);
+ struct inode *ip = NULL;
+ (void) inode_owner_or_capable(ip);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BLK_QUEUE_DISCARD 1" >>confdefs.h
+$as_echo "#define HAVE_INODE_OWNER_OR_CAPABLE 1" >>confdefs.h
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
-
-
-
-fi
- rm -Rf build
-
-
- EXTRA_KCFLAGS="$tmp_flags"
-
-
- { $as_echo "$as_me:${as_lineno-$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="${NO_UNUSED_BUT_SET_VARIABLE}"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether is_owner_or_cap() exists" >&5
+$as_echo_n "checking whether is_owner_or_cap() exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/blkdev.h>
+ #include <linux/fs.h>
+ #include <linux/sched.h>
int
main (void)
{
- struct request_queue *q = NULL;
- (void) blk_fetch_request(q);
+ struct inode *ip = NULL;
+ (void) is_owner_or_cap(ip);
;
return 0;
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BLK_FETCH_REQUEST 1" >>confdefs.h
+$as_echo "#define HAVE_IS_OWNER_OR_CAP 1" >>confdefs.h
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ as_fn_error $? "no - Please file a bug report at
+ https://github.com/zfsonlinux/zfs/issues/new" "$LINENO" 5
rm -Rf build
- EXTRA_KCFLAGS="$tmp_flags"
- { $as_echo "$as_me:${as_lineno-$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="${NO_UNUSED_BUT_SET_VARIABLE}"
+
+fi
+ rm -Rf build
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether posix_acl_from_xattr() needs user_ns" >&5
+$as_echo_n "checking whether posix_acl_from_xattr() needs user_ns... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/blkdev.h>
+ #include <linux/cred.h>
+ #include <linux/fs.h>
+ #include <linux/posix_acl_xattr.h>
int
main (void)
{
- struct request_queue *q = NULL;
- struct request *req = NULL;
- blk_requeue_request(q, req);
+ posix_acl_from_xattr(&init_user_ns, NULL, 0);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BLK_REQUEUE_REQUEST 1" >>confdefs.h
+$as_echo "#define HAVE_POSIX_ACL_FROM_XATTR_USERNS 1" >>confdefs.h
else
rm -Rf build
- EXTRA_KCFLAGS="$tmp_flags"
- { $as_echo "$as_me:${as_lineno-$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="${NO_UNUSED_BUT_SET_VARIABLE}"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether posix_acl_release() is available" >&5
+$as_echo_n "checking whether posix_acl_release() is available... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/blkdev.h>
+ #include <linux/cred.h>
+ #include <linux/fs.h>
+ #include <linux/posix_acl.h>
int
main (void)
{
- struct request *req = NULL;
- (void) blk_rq_bytes(req);
+ struct posix_acl* tmp = posix_acl_alloc(1, 0);
+ posix_acl_release(tmp);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BLK_RQ_BYTES 1" >>confdefs.h
+$as_echo "#define HAVE_POSIX_ACL_RELEASE 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking whether posix_acl_release() is GPL-only" >&5
+$as_echo_n "checking whether posix_acl_release() is GPL-only... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/module.h>
- #include <linux/blkdev.h>
+ #include <linux/cred.h>
+ #include <linux/fs.h>
+ #include <linux/posix_acl.h>
MODULE_LICENSE("$ZFS_META_LICENSE");
main (void)
{
- struct request *req = NULL;
- (void) blk_rq_bytes(req);
+ struct posix_acl* tmp = posix_acl_alloc(1, 0);
+ posix_acl_release(tmp);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BLK_RQ_BYTES_GPL_ONLY 1" >>confdefs.h
+$as_echo "#define HAVE_POSIX_ACL_RELEASE_GPL_ONLY 1" >>confdefs.h
rm -Rf build
- EXTRA_KCFLAGS="$tmp_flags"
- { $as_echo "$as_me:${as_lineno-$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="${NO_UNUSED_BUT_SET_VARIABLE}"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether posix_acl_chmod exists" >&5
+$as_echo_n "checking whether posix_acl_chmod exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/blkdev.h>
+ #include <linux/fs.h>
+ #include <linux/posix_acl.h>
int
main (void)
{
- struct request *req = NULL;
- (void) blk_rq_pos(req);
+ posix_acl_chmod(NULL, 0, 0)
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BLK_RQ_POS 1" >>confdefs.h
+$as_echo "#define HAVE_POSIX_ACL_CHMOD 1" >>confdefs.h
else
rm -Rf build
- EXTRA_KCFLAGS="$tmp_flags"
-
- { $as_echo "$as_me:${as_lineno-$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="${NO_UNUSED_BUT_SET_VARIABLE}"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether __posix_acl_chmod exists" >&5
+$as_echo_n "checking whether __posix_acl_chmod exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/blkdev.h>
+ #include <linux/fs.h>
+ #include <linux/posix_acl.h>
int
main (void)
{
- struct request *req = NULL;
- (void) blk_rq_sectors(req);
+ __posix_acl_chmod(NULL, 0, 0)
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BLK_RQ_SECTORS 1" >>confdefs.h
+$as_echo "#define HAVE___POSIX_ACL_CHMOD 1" >>confdefs.h
else
rm -Rf build
- EXTRA_KCFLAGS="$tmp_flags"
- { $as_echo "$as_me:${as_lineno-$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="${NO_UNUSED_BUT_SET_VARIABLE}"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether inode has i_acl and i_default_acl" >&5
+$as_echo_n "checking whether inode has i_acl and i_default_acl... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/blkdev.h>
+ #include <linux/fs.h>
int
main (void)
{
- struct gendisk *disk = NULL;
- (void) get_disk_ro(disk);
+ struct inode ino;
+ ino.i_acl = NULL;
+ ino.i_default_acl = NULL;
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_GET_DISK_RO 1" >>confdefs.h
+$as_echo "#define HAVE_POSIX_ACL_CACHING 1" >>confdefs.h
else
rm -Rf build
- EXTRA_KCFLAGS="$tmp_flags"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether get_gendisk() is available" >&5
-$as_echo_n "checking whether get_gendisk() is available... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether posix_acl_equiv_mode() wants umode_t" >&5
+$as_echo_n "checking whether posix_acl_equiv_mode() wants umode_t... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/genhd.h>
+ #include <linux/fs.h>
+ #include <linux/posix_acl.h>
int
main (void)
{
- get_gendisk(0, NULL);
+ umode_t tmp;
+ posix_acl_equiv_mode(NULL,&tmp);
;
return 0;
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- rc=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- rc=1
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
-fi
- rm -Rf build
+$as_echo "#define HAVE_POSIX_ACL_EQUIV_MODE_UMODE_T 1" >>confdefs.h
- if test $rc -ne 0; then :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
- else
- if test "x$enable_linux_builtin" != xyes; then
-
- 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 :
- rc=1
- else :
- rc=0
- fi
- else :
- rc=0
- fi
-
- fi
- if test $rc -ne 0; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- else :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+fi
+ rm -Rf build
-$as_echo "#define HAVE_GET_GENDISK 1" >>confdefs.h
- fi
- fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->permission() exists" >&5
+$as_echo_n "checking whether iops->permission() exists... " >&6; }
- { $as_echo "$as_me:${as_lineno-$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="${NO_UNUSED_BUT_SET_VARIABLE}"
+cat confdefs.h - <<_ACEOF >conftest.c
-cat confdefs.h - <<_ACEOF >conftest.c
+ #include <linux/fs.h>
+ int permission_fn(struct inode *inode, int mask) { return 0; }
- #include <linux/blkdev.h>
+ static const struct inode_operations
+ iops __attribute__ ((unused)) = {
+ .permission = permission_fn,
+ };
int
main (void)
{
- struct request *req = NULL;
- (void) rq_is_sync(req);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_RQ_IS_SYNC 1" >>confdefs.h
+$as_echo "#define HAVE_PERMISSION 1" >>confdefs.h
else
rm -Rf build
- EXTRA_KCFLAGS="$tmp_flags"
-
- tmp_flags="$EXTRA_KCFLAGS"
- EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether rq_for_each_segment() wants bio_vec *" >&5
-$as_echo_n "checking whether rq_for_each_segment() wants bio_vec *... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->permission() wants nameidata" >&5
+$as_echo_n "checking whether iops->permission() wants nameidata... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/blkdev.h>
+ #include <linux/fs.h>
+
+ int permission_fn(struct inode *inode, int mask,
+ struct nameidata *nd) { return 0; }
+
+ static const struct inode_operations
+ iops __attribute__ ((unused)) = {
+ .permission = permission_fn,
+ };
int
main (void)
{
- struct bio_vec *bv;
- struct req_iterator iter;
- struct request *req = NULL;
- rq_for_each_segment(bv, req, iter) { }
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_RQ_FOR_EACH_SEGMENT 1" >>confdefs.h
+$as_echo "#define HAVE_PERMISSION 1" >>confdefs.h
-$as_echo "#define HAVE_RQ_FOR_EACH_SEGMENT_BVP 1" >>confdefs.h
+$as_echo "#define HAVE_PERMISSION_WITH_NAMEIDATA 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether rq_for_each_segment() wants bio_vec" >&5
-$as_echo_n "checking whether rq_for_each_segment() wants bio_vec... " >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->check_acl() exists" >&5
+$as_echo_n "checking whether iops->check_acl() exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/blkdev.h>
+ #include <linux/fs.h>
+
+ int check_acl_fn(struct inode *inode, int mask) { return 0; }
+
+ static const struct inode_operations
+ iops __attribute__ ((unused)) = {
+ .check_acl = check_acl_fn,
+ };
int
main (void)
{
- struct bio_vec bv;
- struct req_iterator iter;
- struct request *req = NULL;
- rq_for_each_segment(bv, req, iter) { }
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_RQ_FOR_EACH_SEGMENT 1" >>confdefs.h
-
-
-$as_echo "#define HAVE_RQ_FOR_EACH_SEGMENT_BV 1" >>confdefs.h
+$as_echo "#define HAVE_CHECK_ACL 1" >>confdefs.h
else
- EXTRA_KCFLAGS="$tmp_flags"
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ql->discard_granularity is available" >&5
-$as_echo_n "checking whether ql->discard_granularity is available... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->check_acl() wants flags" >&5
+$as_echo_n "checking whether iops->check_acl() wants flags... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/blkdev.h>
+ #include <linux/fs.h>
+
+ int check_acl_fn(struct inode *inode, int mask,
+ unsigned int flags) { return 0; }
+
+ static const struct inode_operations
+ iops __attribute__ ((unused)) = {
+ .check_acl = check_acl_fn,
+ };
int
main (void)
{
- struct queue_limits ql __attribute__ ((unused));
-
- ql.discard_granularity = 0;
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_DISCARD_GRANULARITY 1" >>confdefs.h
+$as_echo "#define HAVE_CHECK_ACL 1" >>confdefs.h
+
+
+$as_echo "#define HAVE_CHECK_ACL_WITH_FLAGS 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking whether iops->get_acl() exists" >&5
+$as_echo_n "checking whether iops->get_acl() exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
#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,
- };
+ struct posix_acl *get_acl_fn(struct inode *inode, int type)
+ { return NULL; }
- const struct super_block sb __attribute__ ((unused)) = {
- .s_xattr = xattr_handlers,
+ static const struct inode_operations
+ iops __attribute__ ((unused)) = {
+ .get_acl = get_acl_fn,
};
int
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_CONST_XATTR_HANDLER 1" >>confdefs.h
+$as_echo "#define HAVE_GET_ACL 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether xattr_handler->get() wants dentry" >&5
-$as_echo_n "checking whether xattr_handler->get() wants dentry... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether current_umask exists" >&5
+$as_echo_n "checking whether current_umask exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/xattr.h>
-
- int get(struct dentry *dentry, const char *name,
- void *buffer, size_t size, int handler_flags) { return 0; }
- static const struct xattr_handler
- xops __attribute__ ((unused)) = {
- .get = get,
- };
+ #include <linux/fs.h>
int
main (void)
{
+ current_umask();
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_DENTRY_XATTR_GET 1" >>confdefs.h
+$as_echo "#define HAVE_CURRENT_UMASK 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether xattr_handler->set() wants dentry" >&5
-$as_echo_n "checking whether xattr_handler->set() wants dentry... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$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
- #include <linux/xattr.h>
+ #include <linux/fs.h>
- int set(struct dentry *dentry, const char *name,
- const void *buffer, size_t size, int flags,
- int handler_flags) { return 0; }
- static const struct xattr_handler
- xops __attribute__ ((unused)) = {
- .set = set,
+ int show_options (struct seq_file * x, struct dentry * y) { return 0; };
+ static struct super_operations sops __attribute__ ((unused)) = {
+ .show_options = show_options,
};
int
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_DENTRY_XATTR_SET 1" >>confdefs.h
+$as_echo "#define HAVE_SHOW_OPTIONS_WITH_DENTRY 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether xattr_handler->list() wants dentry" >&5
-$as_echo_n "checking whether xattr_handler->list() wants dentry... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether file_inode() is available" >&5
+$as_echo_n "checking whether file_inode() is available... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/xattr.h>
-
- size_t list(struct dentry *dentry, char *list, size_t list_size,
- const char *name, size_t name_len, int handler_flags)
- { return 0; }
- static const struct xattr_handler
- xops __attribute__ ((unused)) = {
- .list = list,
- };
+ #include <linux/fs.h>
int
main (void)
{
+ struct file *f = NULL;
+ file_inode(f);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_DENTRY_XATTR_LIST 1" >>confdefs.h
+$as_echo "#define HAVE_FILE_INODE 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether inode_owner_or_capable() exists" >&5
-$as_echo_n "checking whether inode_owner_or_capable() exists... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fops->fsync() wants" >&5
+$as_echo_n "checking whether fops->fsync() wants... " >&6; }
+
cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
+ int test_fsync(struct file *f, struct dentry *dentry, int x)
+ { return 0; }
+
+ static const struct file_operations
+ fops __attribute__ ((unused)) = {
+ .fsync = test_fsync,
+ };
+
int
main (void)
{
- struct inode *ip = NULL;
- (void) inode_owner_or_capable(ip);
;
return 0;
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: dentry" >&5
+$as_echo "dentry" >&6; }
-$as_echo "#define HAVE_INODE_OWNER_OR_CAPABLE 1" >>confdefs.h
+$as_echo "#define HAVE_FSYNC_WITH_DENTRY 1" >>confdefs.h
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether is_owner_or_cap() exists" >&5
-$as_echo_n "checking whether is_owner_or_cap() exists... " >&6; }
+
+
+
+fi
+ rm -Rf build
+
+
+
+
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/fs.h>
- #include <linux/sched.h>
+ #include <linux/fs.h>
+
+ int test_fsync(struct file *f, int x) { return 0; }
+
+ static const struct file_operations
+ fops __attribute__ ((unused)) = {
+ .fsync = test_fsync,
+ };
int
main (void)
{
- struct inode *ip = NULL;
- (void) is_owner_or_cap(ip);
;
return 0;
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no dentry" >&5
+$as_echo "no dentry" >&6; }
-$as_echo "#define HAVE_IS_OWNER_OR_CAP 1" >>confdefs.h
+$as_echo "#define HAVE_FSYNC_WITHOUT_DENTRY 1" >>confdefs.h
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- as_fn_error $? "no - Please file a bug report at
- https://github.com/zfsonlinux/zfs/issues/new" "$LINENO" 5
-
-
-
-fi
- rm -Rf build
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether posix_acl_from_xattr() needs user_ns" >&5
-$as_echo_n "checking whether posix_acl_from_xattr() needs user_ns... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/cred.h>
#include <linux/fs.h>
- #include <linux/posix_acl_xattr.h>
+
+ int test_fsync(struct file *f, loff_t a, loff_t b, int c)
+ { return 0; }
+
+ static const struct file_operations
+ fops __attribute__ ((unused)) = {
+ .fsync = test_fsync,
+ };
int
main (void)
{
- posix_acl_from_xattr(&init_user_ns, NULL, 0);
;
return 0;
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: range" >&5
+$as_echo "range" >&6; }
-$as_echo "#define HAVE_POSIX_ACL_FROM_XATTR_USERNS 1" >>confdefs.h
+$as_echo "#define HAVE_FSYNC_RANGE 1" >>confdefs.h
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether posix_acl_release() is available" >&5
-$as_echo_n "checking whether posix_acl_release() is available... " >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sops->evict_inode() exists" >&5
+$as_echo_n "checking whether sops->evict_inode() exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/cred.h>
#include <linux/fs.h>
- #include <linux/posix_acl.h>
+ void evict_inode (struct inode * t) { return; }
+ static struct super_operations sops __attribute__ ((unused)) = {
+ .evict_inode = evict_inode,
+ };
int
main (void)
{
- struct posix_acl* tmp = posix_acl_alloc(1, 0);
- posix_acl_release(tmp);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_POSIX_ACL_RELEASE 1" >>confdefs.h
+$as_echo "#define HAVE_EVICT_INODE 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether posix_acl_release() is GPL-only" >&5
-$as_echo_n "checking whether posix_acl_release() is GPL-only... " >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sops->dirty_inode() wants flags" >&5
+$as_echo_n "checking whether sops->dirty_inode() wants flags... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/cred.h>
#include <linux/fs.h>
- #include <linux/posix_acl.h>
- MODULE_LICENSE("$ZFS_META_LICENSE");
+ void dirty_inode(struct inode *a, int b) { return; }
+
+ static const struct super_operations
+ sops __attribute__ ((unused)) = {
+ .dirty_inode = dirty_inode,
+ };
int
main (void)
{
- struct posix_acl* tmp = posix_acl_alloc(1, 0);
- posix_acl_release(tmp);
;
return 0;
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_DIRTY_INODE_WITH_FLAGS 1" >>confdefs.h
+
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define HAVE_POSIX_ACL_RELEASE_GPL_ONLY 1" >>confdefs.h
-
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether posix_acl_chmod exists" >&5
-$as_echo_n "checking whether posix_acl_chmod exists... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$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
#include <linux/fs.h>
- #include <linux/posix_acl.h>
+
+ int nr_cached_objects(struct super_block *sb) { return 0; }
+
+ static const struct super_operations
+ sops __attribute__ ((unused)) = {
+ .nr_cached_objects = nr_cached_objects,
+ };
int
main (void)
{
- posix_acl_chmod(NULL, 0, 0)
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_POSIX_ACL_CHMOD 1" >>confdefs.h
+$as_echo "#define HAVE_NR_CACHED_OBJECTS 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether __posix_acl_chmod exists" >&5
-$as_echo_n "checking whether __posix_acl_chmod exists... " >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$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
#include <linux/fs.h>
- #include <linux/posix_acl.h>
+
+ void free_cached_objects(struct super_block *sb, int x)
+ { return; }
+
+ static const struct super_operations
+ sops __attribute__ ((unused)) = {
+ .free_cached_objects = free_cached_objects,
+ };
int
main (void)
{
- __posix_acl_chmod(NULL, 0, 0)
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE___POSIX_ACL_CHMOD 1" >>confdefs.h
+$as_echo "#define HAVE_FREE_CACHED_OBJECTS 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether inode has i_acl and i_default_acl" >&5
-$as_echo_n "checking whether inode has i_acl and i_default_acl... " >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fops->fallocate() exists" >&5
+$as_echo_n "checking whether fops->fallocate() exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
+ long test_fallocate(struct file *file, int mode,
+ loff_t offset, loff_t len) { return 0; }
+
+ static const struct file_operations
+ fops __attribute__ ((unused)) = {
+ .fallocate = test_fallocate,
+ };
+
int
main (void)
{
- struct inode ino;
- ino.i_acl = NULL;
- ino.i_default_acl = NULL;
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_POSIX_ACL_CACHING 1" >>confdefs.h
+$as_echo "#define HAVE_FILE_FALLOCATE 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether posix_acl_equiv_mode() wants umode_t" >&5
-$as_echo_n "checking whether posix_acl_equiv_mode() wants umode_t... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->fallocate() exists" >&5
+$as_echo_n "checking whether iops->fallocate() exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
- #include <linux/posix_acl.h>
+
+ long test_fallocate(struct inode *inode, int mode,
+ loff_t offset, loff_t len) { return 0; }
+
+ static const struct inode_operations
+ fops __attribute__ ((unused)) = {
+ .fallocate = test_fallocate,
+ };
int
main (void)
{
- umode_t tmp;
- posix_acl_equiv_mode(NULL,&tmp);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_POSIX_ACL_EQUIV_MODE_UMODE_T 1" >>confdefs.h
+$as_echo "#define HAVE_INODE_FALLOCATE 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->permission() exists" >&5
-$as_echo_n "checking whether iops->permission() exists... " >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$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
#include <linux/fs.h>
- int permission_fn(struct inode *inode, int mask) { return 0; }
+ int mkdir(struct inode *inode, struct dentry *dentry,
+ umode_t umode) { return 0; }
static const struct inode_operations
iops __attribute__ ((unused)) = {
- .permission = permission_fn,
+ .mkdir = mkdir,
};
int
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_PERMISSION 1" >>confdefs.h
+$as_echo "#define HAVE_MKDIR_UMODE_T 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->permission() wants nameidata" >&5
-$as_echo_n "checking whether iops->permission() wants nameidata... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->lookup() passes nameidata" >&5
+$as_echo_n "checking whether iops->lookup() passes nameidata... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
- int permission_fn(struct inode *inode, int mask,
- struct nameidata *nd) { return 0; }
+ struct dentry *inode_lookup(struct inode *inode,
+ struct dentry *dentry, struct nameidata *nidata)
+ { return NULL; }
- static const struct inode_operations
- iops __attribute__ ((unused)) = {
- .permission = permission_fn,
+ static const struct inode_operations iops
+ __attribute__ ((unused)) = {
+ .lookup = inode_lookup,
};
int
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_PERMISSION 1" >>confdefs.h
-
-
-$as_echo "#define HAVE_PERMISSION_WITH_NAMEIDATA 1" >>confdefs.h
+$as_echo "#define HAVE_LOOKUP_NAMEIDATA 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->check_acl() exists" >&5
-$as_echo_n "checking whether iops->check_acl() exists... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->create() passes nameidata" >&5
+$as_echo_n "checking whether iops->create() passes nameidata... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
- int check_acl_fn(struct inode *inode, int mask) { return 0; }
+ #ifdef HAVE_MKDIR_UMODE_T
+ int inode_create(struct inode *inode ,struct dentry *dentry,
+ umode_t umode, struct nameidata *nidata) { return 0; }
+ #else
+ int inode_create(struct inode *inode,struct dentry *dentry,
+ int umode, struct nameidata * nidata) { return 0; }
+ #endif
static const struct inode_operations
iops __attribute__ ((unused)) = {
- .check_acl = check_acl_fn,
+ .create = inode_create,
};
int
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_CHECK_ACL 1" >>confdefs.h
+$as_echo "#define HAVE_CREATE_NAMEIDATA 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->check_acl() wants flags" >&5
-$as_echo_n "checking whether iops->check_acl() wants flags... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->follow_link() passes nameidata" >&5
+$as_echo_n "checking whether iops->follow_link() passes nameidata... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
-
- int check_acl_fn(struct inode *inode, int mask,
- unsigned int flags) { return 0; }
-
- static const struct inode_operations
- iops __attribute__ ((unused)) = {
- .check_acl = check_acl_fn,
+ const char *follow_link(struct dentry *de, void **cookie)
+ { return "symlink"; }
+ static struct inode_operations iops __attribute__ ((unused)) = {
+ .follow_link = follow_link,
};
int
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define HAVE_CHECK_ACL 1" >>confdefs.h
-
-
-$as_echo "#define HAVE_CHECK_ACL_WITH_FLAGS 1" >>confdefs.h
-
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_FOLLOW_LINK_NAMEIDATA 1" >>confdefs.h
+
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->get_acl() exists" >&5
-$as_echo_n "checking whether iops->get_acl() exists... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->put_link() passes nameidata" >&5
+$as_echo_n "checking whether iops->put_link() passes nameidata... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
-
- struct posix_acl *get_acl_fn(struct inode *inode, int type)
- { return NULL; }
-
- static const struct inode_operations
- iops __attribute__ ((unused)) = {
- .get_acl = get_acl_fn,
- };
+ void put_link(struct inode *ip, void *cookie) { return; }
+ static struct inode_operations iops __attribute__ ((unused)) = {
+ .put_link = put_link,
+ };
int
main (void)
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define HAVE_GET_ACL 1" >>confdefs.h
-
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_PUT_LINK_NAMEIDATA 1" >>confdefs.h
+
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether current_umask exists" >&5
-$as_echo_n "checking whether current_umask exists... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->truncate_range() exists" >&5
+$as_echo_n "checking whether iops->truncate_range() exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
+ 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)
{
- current_umask();
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_CURRENT_UMASK 1" >>confdefs.h
+$as_echo "#define HAVE_INODE_TRUNCATE_RANGE 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sops->show_options() wants dentry" >&5
-$as_echo_n "checking whether sops->show_options() wants dentry... " >&6; }
-
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether dops->d_automount() exists" >&5
+$as_echo_n "checking whether dops->d_automount() exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/fs.h>
-
- int show_options (struct seq_file * x, struct dentry * y) { return 0; };
- static struct super_operations sops __attribute__ ((unused)) = {
- .show_options = show_options,
+ #include <linux/dcache.h>
+ struct vfsmount *d_automount(struct path *p) { return NULL; }
+ struct dentry_operations dops __attribute__ ((unused)) = {
+ .d_automount = d_automount,
};
int
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_SHOW_OPTIONS_WITH_DENTRY 1" >>confdefs.h
+$as_echo "#define HAVE_AUTOMOUNT 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether file_inode() is available" >&5
-$as_echo_n "checking whether file_inode() is available... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$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
- #include <linux/fs.h>
+ #include <linux/exportfs.h>
+ 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)
{
- struct file *f = NULL;
- file_inode(f);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_FILE_INODE 1" >>confdefs.h
+$as_echo "#define HAVE_ENCODE_FH_WITH_INODE 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fops->fsync() wants" >&5
-$as_echo_n "checking whether fops->fsync() wants... " >&6; }
-
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether eops->commit_metadata() exists" >&5
+$as_echo_n "checking whether eops->commit_metadata() exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/fs.h>
-
- int test_fsync(struct file *f, struct dentry *dentry, int x)
- { return 0; }
-
- static const struct file_operations
- fops __attribute__ ((unused)) = {
- .fsync = test_fsync,
+ #include <linux/exportfs.h>
+ int commit_metadata(struct inode *inode) { return 0; }
+ static struct export_operations eops __attribute__ ((unused))={
+ .commit_metadata = commit_metadata,
};
int
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: dentry" >&5
-$as_echo "dentry" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
-$as_echo "#define HAVE_FSYNC_WITH_DENTRY 1" >>confdefs.h
+$as_echo "#define HAVE_COMMIT_METADATA 1" >>confdefs.h
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether clear_inode() is available" >&5
+$as_echo_n "checking whether clear_inode() is available... " >&6; }
#include <linux/fs.h>
- int test_fsync(struct file *f, int x) { return 0; }
-
- static const struct file_operations
- fops __attribute__ ((unused)) = {
- .fsync = test_fsync,
- };
-
int
main (void)
{
+ clear_inode(NULL);
;
return 0;
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
+ rc=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+ rc=1
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no dentry" >&5
-$as_echo "no dentry" >&6; }
-$as_echo "#define HAVE_FSYNC_WITHOUT_DENTRY 1" >>confdefs.h
+fi
+ rm -Rf build
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ if test $rc -ne 0; then :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+ else
+ if test "x$enable_linux_builtin" != xyes; then
+
+ 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 :
+ rc=1
+ else :
+ rc=0
+ fi
+ else :
+ rc=0
+ fi
+ fi
+ if test $rc -ne 0; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ else :
-fi
- rm -Rf build
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+$as_echo "#define HAVE_CLEAR_INODE 1" >>confdefs.h
+ fi
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether insert_inode_locked() is available" >&5
+$as_echo_n "checking whether insert_inode_locked() is available... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/fs.h>
+cat confdefs.h - <<_ACEOF >conftest.c
- int test_fsync(struct file *f, loff_t a, loff_t b, int c)
- { return 0; }
- static const struct file_operations
- fops __attribute__ ((unused)) = {
- .fsync = test_fsync,
- };
+ #include <linux/fs.h>
int
main (void)
{
+ insert_inode_locked(NULL);
;
return 0;
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
+ rc=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+ rc=1
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: range" >&5
-$as_echo "range" >&6; }
-$as_echo "#define HAVE_FSYNC_RANGE 1" >>confdefs.h
+fi
+ rm -Rf build
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ if test $rc -ne 0; then :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+ else
+ if test "x$enable_linux_builtin" != xyes; then
+
+ 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 :
+ rc=1
+ else :
+ rc=0
+ fi
+ else :
+ rc=0
+ fi
+ fi
+ if test $rc -ne 0; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ else :
-fi
- rm -Rf build
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+$as_echo "#define HAVE_INSERT_INODE_LOCKED 1" >>confdefs.h
+ fi
+ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sops->evict_inode() exists" >&5
-$as_echo_n "checking whether sops->evict_inode() exists... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether d_make_root() is available" >&5
+$as_echo_n "checking whether d_make_root() is available... " >&6; }
+
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/fs.h>
- void evict_inode (struct inode * t) { return; }
- static struct super_operations sops __attribute__ ((unused)) = {
- .evict_inode = evict_inode,
- };
+ #include <linux/dcache.h>
int
main (void)
{
+ d_make_root(NULL);
;
return 0;
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define HAVE_EVICT_INODE 1" >>confdefs.h
-
-
+ rc=0
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
+ rc=1
fi
rm -Rf build
+ if test $rc -ne 0; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sops->dirty_inode() wants flags" >&5
-$as_echo_n "checking whether sops->dirty_inode() wants flags... " >&6; }
-
-
-cat confdefs.h - <<_ACEOF >conftest.c
+ else
+ if test "x$enable_linux_builtin" != xyes; then
+ 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 :
+ rc=1
+ else :
+ rc=0
+ fi
+ else :
+ rc=0
+ fi
- #include <linux/fs.h>
-
- void dirty_inode(struct inode *a, int b) { return; }
-
- static const struct super_operations
- sops __attribute__ ((unused)) = {
- .dirty_inode = dirty_inode,
- };
-
-int
-main (void)
-{
-
-
- ;
- return 0;
-}
-
-_ACEOF
-
-
-
-cat - <<_ACEOF >conftest.h
-
-_ACEOF
+ fi
+ if test $rc -ne 0; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
- rm -Rf build && mkdir -p build && touch build/conftest.mod.c
- echo "obj-m := conftest.o" >build/Makefile
- modpost_flag=''
- test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
- if { ac_try='cp conftest.c conftest.h build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
+ else :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_DIRTY_INODE_WITH_FLAGS 1" >>confdefs.h
-
-
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-
+$as_echo "#define HAVE_D_MAKE_ROOT 1" >>confdefs.h
-fi
- rm -Rf build
+ fi
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether d_obtain_alias() is available" >&5
+$as_echo_n "checking whether d_obtain_alias() is available... " >&6; }
- { $as_echo "$as_me:${as_lineno-$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
- #include <linux/fs.h>
-
- int nr_cached_objects(struct super_block *sb) { return 0; }
-
- static const struct super_operations
- sops __attribute__ ((unused)) = {
- .nr_cached_objects = nr_cached_objects,
- };
+ #include <linux/dcache.h>
int
main (void)
{
+ d_obtain_alias(NULL);
;
return 0;
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
+ rc=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+ rc=1
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-$as_echo "#define HAVE_NR_CACHED_OBJECTS 1" >>confdefs.h
+fi
+ rm -Rf build
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ if test $rc -ne 0; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
+ else
+ if test "x$enable_linux_builtin" != xyes; then
+
+ 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 :
+ rc=1
+ else :
+ rc=0
+ fi
+ else :
+ rc=0
+ fi
+
+ fi
+ if test $rc -ne 0; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
-fi
- rm -Rf build
+ else :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+$as_echo "#define HAVE_D_OBTAIN_ALIAS 1" >>confdefs.h
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sops->free_cached_objects() exists" >&5
-$as_echo_n "checking whether sops->free_cached_objects() exists... " >&6; }
+ fi
+ fi
-cat confdefs.h - <<_ACEOF >conftest.c
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether d_prune_aliases() is available" >&5
+$as_echo_n "checking whether d_prune_aliases() is available... " >&6; }
- #include <linux/fs.h>
- void free_cached_objects(struct super_block *sb, int x)
- { return; }
+cat confdefs.h - <<_ACEOF >conftest.c
- static const struct super_operations
- sops __attribute__ ((unused)) = {
- .free_cached_objects = free_cached_objects,
- };
+
+ #include <linux/dcache.h>
int
main (void)
{
+ struct inode *ip = NULL;
+ d_prune_aliases(ip);
;
return 0;
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
+ rc=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+ rc=1
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-$as_echo "#define HAVE_FREE_CACHED_OBJECTS 1" >>confdefs.h
+fi
+ rm -Rf build
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ if test $rc -ne 0; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
+ else
+ if test "x$enable_linux_builtin" != xyes; then
+
+ grep -q -E '[[:space:]]d_prune_aliases[[: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_prune_aliases)" \
+ "$LINUX/$file" 2>/dev/null
+ rc=$?
+ if test $rc -eq 0; then
+ export=1
+ break;
+ fi
+ done
+ if test $export -eq 0; then :
+ rc=1
+ else :
+ rc=0
+ fi
+ else :
+ rc=0
+ fi
+
+ fi
+ if test $rc -ne 0; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
-fi
- rm -Rf build
+ else :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+$as_echo "#define HAVE_D_PRUNE_ALIASES 1" >>confdefs.h
+ fi
+ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fops->fallocate() exists" >&5
-$as_echo_n "checking whether fops->fallocate() exists... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether d_set_d_op() is available" >&5
+$as_echo_n "checking whether d_set_d_op() is available... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/fs.h>
+cat confdefs.h - <<_ACEOF >conftest.c
- long test_fallocate(struct file *file, int mode,
- loff_t offset, loff_t len) { return 0; }
- static const struct file_operations
- fops __attribute__ ((unused)) = {
- .fallocate = test_fallocate,
- };
+ #include <linux/dcache.h>
int
main (void)
{
+ d_set_d_op(NULL, NULL);
;
return 0;
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define HAVE_FILE_FALLOCATE 1" >>confdefs.h
-
-
+ rc=0
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
+ rc=1
fi
rm -Rf build
+ if test $rc -ne 0; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->fallocate() exists" >&5
-$as_echo_n "checking whether iops->fallocate() exists... " >&6; }
-
-
-cat confdefs.h - <<_ACEOF >conftest.c
+ else
+ if test "x$enable_linux_builtin" != xyes; then
+ grep -q -E '[[:space:]]d_set_d_op[[: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_set_d_op)" \
+ "$LINUX/$file" 2>/dev/null
+ rc=$?
+ if test $rc -eq 0; then
+ export=1
+ break;
+ fi
+ done
+ if test $export -eq 0; then :
+ rc=1
+ else :
+ rc=0
+ fi
+ else :
+ rc=0
+ fi
- #include <linux/fs.h>
+ fi
+ if test $rc -ne 0; then :
- long test_fallocate(struct inode *inode, int mode,
- loff_t offset, loff_t len) { return 0; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
- static const struct inode_operations
- fops __attribute__ ((unused)) = {
- .fallocate = test_fallocate,
+ else :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_D_SET_D_OP 1" >>confdefs.h
+
+
+ fi
+ fi
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether dops->d_revalidate() takes struct nameidata" >&5
+$as_echo_n "checking whether dops->d_revalidate() takes struct nameidata... " >&6; }
+
+
+cat confdefs.h - <<_ACEOF >conftest.c
+
+
+ #include <linux/dcache.h>
+
+ int revalidate (struct dentry *dentry,
+ struct nameidata *nidata) { return 0; }
+
+ static const struct dentry_operations
+ dops __attribute__ ((unused)) = {
+ .d_revalidate = revalidate,
};
int
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_INODE_FALLOCATE 1" >>confdefs.h
+$as_echo "#define HAVE_D_REVALIDATE_NAMEIDATA 1" >>confdefs.h
else
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->create()/mkdir()/mknod() take umode_t" >&5
-$as_echo_n "checking whether iops->create()/mkdir()/mknod() take umode_t... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether dentry uses const struct dentry_operations" >&5
+$as_echo_n "checking whether dentry uses const struct dentry_operations... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/fs.h>
-
- int mkdir(struct inode *inode, struct dentry *dentry,
- umode_t umode) { return 0; }
+ #include <linux/dcache.h>
- static const struct inode_operations
- iops __attribute__ ((unused)) = {
- .mkdir = mkdir,
+ const struct dentry_operations test_d_op = {
+ .d_revalidate = NULL,
};
int
main (void)
{
+ struct dentry d __attribute__ ((unused));
+
+ d.d_op = &test_d_op;
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_MKDIR_UMODE_T 1" >>confdefs.h
+$as_echo "#define HAVE_CONST_DENTRY_OPERATIONS 1" >>confdefs.h
else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether check_disk_size_change() is available" >&5
+$as_echo_n "checking whether check_disk_size_change() is available... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->lookup() takes struct nameidata" >&5
-$as_echo_n "checking whether iops->lookup() takes struct nameidata... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
- struct dentry *inode_lookup(struct inode *inode,
- struct dentry *dentry, struct nameidata *nidata)
- { return NULL; }
-
- static const struct inode_operations iops
- __attribute__ ((unused)) = {
- .lookup = inode_lookup,
- };
-
int
main (void)
{
+ check_disk_size_change(NULL, NULL);
;
return 0;
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
+ rc=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+ rc=1
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-$as_echo "#define HAVE_LOOKUP_NAMEIDATA 1" >>confdefs.h
+fi
+ rm -Rf build
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ if test $rc -ne 0; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
+ else
+ if test "x$enable_linux_builtin" != xyes; then
+
+ 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 :
+ rc=1
+ else :
+ rc=0
+ fi
+ else :
+ rc=0
+ fi
+
+ fi
+ if test $rc -ne 0; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
-fi
- rm -Rf build
+ else :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+$as_echo "#define HAVE_CHECK_DISK_SIZE_CHANGE 1" >>confdefs.h
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->create() takes struct nameidata" >&5
-$as_echo_n "checking whether iops->create() takes struct nameidata... " >&6; }
+ fi
+ fi
-cat confdefs.h - <<_ACEOF >conftest.c
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether truncate_setsize() is available" >&5
+$as_echo_n "checking whether truncate_setsize() is available... " >&6; }
- #include <linux/fs.h>
- #ifdef HAVE_MKDIR_UMODE_T
- int inode_create(struct inode *inode ,struct dentry *dentry,
- umode_t umode, struct nameidata *nidata) { return 0; }
- #else
- int inode_create(struct inode *inode,struct dentry *dentry,
- int umode, struct nameidata * nidata) { return 0; }
- #endif
+cat confdefs.h - <<_ACEOF >conftest.c
- static const struct inode_operations
- iops __attribute__ ((unused)) = {
- .create = inode_create,
- };
+
+ #include <linux/mm.h>
int
main (void)
{
+ truncate_setsize(NULL, 0);
;
return 0;
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
+ rc=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+ rc=1
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-$as_echo "#define HAVE_CREATE_NAMEIDATA 1" >>confdefs.h
+fi
+ rm -Rf build
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ if test $rc -ne 0; then :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+ else
+ if test "x$enable_linux_builtin" != xyes; then
+
+ 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 :
+ rc=1
+ else :
+ rc=0
+ fi
+ else :
+ rc=0
+ fi
+
+ fi
+ if test $rc -ne 0; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
+ else :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
-fi
- rm -Rf build
+$as_echo "#define HAVE_TRUNCATE_SETSIZE 1" >>confdefs.h
+ fi
+ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->truncate_range() exists" >&5
-$as_echo_n "checking whether iops->truncate_range() exists... " >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether security_inode_init_security wants 6 args" >&5
+$as_echo_n "checking whether security_inode_init_security wants 6 args... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/fs.h>
- void truncate_range(struct inode *inode, loff_t start,
- loff_t end) { return; }
- static struct inode_operations iops __attribute__ ((unused)) = {
- .truncate_range = truncate_range,
- };
+ #include <linux/security.h>
int
main (void)
{
+ struct inode *ip __attribute__ ((unused)) = NULL;
+ struct inode *dip __attribute__ ((unused)) = NULL;
+ const struct qstr *str __attribute__ ((unused)) = NULL;
+ 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;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_INODE_TRUNCATE_RANGE 1" >>confdefs.h
+$as_echo "#define HAVE_6ARGS_SECURITY_INODE_INIT_SECURITY 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether dops->d_automount() exists" >&5
-$as_echo_n "checking whether dops->d_automount() exists... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether security_inode_init_security wants callback" >&5
+$as_echo_n "checking whether security_inode_init_security wants callback... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/dcache.h>
- struct vfsmount *d_automount(struct path *p) { return NULL; }
- struct dentry_operations dops __attribute__ ((unused)) = {
- .d_automount = d_automount,
- };
+ #include <linux/security.h>
int
main (void)
{
+ struct inode *ip __attribute__ ((unused)) = NULL;
+ struct inode *dip __attribute__ ((unused)) = NULL;
+ const struct qstr *str __attribute__ ((unused)) = NULL;
+ initxattrs func __attribute__ ((unused)) = NULL;
- ;
+ security_inode_init_security(ip, dip, str, func, NULL);
+
+ ;
return 0;
}
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_AUTOMOUNT 1" >>confdefs.h
+$as_echo "#define HAVE_CALLBACK_SECURITY_INODE_INIT_SECURITY 1" >>confdefs.h
else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mount_nodev() is available" >&5
+$as_echo_n "checking whether mount_nodev() is available... " >&6; }
- { $as_echo "$as_me:${as_lineno-$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
- #include <linux/exportfs.h>
- 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,
- };
+ #include <linux/fs.h>
int
main (void)
{
+ mount_nodev(NULL, 0, NULL, NULL);
;
return 0;
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
+ rc=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+ rc=1
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-$as_echo "#define HAVE_ENCODE_FH_WITH_INODE 1" >>confdefs.h
+fi
+ rm -Rf build
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ if test $rc -ne 0; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
+ else
+ if test "x$enable_linux_builtin" != xyes; then
+
+ 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 :
+ rc=1
+ else :
+ rc=0
+ fi
+ else :
+ rc=0
+ fi
+
+ fi
+ if test $rc -ne 0; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
-fi
- rm -Rf build
+ else :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+$as_echo "#define HAVE_MOUNT_NODEV 1" >>confdefs.h
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether eops->commit_metadata() exists" >&5
-$as_echo_n "checking whether eops->commit_metadata() exists... " >&6; }
+ fi
+ fi
+
+
+
+ { $as_echo "$as_me:${as_lineno-$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
- #include <linux/exportfs.h>
- int commit_metadata(struct inode *inode) { return 0; }
- static struct export_operations eops __attribute__ ((unused))={
- .commit_metadata = commit_metadata,
+ #include <linux/fs.h>
+
+ int shrink(struct shrinker *s, struct shrink_control *sc)
+ { return 0; }
+
+ static const struct super_block
+ sb __attribute__ ((unused)) = {
+ .s_shrink.shrink = shrink,
+ .s_shrink.seeks = DEFAULT_SEEKS,
+ .s_shrink.batch = 0,
};
int
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_COMMIT_METADATA 1" >>confdefs.h
+$as_echo "#define HAVE_SHRINK 1" >>confdefs.h
+
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether clear_inode() is available" >&5
-$as_echo_n "checking whether clear_inode() is available... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether shrink_control has nid" >&5
+$as_echo_n "checking whether shrink_control has nid... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
main (void)
{
- clear_inode(NULL);
+ struct shrink_control sc __attribute__ ((unused));
+ unsigned long scnidsize __attribute__ ((unused)) =
+ sizeof(sc.nid);
;
return 0;
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- rc=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- rc=1
-
-
-fi
- rm -Rf build
-
-
- if test $rc -ne 0; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
- else
- if test "x$enable_linux_builtin" != xyes; then
+$as_echo "#define SHRINK_CONTROL_HAS_NID 1" >>confdefs.h
- 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 :
- rc=1
- else :
- rc=0
- fi
- else :
- rc=0
- fi
- fi
- if test $rc -ne 0; then :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
- else :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-$as_echo "#define HAVE_CLEAR_INODE 1" >>confdefs.h
+fi
+ rm -Rf build
- fi
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether insert_inode_locked() is available" >&5
-$as_echo_n "checking whether insert_inode_locked() is available... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether super_block has s_instances list_head" >&5
+$as_echo_n "checking whether super_block has s_instances list_head... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
main (void)
{
- insert_inode_locked(NULL);
+ struct super_block sb __attribute__ ((unused));
+
+ INIT_LIST_HEAD(&sb.s_instances);
;
return 0;
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- rc=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- rc=1
-
-
-fi
- rm -Rf build
-
-
- if test $rc -ne 0; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
- else
- if test "x$enable_linux_builtin" != xyes; then
+$as_echo "#define HAVE_S_INSTANCES_LIST_HEAD 1" >>confdefs.h
- 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 :
- rc=1
- else :
- rc=0
- fi
- else :
- rc=0
- fi
- fi
- if test $rc -ne 0; then :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
- else :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define HAVE_INSERT_INODE_LOCKED 1" >>confdefs.h
- fi
- fi
+fi
+ rm -Rf build
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether d_make_root() is available" >&5
-$as_echo_n "checking whether d_make_root() is available... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether super_block has s_d_op" >&5
+$as_echo_n "checking whether super_block has s_d_op... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/dcache.h>
+ #include <linux/fs.h>
int
main (void)
{
- d_make_root(NULL);
+ struct super_block sb __attribute__ ((unused));
+ sb.s_d_op = NULL;
;
return 0;
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- rc=0
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_S_D_OP 1" >>confdefs.h
+
+
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- rc=1
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
fi
rm -Rf build
- if test $rc -ne 0; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- else
- if test "x$enable_linux_builtin" != xyes; then
-
- 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 :
- rc=1
- else :
- rc=0
- fi
- else :
- rc=0
- fi
-
- fi
- if test $rc -ne 0; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
- else :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define HAVE_D_MAKE_ROOT 1" >>confdefs.h
-
-
- fi
- fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether d_obtain_alias() is available" >&5
-$as_echo_n "checking whether d_obtain_alias() is available... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether bdi_setup_and_register() wants 2 args" >&5
+$as_echo_n "checking whether bdi_setup_and_register() wants 2 args... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/dcache.h>
+ #include <linux/backing-dev.h>
+ struct backing_dev_info bdi;
int
main (void)
{
- d_obtain_alias(NULL);
+ char *name = "bdi";
+ int error __attribute__((unused)) =
+ bdi_setup_and_register(&bdi, name);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
-
- else
- if test "x$enable_linux_builtin" != xyes; then
-
- 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 :
- rc=1
- else :
- rc=0
- fi
- else :
- rc=0
- fi
-
- fi
- if test $rc -ne 0; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
- else :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define HAVE_D_OBTAIN_ALIAS 1" >>confdefs.h
-
-
- fi
- fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether d_prune_aliases() is available" >&5
-$as_echo_n "checking whether d_prune_aliases() is available... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether bdi_setup_and_register() wants 3 args" >&5
+$as_echo_n "checking whether bdi_setup_and_register() wants 3 args... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/dcache.h>
+ #include <linux/backing-dev.h>
+ struct backing_dev_info bdi;
int
main (void)
{
- struct inode *ip = NULL;
- d_prune_aliases(ip);
+ char *name = "bdi";
+ unsigned int cap = BDI_CAP_MAP_COPY;
+ int error __attribute__((unused)) =
+ bdi_setup_and_register(&bdi, name, cap);
;
return 0;
if test $rc -ne 0; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
else
if test "x$enable_linux_builtin" != xyes; then
- grep -q -E '[[:space:]]d_prune_aliases[[:space:]]' \
+ grep -q -E '[[:space:]]bdi_setup_and_register[[:space:]]' \
$LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null
rc=$?
if test $rc -ne 0; then
export=0
- for file in fs/dcache.c; do
- grep -q -E "EXPORT_SYMBOL.*(d_prune_aliases)" \
+ 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
fi
if test $rc -ne 0; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
else :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_D_PRUNE_ALIASES 1" >>confdefs.h
+$as_echo "#define HAVE_3ARGS_BDI_SETUP_AND_REGISTER 1" >>confdefs.h
fi
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether d_set_d_op() is available" >&5
-$as_echo_n "checking whether d_set_d_op() is available... " >&6; }
+ else
+ if test "x$enable_linux_builtin" != xyes; then
+
+ 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 :
+ rc=1
+ else :
+ rc=0
+ fi
+ else :
+ rc=0
+ fi
+
+ fi
+ if test $rc -ne 0; then :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether bdi_setup_and_register() wants 3 args" >&5
+$as_echo_n "checking whether bdi_setup_and_register() wants 3 args... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/dcache.h>
+ #include <linux/backing-dev.h>
+ struct backing_dev_info bdi;
int
main (void)
{
- d_set_d_op(NULL, NULL);
+ char *name = "bdi";
+ unsigned int cap = BDI_CAP_MAP_COPY;
+ int error __attribute__((unused)) =
+ bdi_setup_and_register(&bdi, name, cap);
;
return 0;
if test $rc -ne 0; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
else
if test "x$enable_linux_builtin" != xyes; then
- grep -q -E '[[:space:]]d_set_d_op[[:space:]]' \
+ grep -q -E '[[:space:]]bdi_setup_and_register[[:space:]]' \
$LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null
rc=$?
if test $rc -ne 0; then
export=0
- for file in fs/dcache.c; do
- grep -q -E "EXPORT_SYMBOL.*(d_set_d_op)" \
+ 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
fi
if test $rc -ne 0; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
else :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_D_SET_D_OP 1" >>confdefs.h
+$as_echo "#define HAVE_3ARGS_BDI_SETUP_AND_REGISTER 1" >>confdefs.h
fi
fi
+ else :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether dops->d_revalidate() takes struct nameidata" >&5
-$as_echo_n "checking whether dops->d_revalidate() takes struct nameidata... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+$as_echo "#define HAVE_2ARGS_BDI_SETUP_AND_REGISTER 1" >>confdefs.h
-cat confdefs.h - <<_ACEOF >conftest.c
+ fi
+ fi
- #include <linux/dcache.h>
- int revalidate (struct dentry *dentry,
- struct nameidata *nidata) { return 0; }
- static const struct dentry_operations
- dops __attribute__ ((unused)) = {
- .d_revalidate = revalidate,
- };
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether set_nlink() is available" >&5
+$as_echo_n "checking whether set_nlink() is available... " >&6; }
+
+
+cat confdefs.h - <<_ACEOF >conftest.c
+
+
+ #include <linux/fs.h>
int
main (void)
{
+ struct inode node;
+ unsigned int link = 0;
+ (void) set_nlink(&node, link);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_D_REVALIDATE_NAMEIDATA 1" >>confdefs.h
+$as_echo "#define HAVE_SET_NLINK 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether dentry uses const struct dentry_operations" >&5
-$as_echo_n "checking whether dentry uses const struct dentry_operations... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether elevator_change() is available" >&5
+$as_echo_n "checking whether elevator_change() is available... " >&6; }
+ tmp_flags="$EXTRA_KCFLAGS"
+ EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}"
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/dcache.h>
-
- const struct dentry_operations test_d_op = {
- .d_revalidate = NULL,
- };
+ #include <linux/blkdev.h>
+ #include <linux/elevator.h>
int
main (void)
{
- struct dentry d __attribute__ ((unused));
-
- d.d_op = &test_d_op;
+ int ret;
+ struct request_queue *q = NULL;
+ char *elevator = NULL;
+ ret = elevator_change(q, elevator);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_CONST_DENTRY_OPERATIONS 1" >>confdefs.h
+$as_echo "#define HAVE_ELEVATOR_CHANGE 1" >>confdefs.h
else
rm -Rf build
+ EXTRA_KCFLAGS="$tmp_flags"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether check_disk_size_change() is available" >&5
-$as_echo_n "checking whether check_disk_size_change() is available... " >&6; }
-
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sget() wants 5 args" >&5
+$as_echo_n "checking whether sget() wants 5 args... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
main (void)
{
- check_disk_size_change(NULL, NULL);
+ struct file_system_type *type = NULL;
+ int (*test)(struct super_block *,void *) = NULL;
+ int (*set)(struct super_block *,void *) = NULL;
+ int flags = 0;
+ void *data = NULL;
+ (void) sget(type, test, set, flags, data);
;
return 0;
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- rc=0
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_5ARG_SGET 1" >>confdefs.h
+
+
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- rc=1
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
fi
rm -Rf build
- if test $rc -ne 0; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
- else
- if test "x$enable_linux_builtin" != xyes; then
-
- 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 :
- rc=1
- else :
- rc=0
- fi
- else :
- rc=0
- fi
-
- fi
- if test $rc -ne 0; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
- else :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define HAVE_CHECK_DISK_SIZE_CHANGE 1" >>confdefs.h
-
-
- fi
- fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether truncate_setsize() is available" >&5
-$as_echo_n "checking whether truncate_setsize() is available... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lseek_execute() is available" >&5
+$as_echo_n "checking whether lseek_execute() is available... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/mm.h>
+ #include <linux/fs.h>
int
main (void)
{
- truncate_setsize(NULL, 0);
+ struct file *fp __attribute__ ((unused)) = NULL;
+ struct inode *ip __attribute__ ((unused)) = NULL;
+ loff_t offset __attribute__ ((unused)) = 0;
+ loff_t maxsize __attribute__ ((unused)) = 0;
+
+ lseek_execute(fp, ip, offset, maxsize);
;
return 0;
else
if test "x$enable_linux_builtin" != xyes; then
- grep -q -E '[[:space:]]truncate_setsize[[:space:]]' \
+ grep -q -E '[[:space:]]lseek_exclusive[[: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)" \
+ for file in fs/read_write.c; do
+ grep -q -E "EXPORT_SYMBOL.*(lseek_exclusive)" \
"$LINUX/$file" 2>/dev/null
rc=$?
if test $rc -eq 0; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_TRUNCATE_SETSIZE 1" >>confdefs.h
+$as_echo "#define HAVE_LSEEK_EXECUTE 1" >>confdefs.h
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether security_inode_init_security wants 6 args" >&5
-$as_echo_n "checking whether security_inode_init_security wants 6 args... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fops->iterate() is available" >&5
+$as_echo_n "checking whether fops->iterate() is available... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/security.h>
+ #include <linux/fs.h>
+ int iterate(struct file *filp, struct dir_context * context)
+ { return 0; }
+
+ static const struct file_operations fops
+ __attribute__ ((unused)) = {
+ .iterate = iterate,
+ };
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;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_6ARGS_SECURITY_INODE_INIT_SECURITY 1" >>confdefs.h
+$as_echo "#define HAVE_VFS_ITERATE 1" >>confdefs.h
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
-
-
-fi
- rm -Rf build
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether security_inode_init_security wants callback" >&5
-$as_echo_n "checking whether security_inode_init_security wants callback... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fops->readdir() is available" >&5
+$as_echo_n "checking whether fops->readdir() is available... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/security.h>
+ #include <linux/fs.h>
+ int readdir(struct file *filp, void *entry, filldir_t func)
+ { return 0; }
+
+ static const struct file_operations fops
+ __attribute__ ((unused)) = {
+ .readdir = readdir,
+ };
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;
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_CALLBACK_SECURITY_INODE_INIT_SECURITY 1" >>confdefs.h
+$as_echo "#define HAVE_VFS_READDIR 1" >>confdefs.h
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ as_fn_error $? "no; file a bug report with ZFSOnLinux" "$LINENO" 5
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mount_nodev() is available" >&5
-$as_echo_n "checking whether mount_nodev() is available... " >&6; }
+fi
+ rm -Rf build
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fops->read/write_iter() are available" >&5
+$as_echo_n "checking whether fops->read/write_iter() are available... " >&6; }
+
+
cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
+ ssize_t test_read(struct kiocb *kiocb, struct iov_iter *to)
+ { return 0; }
+ ssize_t test_write(struct kiocb *kiocb, struct iov_iter *from)
+ { return 0; }
+
+ static const struct file_operations
+ fops __attribute__ ((unused)) = {
+ .read_iter = test_read,
+ .write_iter = test_write,
+ };
+
int
main (void)
{
- mount_nodev(NULL, 0, NULL, NULL);
;
return 0;
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- rc=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- rc=1
-
-
-fi
- rm -Rf build
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
- if test $rc -ne 0; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
- else
- if test "x$enable_linux_builtin" != xyes; then
+$as_echo "#define HAVE_VFS_RW_ITERATE 1" >>confdefs.h
- 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 :
- rc=1
- else :
- rc=0
- fi
- else :
- rc=0
- fi
- fi
- if test $rc -ne 0; then :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
- else :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-$as_echo "#define HAVE_MOUNT_NODEV 1" >>confdefs.h
+fi
+ rm -Rf build
- fi
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether super_block has s_shrink" >&5
-$as_echo_n "checking whether super_block has s_shrink... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether kmap_atomic wants 1 args" >&5
+$as_echo_n "checking whether kmap_atomic wants 1 args... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/fs.h>
-
- int shrink(struct shrinker *s, struct shrink_control *sc)
- { return 0; }
-
- static const struct super_block
- sb __attribute__ ((unused)) = {
- .s_shrink.shrink = shrink,
- .s_shrink.seeks = DEFAULT_SEEKS,
- .s_shrink.batch = 0,
- };
+ #include <linux/pagemap.h>
int
main (void)
{
+ struct page page;
+ kmap_atomic(&page);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_SHRINK 1" >>confdefs.h
-
+$as_echo "#define HAVE_1ARG_KMAP_ATOMIC 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether shrink_control has nid" >&5
-$as_echo_n "checking whether shrink_control has nid... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether follow_down_one() is available" >&5
+$as_echo_n "checking whether follow_down_one() is available... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/fs.h>
+ #include <linux/namei.h>
int
main (void)
{
- struct shrink_control sc __attribute__ ((unused));
- unsigned long scnidsize __attribute__ ((unused)) =
- sizeof(sc.nid);
+ struct path *p = NULL;
+ follow_down_one(p);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define SHRINK_CONTROL_HAS_NID 1" >>confdefs.h
+$as_echo "#define HAVE_FOLLOW_DOWN_ONE 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether super_block has s_instances list_head" >&5
-$as_echo_n "checking whether super_block has s_instances list_head... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether make_request_fn() returns int" >&5
+$as_echo_n "checking whether make_request_fn() returns int... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/fs.h>
+ #include <linux/blkdev.h>
+
+ int make_request(struct request_queue *q, struct bio *bio)
+ {
+ return (0);
+ }
int
main (void)
{
- struct super_block sb __attribute__ ((unused));
-
- INIT_LIST_HEAD(&sb.s_instances);
+ blk_queue_make_request(NULL, &make_request);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_S_INSTANCES_LIST_HEAD 1" >>confdefs.h
+$as_echo "#define MAKE_REQUEST_FN_RET int" >>confdefs.h
+
+
+$as_echo "#define HAVE_MAKE_REQUEST_FN_RET_INT 1" >>confdefs.h
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
-
-
-
-fi
- rm -Rf build
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether super_block has s_d_op" >&5
-$as_echo_n "checking whether super_block has s_d_op... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether make_request_fn() returns void" >&5
+$as_echo_n "checking whether make_request_fn() returns void... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/fs.h>
+ #include <linux/blkdev.h>
+
+ void make_request(struct request_queue *q, struct bio *bio)
+ {
+ return;
+ }
int
main (void)
{
- struct super_block sb __attribute__ ((unused));
- sb.s_d_op = NULL;
+ blk_queue_make_request(NULL, &make_request);
;
return 0;
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_S_D_OP 1" >>confdefs.h
+$as_echo "#define MAKE_REQUEST_FN_RET void" >>confdefs.h
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ as_fn_error $? "no - Please file a bug report at
+ https://github.com/zfsonlinux/zfs/issues/new" "$LINENO" 5
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether bdi_setup_and_register() wants 2 args" >&5
-$as_echo_n "checking whether bdi_setup_and_register() wants 2 args... " >&6; }
+fi
+ rm -Rf build
-cat confdefs.h - <<_ACEOF >conftest.c
-
-
- #include <linux/backing-dev.h>
-
-int
-main (void)
-{
-
- struct backing_dev_info bdi;
- char *name = "bdi";
- int error __attribute__((unused)) =
- bdi_setup_and_register(&bdi, name);
-
- ;
- return 0;
-}
-
-_ACEOF
-
-
-
-cat - <<_ACEOF >conftest.h
-
-_ACEOF
-
-
- rm -Rf build && mkdir -p build && touch build/conftest.mod.c
- echo "obj-m := conftest.o" >build/Makefile
- modpost_flag=''
- test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
- if { ac_try='cp conftest.c conftest.h build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
- rc=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- rc=1
-
-fi
- rm -Rf build
-
-
- if test $rc -ne 0; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether bdi_setup_and_register() wants 3 args" >&5
-$as_echo_n "checking whether bdi_setup_and_register() wants 3 args... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether generic IO accounting symbols are avaliable" >&5
+$as_echo_n "checking whether generic IO accounting symbols are avaliable... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/backing-dev.h>
+ #include <linux/bio.h>
+
+ void (*generic_start_io_acct_f)(int, unsigned long,
+ struct hd_struct *) = &generic_start_io_acct;
+ void (*generic_end_io_acct_f)(int, struct hd_struct *,
+ unsigned long) = &generic_end_io_acct;
int
main (void)
{
- struct backing_dev_info bdi;
- char *name = "bdi";
- unsigned int cap = BDI_CAP_MAP_COPY;
- int error __attribute__((unused)) =
- bdi_setup_and_register(&bdi, name, cap);
+ generic_start_io_acct(0, 0, NULL);
+ generic_end_io_acct(0, NULL, 0);
;
return 0;
if test $rc -ne 0; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
else
if test "x$enable_linux_builtin" != xyes; then
- grep -q -E '[[:space:]]bdi_setup_and_register[[:space:]]' \
+ grep -q -E '[[:space:]]generic_start_io_acct[[: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)" \
+ for file in block/bio.c; do
+ grep -q -E "EXPORT_SYMBOL.*(generic_start_io_acct)" \
"$LINUX/$file" 2>/dev/null
rc=$?
if test $rc -eq 0; then
fi
if test $rc -ne 0; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
else :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_3ARGS_BDI_SETUP_AND_REGISTER 1" >>confdefs.h
+$as_echo "#define HAVE_GENERIC_IO_ACCT 1" >>confdefs.h
fi
fi
- else
- if test "x$enable_linux_builtin" != xyes; then
-
- 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 :
- rc=1
- else :
- rc=0
- fi
- else :
- rc=0
- fi
-
- fi
- if test $rc -ne 0; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether bdi_setup_and_register() wants 3 args" >&5
-$as_echo_n "checking whether bdi_setup_and_register() wants 3 args... " >&6; }
+ if test "$LINUX_OBJ" != "$LINUX"; then :
+ KERNELMAKE_PARAMS="$KERNELMAKE_PARAMS O=$LINUX_OBJ"
+fi
-cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/backing-dev.h>
+ KERNELCPPFLAGS="$KERNELCPPFLAGS $NO_UNUSED_BUT_SET_VARIABLE"
+ KERNELCPPFLAGS="$KERNELCPPFLAGS $NO_BOOL_COMPARE"
+ KERNELCPPFLAGS="$KERNELCPPFLAGS -DHAVE_SPL -D_KERNEL"
+ KERNELCPPFLAGS="$KERNELCPPFLAGS -DTEXT_DOMAIN=\\\"zfs-linux-kernel\\\""
-int
-main (void)
-{
- struct backing_dev_info bdi;
- char *name = "bdi";
- unsigned int cap = BDI_CAP_MAP_COPY;
- int error __attribute__((unused)) =
- bdi_setup_and_register(&bdi, name, cap);
+ ;;
+ user)
- ;
- return 0;
-}
-_ACEOF
+# Check whether --with-mounthelperdir was given.
+if test "${with_mounthelperdir+set}" = set; then :
+ withval=$with_mounthelperdir; mounthelperdir=$withval
+else
+ mounthelperdir=/sbin
+fi
-cat - <<_ACEOF >conftest.h
-_ACEOF
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for udev directories" >&5
+$as_echo_n "checking for udev directories... " >&6; }
- rm -Rf build && mkdir -p build && touch build/conftest.mod.c
- echo "obj-m := conftest.o" >build/Makefile
- modpost_flag=''
- test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
- if { ac_try='cp conftest.c conftest.h build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
- rc=0
+# Check whether --with-udevdir was given.
+if test "${with_udevdir+set}" = set; then :
+ withval=$with_udevdir; udevdir=$withval
else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- rc=1
+ udevdir=check
+fi
-fi
- rm -Rf build
+ if test "x$udevdir" = xcheck; then :
+ path1=/lib/udev
+ path2=/usr/lib/udev
+ default=$path2
- if test $rc -ne 0; then :
+ if test -d "$path1"; then :
+ udevdir="$path1"
+else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ if test -d "$path2"; then :
+ udevdir="$path2"
+else
+ udevdir="$default"
+fi
- else
- if test "x$enable_linux_builtin" != xyes; then
+fi
- 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 :
- rc=1
- else :
- rc=0
- fi
- else :
- rc=0
- fi
+fi
- fi
- if test $rc -ne 0; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+# Check whether --with-udevruledir was given.
+if test "${with_udevruledir+set}" = set; then :
+ withval=$with_udevruledir; udevruledir=$withval
+else
+ udevruledir="${udevdir}/rules.d"
+fi
- else :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-$as_echo "#define HAVE_3ARGS_BDI_SETUP_AND_REGISTER 1" >>confdefs.h
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $udevdir;$udevruledir" >&5
+$as_echo "$udevdir;$udevruledir" >&6; }
- fi
- fi
+ # Check whether --enable-systemd was given.
+if test "${enable_systemd+set}" = set; then :
+ enableval=$enable_systemd;
+else
+ enable_systemd=yes
+fi
- else :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-$as_echo "#define HAVE_2ARGS_BDI_SETUP_AND_REGISTER 1" >>confdefs.h
+# Check whether --with-systemdunitdir was given.
+if test "${with_systemdunitdir+set}" = set; then :
+ withval=$with_systemdunitdir; systemdunitdir=$withval
+else
+ systemdunitdir=/usr/lib/systemd/system
+fi
- fi
- fi
+# Check whether --with-systemdpresetdir was given.
+if test "${with_systemdpresetdir+set}" = set; then :
+ withval=$with_systemdpresetdir; systemdpresetdir=$withval
+else
+ systemdpresetdir=/usr/lib/systemd/system-preset
+fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether set_nlink() is available" >&5
-$as_echo_n "checking whether set_nlink() is available... " >&6; }
+# Check whether --with-systemdmodulesloaddir was given.
+if test "${with_systemdmodulesloaddir+set}" = set; then :
+ withval=$with_systemdmodulesloaddir; systemdmoduleloaddir=$withval
+else
+ systemdmodulesloaddir=/usr/lib/modules-load.d
+fi
-cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/fs.h>
-
-int
-main (void)
-{
-
- struct inode node;
- unsigned int link = 0;
- (void) set_nlink(&node, link);
-
- ;
- return 0;
-}
-
-_ACEOF
+ if test "x$enable_systemd" = xyes; then :
+ ZFS_INIT_SYSTEMD=systemd
+ ZFS_MODULE_LOAD=modules-load.d
+ modulesloaddir=$systemdmodulesloaddir
+fi
-cat - <<_ACEOF >conftest.h
-_ACEOF
- rm -Rf build && mkdir -p build && touch build/conftest.mod.c
- echo "obj-m := conftest.o" >build/Makefile
- modpost_flag=''
- test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
- if { ac_try='cp conftest.c conftest.h build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-$as_echo "#define HAVE_SET_NLINK 1" >>confdefs.h
+ # Check whether --enable-sysvinit was given.
+if test "${enable_sysvinit+set}" = set; then :
+ enableval=$enable_sysvinit;
else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
+ enable_sysvinit=yes
+fi
+ if test "x$enable_sysvinit" = xyes; then :
+ ZFS_INIT_SYSV=init.d
fi
- rm -Rf build
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether elevator_change() is available" >&5
-$as_echo_n "checking whether elevator_change() is available... " >&6; }
- tmp_flags="$EXTRA_KCFLAGS"
- EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dracut directory" >&5
+$as_echo_n "checking for dracut directory... " >&6; }
+# Check whether --with-dracutdir was given.
+if test "${with_dracutdir+set}" = set; then :
+ withval=$with_dracutdir; dracutdir=$withval
+else
+ dracutdir=check
+fi
-cat confdefs.h - <<_ACEOF >conftest.c
+ if test "x$dracutdir" = xcheck; then :
- #include <linux/blkdev.h>
- #include <linux/elevator.h>
+ path1=/usr/share/dracut
+ path2=/usr/lib/dracut
+ default=$path2
-int
-main (void)
-{
+ if test -d "$path1"; then :
+ dracutdir="$path1"
+else
- int ret;
- struct request_queue *q = NULL;
- char *elevator = NULL;
- ret = elevator_change(q, elevator);
+ if test -d "$path2"; then :
+ dracutdir="$path2"
+else
+ dracutdir="$default"
+fi
- ;
- return 0;
-}
+fi
-_ACEOF
+fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dracutdir" >&5
+$as_echo "$dracutdir" >&6; }
-cat - <<_ACEOF >conftest.h
-_ACEOF
+ { $as_echo "$as_me:${as_lineno-$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
- rm -Rf build && mkdir -p build && touch build/conftest.mod.c
- echo "obj-m := conftest.o" >build/Makefile
- modpost_flag=''
- test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
- if { ac_try='cp conftest.c conftest.h build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TARGET_ASM_DIR" >&5
+$as_echo "$TARGET_ASM_DIR" >&6; }
-$as_echo "#define HAVE_ELEVATOR_CHANGE 1" >>confdefs.h
+ ZLIB=
+
+ ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default"
+if test "x$ac_cv_header_zlib_h" = xyes; then :
else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "
+ *** zlib.h missing, zlib-devel package required
+See \`config.log' for more details" "$LINENO" 5; }
+fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for compress2 in -lz" >&5
+$as_echo_n "checking for compress2 in -lz... " >&6; }
+if ${ac_cv_lib_z_compress2+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lz $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* 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
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_z_compress2=yes
+else
+ ac_cv_lib_z_compress2=no
fi
- rm -Rf build
-
-
- EXTRA_KCFLAGS="$tmp_flags"
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sget() wants 5 args" >&5
-$as_echo_n "checking whether sget() wants 5 args... " >&6; }
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_compress2" >&5
+$as_echo "$ac_cv_lib_z_compress2" >&6; }
+if test "x$ac_cv_lib_z_compress2" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBZ 1
+_ACEOF
+ LIBS="-lz $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.c
+else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "
+ *** compress2() missing, zlib-devel package required
+See \`config.log' for more details" "$LINENO" 5; }
+fi
- #include <linux/fs.h>
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uncompress in -lz" >&5
+$as_echo_n "checking for uncompress in -lz... " >&6; }
+if ${ac_cv_lib_z_uncompress+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lz $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* 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 (void)
+main ()
{
-
- struct file_system_type *type = NULL;
- int (*test)(struct super_block *,void *) = NULL;
- int (*set)(struct super_block *,void *) = NULL;
- int flags = 0;
- void *data = NULL;
- (void) sget(type, test, set, flags, data);
-
+return uncompress ();
;
return 0;
}
-
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_z_uncompress=yes
+else
+ ac_cv_lib_z_uncompress=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_uncompress" >&5
+$as_echo "$ac_cv_lib_z_uncompress" >&6; }
+if test "x$ac_cv_lib_z_uncompress" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBZ 1
_ACEOF
+ LIBS="-lz $LIBS"
-
-cat - <<_ACEOF >conftest.h
-
-_ACEOF
+else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "
+ *** uncompress() missing, zlib-devel package required
+See \`config.log' for more details" "$LINENO" 5; }
+fi
- rm -Rf build && mkdir -p build && touch build/conftest.mod.c
- echo "obj-m := conftest.o" >build/Makefile
- modpost_flag=''
- test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
- if { ac_try='cp conftest.c conftest.h build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define HAVE_5ARG_SGET 1" >>confdefs.h
-
-
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-
-
-fi
- rm -Rf build
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lseek_execute() is available" >&5
-$as_echo_n "checking whether lseek_execute() is available... " >&6; }
-
-
-
-cat confdefs.h - <<_ACEOF >conftest.c
-
-
- #include <linux/fs.h>
-
-int
-main (void)
-{
-
- struct file *fp __attribute__ ((unused)) = NULL;
- struct inode *ip __attribute__ ((unused)) = NULL;
- loff_t offset __attribute__ ((unused)) = 0;
- loff_t maxsize __attribute__ ((unused)) = 0;
-
- lseek_execute(fp, ip, offset, maxsize);
-
- ;
- return 0;
-}
-
-_ACEOF
-
-
-
-cat - <<_ACEOF >conftest.h
-
-_ACEOF
-
-
- rm -Rf build && mkdir -p build && touch build/conftest.mod.c
- echo "obj-m := conftest.o" >build/Makefile
- modpost_flag=''
- test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
- if { ac_try='cp conftest.c conftest.h build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
- rc=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- rc=1
-
-
-fi
- rm -Rf build
-
-
- if test $rc -ne 0; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
- else
- if test "x$enable_linux_builtin" != xyes; then
-
- grep -q -E '[[:space:]]lseek_exclusive[[:space:]]' \
- $LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null
- rc=$?
- if test $rc -ne 0; then
- export=0
- for file in fs/read_write.c; do
- grep -q -E "EXPORT_SYMBOL.*(lseek_exclusive)" \
- "$LINUX/$file" 2>/dev/null
- rc=$?
- if test $rc -eq 0; then
- export=1
- break;
- fi
- done
- if test $export -eq 0; then :
- rc=1
- else :
- rc=0
- fi
- else :
- rc=0
- fi
-
- fi
- if test $rc -ne 0; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
- else :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define HAVE_LSEEK_EXECUTE 1" >>confdefs.h
-
-
- fi
- fi
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fops->iterate() is available" >&5
-$as_echo_n "checking whether fops->iterate() is available... " >&6; }
-
-
-cat confdefs.h - <<_ACEOF >conftest.c
-
-
- #include <linux/fs.h>
- int iterate(struct file *filp, struct dir_context * context)
- { return 0; }
-
- static const struct file_operations fops
- __attribute__ ((unused)) = {
- .iterate = iterate,
- };
-
-int
-main (void)
-{
-
-
- ;
- return 0;
-}
-
-_ACEOF
-
-
-
-cat - <<_ACEOF >conftest.h
-
-_ACEOF
-
-
- rm -Rf build && mkdir -p build && touch build/conftest.mod.c
- echo "obj-m := conftest.o" >build/Makefile
- modpost_flag=''
- test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
- if { ac_try='cp conftest.c conftest.h build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define HAVE_VFS_ITERATE 1" >>confdefs.h
-
-
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fops->readdir() is available" >&5
-$as_echo_n "checking whether fops->readdir() is available... " >&6; }
-
-
-cat confdefs.h - <<_ACEOF >conftest.c
-
-
- #include <linux/fs.h>
- int readdir(struct file *filp, void *entry, filldir_t func)
- { return 0; }
-
- static const struct file_operations fops
- __attribute__ ((unused)) = {
- .readdir = readdir,
- };
-
-int
-main (void)
-{
-
-
- ;
- return 0;
-}
-
-_ACEOF
-
-
-
-cat - <<_ACEOF >conftest.h
-
-_ACEOF
-
-
- rm -Rf build && mkdir -p build && touch build/conftest.mod.c
- echo "obj-m := conftest.o" >build/Makefile
- modpost_flag=''
- test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
- if { ac_try='cp conftest.c conftest.h build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define HAVE_VFS_READDIR 1" >>confdefs.h
-
-
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- as_fn_error $? "no; file a bug report with ZFSOnLinux" "$LINENO" 5
-
-
-
-fi
- rm -Rf build
-
-
-
-
-
-
-fi
- rm -Rf build
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fops->read/write_iter() are available" >&5
-$as_echo_n "checking whether fops->read/write_iter() are available... " >&6; }
-
-
-cat confdefs.h - <<_ACEOF >conftest.c
-
-
- #include <linux/fs.h>
-
- ssize_t test_read(struct kiocb *kiocb, struct iov_iter *to)
- { return 0; }
- ssize_t test_write(struct kiocb *kiocb, struct iov_iter *from)
- { return 0; }
-
- static const struct file_operations
- fops __attribute__ ((unused)) = {
- .read_iter = test_read,
- .write_iter = test_write,
- };
-
-int
-main (void)
-{
-
-
- ;
- return 0;
-}
-
-_ACEOF
-
-
-
-cat - <<_ACEOF >conftest.h
-
-_ACEOF
-
-
- rm -Rf build && mkdir -p build && touch build/conftest.mod.c
- echo "obj-m := conftest.o" >build/Makefile
- modpost_flag=''
- test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
- if { ac_try='cp conftest.c conftest.h build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define HAVE_VFS_RW_ITERATE 1" >>confdefs.h
-
-
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- { $as_echo "$as_me:${as_lineno-$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-mounthelperdir was given.
-if test "${with_mounthelperdir+set}" = set; then :
- withval=$with_mounthelperdir; mounthelperdir=$withval
-else
- mounthelperdir=$sbindir
-fi
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for udev directories" >&5
-$as_echo_n "checking for udev directories... " >&6; }
-
-# Check whether --with-udevdir was given.
-if test "${with_udevdir+set}" = set; then :
- withval=$with_udevdir; udevdir=$withval
-else
- udevdir=check
-fi
-
-
- if test "x$udevdir" = xcheck; then :
-
- path1=/lib/udev
- path2=/usr/lib/udev
- default=$path2
-
- if test -d "$path1"; then :
- udevdir="$path1"
-else
-
- if test -d "$path2"; then :
- udevdir="$path2"
-else
- udevdir="$default"
-fi
-
-fi
-
-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:${as_lineno-$LINENO}: result: $udevdir;$udevruledir" >&5
-$as_echo "$udevdir;$udevruledir" >&6; }
-
-
- # Check whether --enable-systemd was given.
-if test "${enable_systemd+set}" = set; then :
- enableval=$enable_systemd;
-else
- enable_systemd=yes
-fi
-
-
-
-# Check whether --with-systemdunitdir was given.
-if test "${with_systemdunitdir+set}" = set; then :
- withval=$with_systemdunitdir; systemdunitdir=$withval
-else
- systemdunitdir=/usr/lib/systemd/system
-fi
-
-
-
-# Check whether --with-systemdpresetdir was given.
-if test "${with_systemdpresetdir+set}" = set; then :
- withval=$with_systemdpresetdir; systemdpresetdir=$withval
-else
- systemdpresetdir=/usr/lib/systemd/system-preset
-fi
-
-
-
-# Check whether --with-systemdmodulesloaddir was given.
-if test "${with_systemdmodulesloaddir+set}" = set; then :
- withval=$with_systemdmodulesloaddir; systemdmoduleloaddir=$withval
-else
- systemdmodulesloaddir=/usr/lib/modules-load.d
-fi
-
-
-
- if test "x$enable_systemd" = xyes; then :
-
- ZFS_INIT_SYSTEMD=systemd
- ZFS_MODULE_LOAD=modules-load.d
- modulesloaddir=$systemdmodulesloaddir
-
-fi
-
-
-
-
-
-
-
-
- # Check whether --enable-sysvinit was given.
-if test "${enable_sysvinit+set}" = set; then :
- enableval=$enable_sysvinit;
-else
- enable_sysvinit=yes
-fi
-
-
- if test "x$enable_sysvinit" = xyes; then :
- ZFS_INIT_SYSV=init.d
-fi
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dracut directory" >&5
-$as_echo_n "checking for dracut directory... " >&6; }
-
-# Check whether --with-dracutdir was given.
-if test "${with_dracutdir+set}" = set; then :
- withval=$with_dracutdir; dracutdir=$withval
-else
- dracutdir=check
-fi
-
-
- if test "x$dracutdir" = xcheck; then :
-
- path1=/usr/share/dracut
- path2=/usr/lib/dracut
- default=$path2
-
- if test -d "$path1"; then :
- dracutdir="$path1"
-else
-
- if test -d "$path2"; then :
- dracutdir="$path2"
-else
- dracutdir="$default"
-fi
-
-fi
-
-fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dracutdir" >&5
-$as_echo "$dracutdir" >&6; }
-
-
- { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $TARGET_ASM_DIR" >&5
-$as_echo "$TARGET_ASM_DIR" >&6; }
-
-
- ZLIB=
-
- ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default"
-if test "x$ac_cv_header_zlib_h" = xyes; then :
-
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "
- *** zlib.h missing, zlib-devel package required
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for compress2 in -lz" >&5
-$as_echo_n "checking for compress2 in -lz... " >&6; }
-if ${ac_cv_lib_z_compress2+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lz $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* 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
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_z_compress2=yes
-else
- ac_cv_lib_z_compress2=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_compress2" >&5
-$as_echo "$ac_cv_lib_z_compress2" >&6; }
-if test "x$ac_cv_lib_z_compress2" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBZ 1
-_ACEOF
-
- LIBS="-lz $LIBS"
-
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "
- *** compress2() missing, zlib-devel package required
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uncompress in -lz" >&5
-$as_echo_n "checking for uncompress in -lz... " >&6; }
-if ${ac_cv_lib_z_uncompress+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lz $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* 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
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_z_uncompress=yes
-else
- ac_cv_lib_z_uncompress=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_uncompress" >&5
-$as_echo "$ac_cv_lib_z_uncompress" >&6; }
-if test "x$ac_cv_lib_z_uncompress" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBZ 1
-_ACEOF
-
- LIBS="-lz $LIBS"
-
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "
- *** uncompress() missing, zlib-devel package required
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for crc32 in -lz" >&5
-$as_echo_n "checking for crc32 in -lz... " >&6; }
-if ${ac_cv_lib_z_crc32+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lz $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* 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
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_z_crc32=yes
-else
- ac_cv_lib_z_crc32=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_crc32" >&5
-$as_echo "$ac_cv_lib_z_crc32" >&6; }
-if test "x$ac_cv_lib_z_crc32" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBZ 1
-_ACEOF
-
- LIBS="-lz $LIBS"
-
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "
- *** crc32() missing, zlib-devel package required
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-
- ZLIB="-lz"
-
-
-$as_echo "#define HAVE_ZLIB 1" >>confdefs.h
-
-
-
- LIBUUID=
-
- ac_fn_c_check_header_mongrel "$LINENO" "uuid/uuid.h" "ac_cv_header_uuid_uuid_h" "$ac_includes_default"
-if test "x$ac_cv_header_uuid_uuid_h" = xyes; then :
-
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "
- *** uuid/uuid.h missing, libuuid-devel package required
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_generate in -luuid" >&5
-$as_echo_n "checking for uuid_generate in -luuid... " >&6; }
-if ${ac_cv_lib_uuid_uuid_generate+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-luuid $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* 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
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_uuid_uuid_generate=yes
-else
- ac_cv_lib_uuid_uuid_generate=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$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" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBUUID 1
-_ACEOF
-
- LIBS="-luuid $LIBS"
-
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "
- *** uuid_generate() missing, libuuid-devel package required
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_is_null in -luuid" >&5
-$as_echo_n "checking for uuid_is_null in -luuid... " >&6; }
-if ${ac_cv_lib_uuid_uuid_is_null+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-luuid $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* 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
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_uuid_uuid_is_null=yes
-else
- ac_cv_lib_uuid_uuid_is_null=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$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" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBUUID 1
-_ACEOF
-
- LIBS="-luuid $LIBS"
-
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "
- *** uuid_is_null() missing, libuuid-devel package required
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-
- LIBUUID="-luuid"
-
-
-$as_echo "#define HAVE_LIBUUID 1" >>confdefs.h
-
-
-
-
-# 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" = xyes; then :
-
- LIBBLKID="-lblkid"
-
-
-$as_echo "#define HAVE_LIBBLKID 1" >>confdefs.h
-
-
-fi
-
- if test "x$with_blkid" = xcheck; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for blkid_get_cache in -lblkid" >&5
-$as_echo_n "checking for blkid_get_cache in -lblkid... " >&6; }
-if ${ac_cv_lib_blkid_blkid_get_cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lblkid $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* 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
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_blkid_blkid_get_cache=yes
-else
- ac_cv_lib_blkid_blkid_get_cache=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$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" = xyes; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for blkid zfs support" >&5
-$as_echo_n "checking for blkid zfs support... " >&6; }
-
- ZFS_DEV=`mktemp`
- truncate -s 64M $ZFS_DEV
- echo -en "\x0c\xb1\xba\0\0\0\0\0" | \
- dd of=$ZFS_DEV bs=1k count=8 \
- seek=128 conv=notrunc &>/dev/null \
- >/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
- echo -en "\x0c\xb1\xba\0\0\0\0\0" | \
- dd of=$ZFS_DEV bs=1k count=8 \
- seek=136 conv=notrunc &>/dev/null \
- >/dev/null 2>/dev/null
- echo -en "\x0c\xb1\xba\0\0\0\0\0" | \
- dd of=$ZFS_DEV bs=1k count=8 \
- seek=140 conv=notrunc &>/dev/null \
- >/dev/null 2>/dev/null
-
- saved_LIBS="$LIBS"
- LIBS="-lblkid"
-
- if test "$cross_compiling" = yes; then :
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run test program while cross compiling
-See \`config.log' for more details" "$LINENO" 5; }
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
- #include <stdio.h>
- #include <stdlib.h>
- #include <blkid/blkid.h>
-
-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_member")) {
- free(value);
- blkid_put_cache(cache);
- return 0;
- }
-
- free(value);
- blkid_put_cache(cache);
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
- rm -f $ZFS_DEV
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- LIBBLKID="-lblkid"
-
-
-$as_echo "#define HAVE_LIBBLKID 1" >>confdefs.h
-
-
-else
-
- rm -f $ZFS_DEV
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- if test "x$with_blkid" != xcheck; then :
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "--with-blkid given but unavailable
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-
- LIBS="$saved_LIBS"
-
-else
-
- if test "x$with_blkid" != xcheck; then :
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "--with-blkid given but unavailable
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-
-fi
-
-
-fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -Wframe-larger-than=<size> support" >&5
-$as_echo_n "checking for -Wframe-larger-than=<size> support... " >&6; }
-
- saved_flags="$CFLAGS"
- CFLAGS="$CFLAGS -Wframe-larger-than=1024"
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
- FRAME_LARGER_THAN=-Wframe-larger-than=1024
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-else
-
- FRAME_LARGER_THAN=
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
- CFLAGS="$saved_flags"
-
-
-
- if test "x$runstatedir" = x; then
- runstatedir='${localstatedir}/run'
-
- fi
-
- for ac_func in mlockall
-do :
- ac_fn_c_check_func "$LINENO" "mlockall" "ac_cv_func_mlockall"
-if test "x$ac_cv_func_mlockall" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_MLOCKALL 1
-_ACEOF
-
-fi
-done
-
- ;;
- 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:${as_lineno-$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
-
- kernelsrc="Not found"
-
-fi
-
-else
-
- if test "$kernelsrc" = "NONE"; then :
-
- kernsrcver=NONE
-
-fi
-
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $kernelsrc" >&5
-$as_echo "$kernelsrc" >&6; }
- if test ! -d "$kernelsrc"; then :
-
- as_fn_error $? "
- *** Please make sure the kernel devel package for your distribution
- *** is installed and then try again. If that fails, you can specify the
- *** location of the kernel source with the '--with-linux=PATH' option." "$LINENO" 5
-
-fi
-
- { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $kernelbuild" >&5
-$as_echo "$kernelbuild" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: Not found" >&5
-$as_echo "Not found" >&6; }
- as_fn_error $? "*** Cannot determine kernel version." "$LINENO" 5
-
-fi
-
-else
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: Not found" >&5
-$as_echo "Not found" >&6; }
- if test "x$enable_linux_builtin" != xyes; then
- as_fn_error $? "*** Cannot find UTS_RELEASE definition." "$LINENO" 5
- else
- as_fn_error $? "
- *** Cannot find UTS_RELEASE definition.
- *** Please run 'make prepare' inside the kernel source tree." "$LINENO" 5
- fi
-
-fi
-
- { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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
-
- if test ! -f "$LINUX_OBJ/$LINUX_SYMBOLS"; then :
-
- as_fn_error $? "
- *** Please make sure the kernel devel package for your distribution
- *** is installed. If you are 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." "$LINENO" 5
-
-fi
-
-else
-
- LINUX_SYMBOLS=NONE
-
-fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LINUX_SYMBOLS" >&5
-$as_echo "$LINUX_SYMBOLS" >&6; }
-
-
-
-
-
-# Check whether --with-spl was given.
-if test "${with_spl+set}" = set; then :
- withval=$with_spl; splsrc="$withval"
-fi
-
-
-
-# Check whether --with-spl-obj was given.
-if test "${with_spl_obj+set}" = set; then :
- withval=$with_spl_obj; splbuild="$withval"
-fi
-
-
-
-# Check whether --with-spl-timeout was given.
-if test "${with_spl_timeout+set}" = set; then :
- withval=$with_spl_timeout; timeout="$withval"
-else
- timeout=0
-fi
-
-
- splsrc0="/var/lib/dkms/spl/${VERSION}/build"
- splsrc1="/usr/local/src/spl-${VERSION}/${LINUX_VERSION}"
- splsrc2="/usr/local/src/spl-${VERSION}"
- splsrc3="/usr/src/spl-${VERSION}/${LINUX_VERSION}"
- splsrc4="/usr/src/spl-${VERSION}"
- splsrc5="../spl/"
- splsrc6="$LINUX"
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking spl source directory" >&5
-$as_echo_n "checking spl source directory... " >&6; }
- if test -z "${splsrc}"; then :
-
- if test -e "${splsrc0}/spl.release.in"; then :
-
- splsrc=${splsrc0}
-
-elif test -e "${splsrc1}/spl.release.in"; then :
-
- splsrc=${splsrc1}
-
-elif test -e "${splsrc2}/spl.release.in"; then :
-
- splsrc=${splsrc2}
-
-elif test -e "${splsrc3}/spl.release.in"; then :
-
- splsrc=$(readlink -f "${splsrc3}")
-
-elif test -e "${splsrc4}/spl.release.in" ; then :
-
- splsrc=${splsrc4}
-
-elif test -e "${splsrc5}/spl.release.in"; then :
-
- splsrc=$(readlink -f "${splsrc5}")
-
-elif test -e "${splsrc6}/spl.release.in" ; then :
-
- splsrc=${splsrc6}
-
-else
-
- splsrc="Not found"
-
-fi
-
-else
-
- if test "$splsrc" = "NONE"; then :
-
- splbuild=NONE
- splsrcver=NONE
-
-fi
-
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $splsrc" >&5
-$as_echo "$splsrc" >&6; }
- if test ! -e "$splsrc/spl.release.in"; then :
-
- as_fn_error $? "
- *** Please make sure the kmod 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." "$LINENO" 5
-
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking spl build directory" >&5
-$as_echo_n "checking spl build directory... " >&6; }
- while true; do
- if test -z "$splbuild"; then :
-
- if test -e "${splsrc}/${LINUX_VERSION}/spl_config.h" ; then :
-
- splbuild="${splsrc}/${LINUX_VERSION}"
-
-elif test -e "${splsrc}/spl_config.h" ; then :
-
- splbuild="${splsrc}"
-
-else
-
- splbuild="Not found"
-
-fi
-
-fi
- if test -e "$splbuild/spl_config.h" -o $timeout -le 0; then :
-
- break;
-
-else
-
- sleep 1
- timeout=$((timeout-1))
-
-fi
- done
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $splbuild" >&5
-$as_echo "$splbuild" >&6; }
- if ! test -e "$splbuild/spl_config.h"; then :
-
- as_fn_error $? "
- *** Please make sure the kmod spl devel <kernel> package for your
- *** distribution is installed then try again. If that fails you
- *** can specify the location of the spl objects with the
- *** '--with-spl-obj=PATH' option." "$LINENO" 5
-
-fi
-
- { $as_echo "$as_me:${as_lineno-$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 :
-
-
- splsrcver=`(echo "#include <spl_config.h>";
- echo "splsrcver=SPL_META_VERSION-SPL_META_RELEASE") |
- cpp -I $splbuild |
- grep "^splsrcver=" | tr -d \" | cut -d= -f2`
-
-fi
-
- if test -z "$splsrcver"; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: Not found" >&5
-$as_echo "Not found" >&6; }
- as_fn_error $? "
- *** Cannot determine the version of the spl source.
- *** Please prepare the spl source before running this script" "$LINENO" 5
-
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $splsrcver" >&5
-$as_echo "$splsrcver" >&6; }
-
- SPL=${splsrc}
- SPL_OBJ=${splbuild}
- SPL_VERSION=${splsrcver}
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking spl file name for module symbols" >&5
-$as_echo_n "checking spl file name for module symbols... " >&6; }
- SPL_SYMBOLS=NONE
-
- while true; do
- 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
-
-fi
-
- if test $SPL_SYMBOLS != NONE -o $timeout -le 0; then :
-
- break;
-
-else
-
- sleep 1
- timeout=$((timeout-1))
-
-fi
- done
-
- if test "$SPL_SYMBOLS" = NONE; then :
-
- SPL_SYMBOLS=$LINUX_SYMBOLS
-
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SPL_SYMBOLS" >&5
-$as_echo "$SPL_SYMBOLS" >&6; }
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether modules can be built" >&5
-$as_echo_n "checking whether modules can be built... " >&6; }
-
-
-cat confdefs.h - <<_ACEOF >conftest.c
-
-
-int
-main (void)
-{
-
- ;
- return 0;
-}
-
-_ACEOF
-
-
-
-cat - <<_ACEOF >conftest.h
-
-_ACEOF
-
-
- rm -Rf build && mkdir -p build && touch build/conftest.mod.c
- echo "obj-m := conftest.o" >build/Makefile
- modpost_flag=''
- test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
- if { ac_try='cp conftest.c conftest.h build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
-
- { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- if test "x$enable_linux_builtin" != xyes; then
- as_fn_error $? "*** Unable to build an empty module." "$LINENO" 5
- else
- as_fn_error $? "
- *** Unable to build an empty module.
- *** Please run 'make scripts' inside the kernel source tree." "$LINENO" 5
- fi
-
-
-
-fi
- rm -Rf build
-
-
-
-
- if test "$cross_compiling" = yes; then :
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run test program while cross compiling
-See \`config.log' for more details" "$LINENO" 5; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for crc32 in -lz" >&5
+$as_echo_n "checking for crc32 in -lz... " >&6; }
+if ${ac_cv_lib_z_crc32+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lz $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-
- #include "$LINUX/include/linux/license.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 !license_is_gpl_compatible("$ZFS_META_LICENSE");
-
+return crc32 ();
;
return 0;
}
-
_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-
-$as_echo "#define ZFS_IS_GPL_COMPATIBLE 1" >>confdefs.h
-
-
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_z_crc32=yes
+else
+ ac_cv_lib_z_crc32=no
fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
fi
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$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
-
-
- #include <linux/module.h>
-
-int
-main (void)
-{
-
- #ifndef CONFIG_DEBUG_LOCK_ALLOC
- #error CONFIG_DEBUG_LOCK_ALLOC not #defined
- #endif
-
- ;
- return 0;
-}
-
-_ACEOF
-
-
-
-cat - <<_ACEOF >conftest.h
-
-_ACEOF
-
-
- rm -Rf build && mkdir -p build && touch build/conftest.mod.c
- echo "obj-m := conftest.o" >build/Makefile
- modpost_flag=''
- test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
- if { ac_try='cp conftest.c conftest.h build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$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
-
-
- #include <linux/module.h>
- #include <linux/mutex.h>
-
- MODULE_LICENSE("$ZFS_META_LICENSE");
-
-int
-main (void)
-{
-
- struct mutex lock;
-
- mutex_init(&lock);
- mutex_lock(&lock);
- mutex_unlock(&lock);
-
- ;
- return 0;
-}
-
-_ACEOF
-
-
-
-cat - <<_ACEOF >conftest.h
-
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_crc32" >&5
+$as_echo "$ac_cv_lib_z_crc32" >&6; }
+if test "x$ac_cv_lib_z_crc32" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBZ 1
_ACEOF
-
- rm -Rf build && mkdir -p build && touch build/conftest.mod.c
- echo "obj-m := conftest.o" >build/Makefile
- modpost_flag=''
- test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
- if { ac_try='cp conftest.c conftest.h build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
-
- { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- as_fn_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." "$LINENO" 5
-
-
-
-fi
- rm -Rf build
-
-
- EXTRA_KCFLAGS="$tmp_flags"
-
+ LIBS="-lz $LIBS"
else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "
+ *** crc32() missing, zlib-devel package required
+See \`config.log' for more details" "$LINENO" 5; }
+fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ ZLIB="-lz"
+$as_echo "#define HAVE_ZLIB 1" >>confdefs.h
-fi
- rm -Rf build
+ LIBUUID=
+ ac_fn_c_check_header_mongrel "$LINENO" "uuid/uuid.h" "ac_cv_header_uuid_uuid_h" "$ac_includes_default"
+if test "x$ac_cv_header_uuid_uuid_h" = xyes; then :
+else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "
+ *** uuid/uuid.h missing, libuuid-devel package required
+See \`config.log' for more details" "$LINENO" 5; }
+fi
- tmp_flags="$EXTRA_KCFLAGS"
- EXTRA_KCFLAGS="-I\$(src)"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether DECLARE_EVENT_CLASS() is available" >&5
-$as_echo_n "checking whether DECLARE_EVENT_CLASS() is available... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_generate in -luuid" >&5
+$as_echo_n "checking for uuid_generate in -luuid... " >&6; }
+if ${ac_cv_lib_uuid_uuid_generate+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-luuid $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* 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
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_uuid_uuid_generate=yes
+else
+ ac_cv_lib_uuid_uuid_generate=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$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" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBUUID 1
+_ACEOF
-cat confdefs.h - <<_ACEOF >conftest.c
+ LIBS="-luuid $LIBS"
+else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "
+ *** uuid_generate() missing, libuuid-devel package required
+See \`config.log' for more details" "$LINENO" 5; }
+fi
- #include <linux/module.h>
- MODULE_LICENSE(ZFS_META_LICENSE);
- #define CREATE_TRACE_POINTS
- #include "conftest.h"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_is_null in -luuid" >&5
+$as_echo_n "checking for uuid_is_null in -luuid... " >&6; }
+if ${ac_cv_lib_uuid_uuid_is_null+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-luuid $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* 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 (void)
+main ()
{
-
- trace_zfs_autoconf_event_one(1UL);
- trace_zfs_autoconf_event_two(2UL);
-
+return uuid_is_null ();
;
return 0;
}
-
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_uuid_uuid_is_null=yes
+else
+ ac_cv_lib_uuid_uuid_is_null=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$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" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBUUID 1
_ACEOF
+ LIBS="-luuid $LIBS"
+else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "
+ *** uuid_is_null() missing, libuuid-devel package required
+See \`config.log' for more details" "$LINENO" 5; }
+fi
-cat - <<_ACEOF >conftest.h
- #if !defined(_CONFTEST_H) || defined(TRACE_HEADER_MULTI_READ)
- #define _CONFTEST_H
+ LIBUUID="-luuid"
- #undef TRACE_SYSTEM
- #define TRACE_SYSTEM zfs
- #include <linux/tracepoint.h>
- DECLARE_EVENT_CLASS(zfs_autoconf_event_class,
- TP_PROTO(unsigned long i),
- TP_ARGS(i),
- TP_STRUCT__entry(
- __field(unsigned long, i)
- ),
- TP_fast_assign(
- __entry->i = i;
- ),
- TP_printk("i = %lu", __entry->i)
- );
+$as_echo "#define HAVE_LIBUUID 1" >>confdefs.h
- #define DEFINE_AUTOCONF_EVENT(name) \
- DEFINE_EVENT(zfs_autoconf_event_class, name, \
- TP_PROTO(unsigned long i), \
- TP_ARGS(i))
- DEFINE_AUTOCONF_EVENT(zfs_autoconf_event_one);
- DEFINE_AUTOCONF_EVENT(zfs_autoconf_event_two);
- #endif /* _CONFTEST_H */
- #undef TRACE_INCLUDE_PATH
- #define TRACE_INCLUDE_PATH .
- #define TRACE_INCLUDE_FILE conftest
- #include <trace/define_trace.h>
-_ACEOF
+# Check whether --with-blkid was given.
+if test "${with_blkid+set}" = set; then :
+ withval=$with_blkid;
+else
+ with_blkid=check
+fi
- rm -Rf build && mkdir -p build && touch build/conftest.mod.c
- echo "obj-m := conftest.o" >build/Makefile
- modpost_flag=''
- test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
- if { ac_try='cp conftest.c conftest.h build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
+ LIBBLKID=
+ if test "x$with_blkid" = xyes; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ LIBBLKID="-lblkid"
-$as_echo "#define HAVE_DECLARE_EVENT_CLASS 1" >>confdefs.h
+$as_echo "#define HAVE_LIBBLKID 1" >>confdefs.h
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+fi
+ if test "x$with_blkid" = xcheck; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for blkid_get_cache in -lblkid" >&5
+$as_echo_n "checking for blkid_get_cache in -lblkid... " >&6; }
+if ${ac_cv_lib_blkid_blkid_get_cache+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lblkid $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* 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
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_blkid_blkid_get_cache=yes
+else
+ ac_cv_lib_blkid_blkid_get_cache=no
fi
- rm -Rf build
-
-
- EXTRA_KCFLAGS="$tmp_flags"
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$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" = xyes; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for blkid zfs support" >&5
+$as_echo_n "checking for blkid zfs support... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking block device operation prototypes" >&5
-$as_echo_n "checking block device operation prototypes... " >&6; }
- tmp_flags="$EXTRA_KCFLAGS"
- EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}"
+ ZFS_DEV=`mktemp`
+ truncate -s 64M $ZFS_DEV
+ echo -en "\x0c\xb1\xba\0\0\0\0\0" | \
+ dd of=$ZFS_DEV bs=1k count=8 \
+ seek=128 conv=notrunc &>/dev/null \
+ >/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
+ echo -en "\x0c\xb1\xba\0\0\0\0\0" | \
+ dd of=$ZFS_DEV bs=1k count=8 \
+ seek=136 conv=notrunc &>/dev/null \
+ >/dev/null 2>/dev/null
+ echo -en "\x0c\xb1\xba\0\0\0\0\0" | \
+ dd of=$ZFS_DEV bs=1k count=8 \
+ seek=140 conv=notrunc &>/dev/null \
+ >/dev/null 2>/dev/null
+ saved_LIBS="$LIBS"
+ LIBS="-lblkid"
-cat confdefs.h - <<_ACEOF >conftest.c
+ if test "$cross_compiling" = yes; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <blkid/blkid.h>
- #include <linux/blkdev.h>
+int
+main ()
+{
- int blk_open(struct block_device *bdev, fmode_t mode)
- { return 0; }
- int blk_ioctl(struct block_device *bdev, fmode_t mode,
- unsigned x, unsigned long y) { return 0; }
- int blk_compat_ioctl(struct block_device * bdev, fmode_t mode,
- unsigned x, unsigned long y) { return 0; }
+ blkid_cache cache;
+ char *value;
- static const struct block_device_operations
- bops __attribute__ ((unused)) = {
- .open = blk_open,
- .release = NULL,
- .ioctl = blk_ioctl,
- .compat_ioctl = blk_compat_ioctl,
- };
+ if (blkid_get_cache(&cache, NULL) < 0)
+ return 1;
-int
-main (void)
-{
+ value = blkid_get_tag_value(cache, "TYPE",
+ "$ZFS_DEV");
+ if (!value) {
+ blkid_put_cache(cache);
+ return 2;
+ }
+
+ if (strcmp(value, "zfs_member")) {
+ free(value);
+ blkid_put_cache(cache);
+ return 0;
+ }
+ free(value);
+ blkid_put_cache(cache);
;
return 0;
}
-
_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ rm -f $ZFS_DEV
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ LIBBLKID="-lblkid"
-cat - <<_ACEOF >conftest.h
+$as_echo "#define HAVE_LIBBLKID 1" >>confdefs.h
-_ACEOF
+else
- rm -Rf build && mkdir -p build && touch build/conftest.mod.c
- echo "obj-m := conftest.o" >build/Makefile
- modpost_flag=''
- test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
- if { ac_try='cp conftest.c conftest.h build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
+ rm -f $ZFS_DEV
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ if test "x$with_blkid" != xcheck; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "--with-blkid given but unavailable
+See \`config.log' for more details" "$LINENO" 5; }
+fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: struct block_device" >&5
-$as_echo "struct block_device" >&6; }
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
-$as_echo "#define HAVE_BDEV_BLOCK_DEVICE_OPERATIONS 1" >>confdefs.h
+ LIBS="$saved_LIBS"
else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: struct inode" >&5
-$as_echo "struct inode" >&6; }
-
-
+ if test "x$with_blkid" != xcheck; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "--with-blkid given but unavailable
+See \`config.log' for more details" "$LINENO" 5; }
fi
- rm -Rf build
-
-
- EXTRA_KCFLAGS="$tmp_flags"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether block_device_operations.release is void" >&5
-$as_echo_n "checking whether block_device_operations.release is void... " >&6; }
- tmp_flags="$EXTRA_KCFLAGS"
- EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}"
+fi
-cat confdefs.h - <<_ACEOF >conftest.c
+fi
- #include <linux/blkdev.h>
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -Wframe-larger-than=<size> support" >&5
+$as_echo_n "checking for -Wframe-larger-than=<size> support... " >&6; }
- void blk_release(struct gendisk *g, fmode_t mode) { return; }
+ saved_flags="$CFLAGS"
+ CFLAGS="$CFLAGS -Wframe-larger-than=1024"
- static const struct block_device_operations
- bops __attribute__ ((unused)) = {
- .open = NULL,
- .release = blk_release,
- .ioctl = NULL,
- .compat_ioctl = NULL,
- };
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
int
-main (void)
+main ()
{
-
;
return 0;
}
-
_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
-
-
-cat - <<_ACEOF >conftest.h
-
-_ACEOF
-
-
- rm -Rf build && mkdir -p build && touch build/conftest.mod.c
- echo "obj-m := conftest.o" >build/Makefile
- modpost_flag=''
- test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
- if { ac_try='cp conftest.c conftest.h build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: void" >&5
-$as_echo "void" >&6; }
-
-$as_echo "#define HAVE_BLOCK_DEVICE_OPERATIONS_RELEASE_VOID 1" >>confdefs.h
-
+ FRAME_LARGER_THAN=-Wframe-larger-than=1024
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: int" >&5
-$as_echo "int" >&6; }
-
+ FRAME_LARGER_THAN=
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
- rm -Rf build
-
-
- EXTRA_KCFLAGS="$tmp_flags"
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether kernel defines fmode_t" >&5
-$as_echo_n "checking whether kernel defines fmode_t... " >&6; }
-
-
-cat confdefs.h - <<_ACEOF >conftest.c
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CFLAGS="$saved_flags"
- #include <linux/types.h>
-int
-main (void)
-{
- fmode_t *ptr __attribute__ ((unused));
+ if test "x$runstatedir" = x; then
+ runstatedir='${localstatedir}/run'
- ;
- return 0;
-}
+ fi
+ for ac_func in mlockall
+do :
+ ac_fn_c_check_func "$LINENO" "mlockall" "ac_cv_func_mlockall"
+if test "x$ac_cv_func_mlockall" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_MLOCKALL 1
_ACEOF
+fi
+done
-
-cat - <<_ACEOF >conftest.h
-
-_ACEOF
+ ;;
+ all)
- rm -Rf build && mkdir -p build && touch build/conftest.mod.c
- echo "obj-m := conftest.o" >build/Makefile
- modpost_flag=''
- test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
- if { ac_try='cp conftest.c conftest.h build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
+# Check whether --with-linux was given.
+if test "${with_linux+set}" = set; then :
+ withval=$with_linux; kernelsrc="$withval"
+fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-$as_echo "#define HAVE_FMODE_T 1" >>confdefs.h
+# Check whether --with-linux-obj was given.
+if test "${with_linux_obj+set}" = set; then :
+ withval=$with_linux_obj; kernelbuild="$withval"
+fi
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$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")
-fi
- rm -Rf build
+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)
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether kernel defines KOBJ_NAME_LEN" >&5
-$as_echo_n "checking whether kernel defines KOBJ_NAME_LEN... " >&6; }
+fi
+ if test -n "$sourcelink" && test -e ${sourcelink}; then :
-cat confdefs.h - <<_ACEOF >conftest.c
+ kernelsrc=`readlink -f ${sourcelink}`
+else
- #include <linux/kobject.h>
+ kernelsrc="Not found"
-int
-main (void)
-{
+fi
- int val __attribute__ ((unused));
- val = KOBJ_NAME_LEN;
+else
- ;
- return 0;
-}
+ if test "$kernelsrc" = "NONE"; then :
-_ACEOF
+ kernsrcver=NONE
+fi
+fi
-cat - <<_ACEOF >conftest.h
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $kernelsrc" >&5
+$as_echo "$kernelsrc" >&6; }
+ if test ! -d "$kernelsrc"; then :
-_ACEOF
+ as_fn_error $? "
+ *** Please make sure the kernel devel package for your distribution
+ *** is installed and then try again. If that fails, you can specify the
+ *** location of the kernel source with the '--with-linux=PATH' option." "$LINENO" 5
+fi
- rm -Rf build && mkdir -p build && touch build/conftest.mod.c
- echo "obj-m := conftest.o" >build/Makefile
- modpost_flag=''
- test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
- if { ac_try='cp conftest.c conftest.h build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking kernel build directory" >&5
+$as_echo_n "checking kernel build directory... " >&6; }
+ if test -z "$kernelbuild"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ if test -e "/lib/modules/$(uname -r)/build"; then :
-$as_echo "#define HAVE_KOBJ_NAME_LEN 1" >>confdefs.h
+ kernelbuild=`readlink -f /lib/modules/$(uname -r)/build`
+elif test -d ${kernelsrc}-obj/${target_cpu}/${target_cpu}; then :
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ kernelbuild=${kernelsrc}-obj/${target_cpu}/${target_cpu}
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+elif test -d ${kernelsrc}-obj/${target_cpu}/default; then :
+ kernelbuild=${kernelsrc}-obj/${target_cpu}/default
+elif test -d `dirname ${kernelsrc}`/build-${target_cpu}; then :
-fi
- rm -Rf build
+ kernelbuild=`dirname ${kernelsrc}`/build-${target_cpu}
+else
+ kernelbuild=${kernelsrc}
+fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether blkdev_get() wants 3 args" >&5
-$as_echo_n "checking whether blkdev_get() wants 3 args... " >&6; }
+fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $kernelbuild" >&5
+$as_echo "$kernelbuild" >&6; }
+ { $as_echo "$as_me:${as_lineno-$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 >conftest.c
+ utsrelease=linux/version.h
+elif test -r $utsrelease2 && fgrep -q UTS_RELEASE $utsrelease2; then :
- #include <linux/fs.h>
+ utsrelease=linux/utsrelease.h
-int
-main (void)
-{
+elif test -r $utsrelease3 && fgrep -q UTS_RELEASE $utsrelease3; then :
- struct block_device *bdev = NULL;
- (void) blkdev_get(bdev, 0, NULL);
+ utsrelease=generated/utsrelease.h
- ;
- return 0;
-}
+fi
-_ACEOF
+ 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 :
-cat - <<_ACEOF >conftest.h
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: Not found" >&5
+$as_echo "Not found" >&6; }
+ as_fn_error $? "*** Cannot determine kernel version." "$LINENO" 5
-_ACEOF
+fi
+else
- rm -Rf build && mkdir -p build && touch build/conftest.mod.c
- echo "obj-m := conftest.o" >build/Makefile
- modpost_flag=''
- test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
- if { ac_try='cp conftest.c conftest.h build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: Not found" >&5
+$as_echo "Not found" >&6; }
+ if test "x$enable_linux_builtin" != xyes; then
+ as_fn_error $? "*** Cannot find UTS_RELEASE definition." "$LINENO" 5
+ else
+ as_fn_error $? "
+ *** Cannot find UTS_RELEASE definition.
+ *** Please run 'make prepare' inside the kernel source tree." "$LINENO" 5
+ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+fi
-$as_echo "#define HAVE_3ARG_BLKDEV_GET 1" >>confdefs.h
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $kernsrcver" >&5
+$as_echo "$kernsrcver" >&6; }
+ LINUX=${kernelsrc}
+ LINUX_OBJ=${kernelbuild}
+ LINUX_VERSION=${kernsrcver}
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
- rm -Rf build
+ modpost=$LINUX/scripts/Makefile.modpost
+ { $as_echo "$as_me:${as_lineno-$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 :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether blkdev_get_by_path() is available" >&5
-$as_echo_n "checking whether blkdev_get_by_path() is available... " >&6; }
+ LINUX_SYMBOLS=Modules.symvers
+else
+ LINUX_SYMBOLS=Module.symvers
-cat confdefs.h - <<_ACEOF >conftest.c
+fi
+ if test ! -f "$LINUX_OBJ/$LINUX_SYMBOLS"; then :
- #include <linux/fs.h>
+ as_fn_error $? "
+ *** Please make sure the kernel devel package for your distribution
+ *** is installed. If you are 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." "$LINENO" 5
-int
-main (void)
-{
+fi
- blkdev_get_by_path(NULL, 0, NULL);
+else
- ;
- return 0;
-}
+ LINUX_SYMBOLS=NONE
-_ACEOF
+fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LINUX_SYMBOLS" >&5
+$as_echo "$LINUX_SYMBOLS" >&6; }
-cat - <<_ACEOF >conftest.h
-_ACEOF
+# Check whether --with-spl was given.
+if test "${with_spl+set}" = set; then :
+ withval=$with_spl; splsrc="$withval"
+fi
- rm -Rf build && mkdir -p build && touch build/conftest.mod.c
- echo "obj-m := conftest.o" >build/Makefile
- modpost_flag=''
- test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
- if { ac_try='cp conftest.c conftest.h build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
- rc=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- rc=1
+# Check whether --with-spl-obj was given.
+if test "${with_spl_obj+set}" = set; then :
+ withval=$with_spl_obj; splbuild="$withval"
fi
- rm -Rf build
- if test $rc -ne 0; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+# Check whether --with-spl-timeout was given.
+if test "${with_spl_timeout+set}" = set; then :
+ withval=$with_spl_timeout; timeout="$withval"
+else
+ timeout=0
+fi
- else
- if test "x$enable_linux_builtin" != xyes; then
- 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 :
- rc=1
- else :
- rc=0
- fi
- else :
- rc=0
- fi
+ splsrc0="/var/lib/dkms/spl/${VERSION}/build"
+ splsrc1="/usr/local/src/spl-${VERSION}/${LINUX_VERSION}"
+ splsrc2="/usr/local/src/spl-${VERSION}"
+ splsrc3="/usr/src/spl-${VERSION}/${LINUX_VERSION}"
+ splsrc4="/usr/src/spl-${VERSION}"
+ splsrc5="../spl/"
+ splsrc6="$LINUX"
- fi
- if test $rc -ne 0; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking spl source directory" >&5
+$as_echo_n "checking spl source directory... " >&6; }
+ if test -z "${splsrc}"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ if test -e "${splsrc0}/spl.release.in"; then :
- else :
+ splsrc=${splsrc0}
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+elif test -e "${splsrc1}/spl.release.in"; then :
-$as_echo "#define HAVE_BLKDEV_GET_BY_PATH 1" >>confdefs.h
+ splsrc=${splsrc1}
+elif test -e "${splsrc2}/spl.release.in"; then :
- fi
- fi
+ splsrc=${splsrc2}
+elif test -e "${splsrc3}/spl.release.in"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether open_bdev_exclusive() is available" >&5
-$as_echo_n "checking whether open_bdev_exclusive() is available... " >&6; }
+ splsrc=$(readlink -f "${splsrc3}")
+elif test -e "${splsrc4}/spl.release.in" ; then :
+ splsrc=${splsrc4}
-cat confdefs.h - <<_ACEOF >conftest.c
+elif test -e "${splsrc5}/spl.release.in"; then :
+ splsrc=$(readlink -f "${splsrc5}")
- #include <linux/fs.h>
+elif test -e "${splsrc6}/spl.release.in" ; then :
-int
-main (void)
-{
+ splsrc=${splsrc6}
- open_bdev_exclusive(NULL, 0, NULL);
+else
- ;
- return 0;
-}
+ splsrc="Not found"
-_ACEOF
+fi
+else
+ if test "$splsrc" = "NONE"; then :
-cat - <<_ACEOF >conftest.h
+ splbuild=NONE
+ splsrcver=NONE
-_ACEOF
+fi
+fi
- rm -Rf build && mkdir -p build && touch build/conftest.mod.c
- echo "obj-m := conftest.o" >build/Makefile
- modpost_flag=''
- test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
- if { ac_try='cp conftest.c conftest.h build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
- rc=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- rc=1
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $splsrc" >&5
+$as_echo "$splsrc" >&6; }
+ if test ! -e "$splsrc/spl.release.in"; then :
+ as_fn_error $? "
+ *** Please make sure the kmod 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." "$LINENO" 5
fi
- rm -Rf build
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking spl build directory" >&5
+$as_echo_n "checking spl build directory... " >&6; }
+ while true; do
+ if test -z "$splbuild"; then :
- if test $rc -ne 0; then :
+ if test -e "${splsrc}/${LINUX_VERSION}/spl_config.h" ; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ splbuild="${splsrc}/${LINUX_VERSION}"
- else
- if test "x$enable_linux_builtin" != xyes; then
+elif test -e "${splsrc}/spl_config.h" ; then :
- 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 :
- rc=1
- else :
- rc=0
- fi
- else :
- rc=0
- fi
+ splbuild="${splsrc}"
- fi
- if test $rc -ne 0; then :
+elif find -L "${splsrc}" -name spl_config.h 2> /dev/null | grep -wq spl_config.h ; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ splbuild=$(find -L "${splsrc}" -name spl_config.h | sed 's,/spl_config.h,,')
- else :
+else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ splbuild="Not found"
-$as_echo "#define HAVE_OPEN_BDEV_EXCLUSIVE 1" >>confdefs.h
+fi
+fi
+ if test -e "$splbuild/spl_config.h" -o $timeout -le 0; then :
- fi
- fi
+ break;
+else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lookup_bdev() is available" >&5
-$as_echo_n "checking whether lookup_bdev() is available... " >&6; }
+ sleep 1
+ timeout=$((timeout-1))
+fi
+ done
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $splbuild" >&5
+$as_echo "$splbuild" >&6; }
+ if ! test -e "$splbuild/spl_config.h"; then :
-cat confdefs.h - <<_ACEOF >conftest.c
+ as_fn_error $? "
+ *** Please make sure the kmod spl devel <kernel> package for your
+ *** distribution is installed then try again. If that fails you
+ *** can specify the location of the spl objects with the
+ *** '--with-spl-obj=PATH' option." "$LINENO" 5
+fi
- #include <linux/fs.h>
+ { $as_echo "$as_me:${as_lineno-$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 :
-int
-main (void)
-{
- lookup_bdev(NULL);
+ splsrcver=`(echo "#include <spl_config.h>";
+ echo "splsrcver=SPL_META_VERSION-SPL_META_RELEASE") |
+ cpp -I $splbuild |
+ grep "^splsrcver=" | tr -d \" | cut -d= -f2`
- ;
- return 0;
-}
+fi
-_ACEOF
+ if test -z "$splsrcver"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: Not found" >&5
+$as_echo "Not found" >&6; }
+ as_fn_error $? "
+ *** Cannot determine the version of the spl source.
+ *** Please prepare the spl source before running this script" "$LINENO" 5
+fi
-cat - <<_ACEOF >conftest.h
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $splsrcver" >&5
+$as_echo "$splsrcver" >&6; }
-_ACEOF
+ SPL=${splsrc}
+ SPL_OBJ=${splbuild}
+ SPL_VERSION=${splsrcver}
- rm -Rf build && mkdir -p build && touch build/conftest.mod.c
- echo "obj-m := conftest.o" >build/Makefile
- modpost_flag=''
- test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
- if { ac_try='cp conftest.c conftest.h build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
- rc=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- rc=1
-fi
- rm -Rf build
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking spl file name for module symbols" >&5
+$as_echo_n "checking spl file name for module symbols... " >&6; }
+ SPL_SYMBOLS=NONE
- if test $rc -ne 0; then :
+ while true; do
+ if test -r $SPL_OBJ/Module.symvers; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ SPL_SYMBOLS=Module.symvers
- else
- if test "x$enable_linux_builtin" != xyes; then
+elif test -r $SPL_OBJ/Modules.symvers; then :
- grep -q -E '[[:space:]]lookup_bdev[[: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.*(lookup_bdev)" \
- "$LINUX/$file" 2>/dev/null
- rc=$?
- if test $rc -eq 0; then
- export=1
- break;
- fi
- done
- if test $export -eq 0; then :
- rc=1
- else :
- rc=0
- fi
- else :
- rc=0
- fi
+ SPL_SYMBOLS=Modules.symvers
- fi
- if test $rc -ne 0; then :
+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
+
+fi
+
+ if test $SPL_SYMBOLS != NONE -o $timeout -le 0; then :
+
+ break;
+
+else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ sleep 1
+ timeout=$((timeout-1))
- else :
+fi
+ done
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ if test "$SPL_SYMBOLS" = NONE; then :
-$as_echo "#define HAVE_LOOKUP_BDEV 1" >>confdefs.h
+ SPL_SYMBOLS=$LINUX_SYMBOLS
+fi
- fi
- fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SPL_SYMBOLS" >&5
+$as_echo "$SPL_SYMBOLS" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether invalidate_bdev() wants 1 arg" >&5
-$as_echo_n "checking whether invalidate_bdev() wants 1 arg... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether modules can be built" >&5
+$as_echo_n "checking whether modules can be built... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/buffer_head.h>
-
int
main (void)
{
- struct block_device *bdev = NULL;
- invalidate_bdev(bdev);
-
;
return 0;
}
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_1ARG_INVALIDATE_BDEV 1" >>confdefs.h
-
-
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
+ if test "x$enable_linux_builtin" != xyes; then
+ as_fn_error $? "*** Unable to build an empty module." "$LINENO" 5
+ else
+ as_fn_error $? "
+ *** Unable to build an empty module.
+ *** Please run 'make scripts' inside the kernel source tree." "$LINENO" 5
+ fi
- { $as_echo "$as_me:${as_lineno-$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="${NO_UNUSED_BUT_SET_VARIABLE}"
+ if test "$cross_compiling" = yes; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+
+ #include "$LINUX/include/linux/license.h"
+
+int
+main ()
+{
+
+ return !license_is_gpl_compatible("$ZFS_META_LICENSE");
+
+ ;
+ return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+
+$as_echo "#define ZFS_IS_GPL_COMPATIBLE 1" >>confdefs.h
+
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$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
- #include <linux/blkdev.h>
+ #include <linux/module.h>
int
main (void)
{
- struct block_device *bdev = NULL;
- bdev_logical_block_size(bdev);
+ #ifndef CONFIG_DEBUG_LOCK_ALLOC
+ #error CONFIG_DEBUG_LOCK_ALLOC not #defined
+ #endif
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BDEV_LOGICAL_BLOCK_SIZE 1" >>confdefs.h
-
-
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-
-
-fi
- rm -Rf build
-
-
- EXTRA_KCFLAGS="$tmp_flags"
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether bdev_physical_block_size() is available" >&5
-$as_echo_n "checking whether bdev_physical_block_size() is available... " >&6; }
- tmp_flags="$EXTRA_KCFLAGS"
- EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}"
+ { $as_echo "$as_me:${as_lineno-$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
- #include <linux/blkdev.h>
+ #include <linux/module.h>
+ #include <linux/mutex.h>
+
+ MODULE_LICENSE("$ZFS_META_LICENSE");
int
main (void)
{
- struct block_device *bdev = NULL;
- bdev_physical_block_size(bdev);
+ struct mutex lock;
+
+ mutex_init(&lock);
+ mutex_lock(&lock);
+ mutex_unlock(&lock);
;
return 0;
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
+ as_fn_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." "$LINENO" 5
-$as_echo "#define HAVE_BDEV_PHYSICAL_BLOCK_SIZE 1" >>confdefs.h
+
+
+fi
+ rm -Rf build
+
+
+ EXTRA_KCFLAGS="$tmp_flags"
else
+
fi
rm -Rf build
- EXTRA_KCFLAGS="$tmp_flags"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether bio has bi_iter" >&5
-$as_echo_n "checking whether bio has bi_iter... " >&6; }
+
+
+ tmp_flags="$EXTRA_KCFLAGS"
+ EXTRA_KCFLAGS="-I\$(src)"
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether DECLARE_EVENT_CLASS() is available" >&5
+$as_echo_n "checking whether DECLARE_EVENT_CLASS() is available... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/bio.h>
+ #include <linux/module.h>
+ MODULE_LICENSE(ZFS_META_LICENSE);
+
+ #define CREATE_TRACE_POINTS
+ #include "conftest.h"
int
main (void)
{
- struct bio bio;
- bio.bi_iter.bi_sector = 0;
+ trace_zfs_autoconf_event_one(1UL);
+ trace_zfs_autoconf_event_two(2UL);
;
return 0;
cat - <<_ACEOF >conftest.h
+ #if !defined(_CONFTEST_H) || defined(TRACE_HEADER_MULTI_READ)
+ #define _CONFTEST_H
+
+ #undef TRACE_SYSTEM
+ #define TRACE_SYSTEM zfs
+ #include <linux/tracepoint.h>
+
+ DECLARE_EVENT_CLASS(zfs_autoconf_event_class,
+ TP_PROTO(unsigned long i),
+ TP_ARGS(i),
+ TP_STRUCT__entry(
+ __field(unsigned long, i)
+ ),
+ TP_fast_assign(
+ __entry->i = i;
+ ),
+ TP_printk("i = %lu", __entry->i)
+ );
+
+ #define DEFINE_AUTOCONF_EVENT(name) \
+ DEFINE_EVENT(zfs_autoconf_event_class, name, \
+ TP_PROTO(unsigned long i), \
+ TP_ARGS(i))
+ DEFINE_AUTOCONF_EVENT(zfs_autoconf_event_one);
+ DEFINE_AUTOCONF_EVENT(zfs_autoconf_event_two);
+
+ #endif /* _CONFTEST_H */
+
+ #undef TRACE_INCLUDE_PATH
+ #define TRACE_INCLUDE_PATH .
+ #define TRACE_INCLUDE_FILE conftest
+ #include <trace/define_trace.h>
+
_ACEOF
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BIO_BVEC_ITER 1" >>confdefs.h
+$as_echo "#define HAVE_DECLARE_EVENT_CLASS 1" >>confdefs.h
else
rm -Rf build
+ EXTRA_KCFLAGS="$tmp_flags"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether BIO_RW_FAILFAST is defined" >&5
-$as_echo_n "checking whether BIO_RW_FAILFAST is defined... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether current->bio_tail exists" >&5
+$as_echo_n "checking whether current->bio_tail exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/bio.h>
+ #include <linux/sched.h>
int
main (void)
{
- int flags __attribute__ ((unused));
- flags = (1 << BIO_RW_FAILFAST);
+ current->bio_tail = (struct bio **) NULL;
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BIO_RW_FAILFAST 1" >>confdefs.h
+$as_echo "#define HAVE_CURRENT_BIO_TAIL 1" >>confdefs.h
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
-
-
-
-fi
- rm -Rf build
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether BIO_RW_FAILFAST_* are defined" >&5
-$as_echo_n "checking whether BIO_RW_FAILFAST_* are defined... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether current->bio_list exists" >&5
+$as_echo_n "checking whether current->bio_list exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/bio.h>
+ #include <linux/sched.h>
int
main (void)
{
- int flags __attribute__ ((unused));
- flags = ((1 << BIO_RW_FAILFAST_DEV) |
- (1 << BIO_RW_FAILFAST_TRANSPORT) |
- (1 << BIO_RW_FAILFAST_DRIVER));
+ current->bio_list = (struct bio_list *) NULL;
;
return 0;
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BIO_RW_FAILFAST_DTD 1" >>confdefs.h
+$as_echo "#define HAVE_CURRENT_BIO_LIST 1" >>confdefs.h
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ as_fn_error $? "no - Please file a bug report at
+ https://github.com/zfsonlinux/zfs/issues/new" "$LINENO" 5
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether REQ_FAILFAST_MASK is defined" >&5
-$as_echo_n "checking whether REQ_FAILFAST_MASK is defined... " >&6; }
+
+fi
+ rm -Rf build
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking block device operation prototypes" >&5
+$as_echo_n "checking block device operation prototypes... " >&6; }
+ tmp_flags="$EXTRA_KCFLAGS"
+ EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}"
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/bio.h>
+ #include <linux/blkdev.h>
+
+ int blk_open(struct block_device *bdev, fmode_t mode)
+ { return 0; }
+ int blk_ioctl(struct block_device *bdev, fmode_t mode,
+ unsigned x, unsigned long y) { return 0; }
+ int blk_compat_ioctl(struct block_device * bdev, fmode_t mode,
+ unsigned x, unsigned long y) { return 0; }
+
+ static const struct block_device_operations
+ bops __attribute__ ((unused)) = {
+ .open = blk_open,
+ .release = NULL,
+ .ioctl = blk_ioctl,
+ .compat_ioctl = blk_compat_ioctl,
+ };
int
main (void)
{
- int flags __attribute__ ((unused));
- flags = REQ_FAILFAST_MASK;
;
return 0;
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: struct block_device" >&5
+$as_echo "struct block_device" >&6; }
-$as_echo "#define HAVE_BIO_REQ_FAILFAST_MASK 1" >>confdefs.h
+$as_echo "#define HAVE_BDEV_BLOCK_DEVICE_OPERATIONS 1" >>confdefs.h
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: struct inode" >&5
+$as_echo "struct inode" >&6; }
rm -Rf build
+ EXTRA_KCFLAGS="$tmp_flags"
- { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking whether block_device_operations.release is void" >&5
+$as_echo_n "checking whether block_device_operations.release is void... " >&6; }
+ tmp_flags="$EXTRA_KCFLAGS"
+ EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}"
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/bio.h>
+ #include <linux/blkdev.h>
- void wanted_end_io(struct bio *bio, int x) { return; }
+ void blk_release(struct gendisk *g, fmode_t mode) { return; }
- bio_end_io_t *end_io __attribute__ ((unused)) = wanted_end_io;
+ static const struct block_device_operations
+ bops __attribute__ ((unused)) = {
+ .open = NULL,
+ .release = blk_release,
+ .ioctl = NULL,
+ .compat_ioctl = NULL,
+ };
int
main (void)
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: void" >&5
+$as_echo "void" >&6; }
-$as_echo "#define HAVE_2ARGS_BIO_END_IO_T 1" >>confdefs.h
+$as_echo "#define HAVE_BLOCK_DEVICE_OPERATIONS_RELEASE_VOID 1" >>confdefs.h
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: int" >&5
+$as_echo "int" >&6; }
rm -Rf build
+ EXTRA_KCFLAGS="$tmp_flags"
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether BIO_RW_SYNC is defined" >&5
-$as_echo_n "checking whether BIO_RW_SYNC is defined... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether kernel defines fmode_t" >&5
+$as_echo_n "checking whether kernel defines fmode_t... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/bio.h>
+ #include <linux/types.h>
int
main (void)
{
- int flags __attribute__ ((unused));
- flags = BIO_RW_SYNC;
+ fmode_t *ptr __attribute__ ((unused));
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BIO_RW_SYNC 1" >>confdefs.h
+$as_echo "#define HAVE_FMODE_T 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether BIO_RW_SYNCIO is defined" >&5
-$as_echo_n "checking whether BIO_RW_SYNCIO is defined... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$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
- #include <linux/bio.h>
+ #include <linux/kobject.h>
int
main (void)
{
- int flags __attribute__ ((unused));
- flags = BIO_RW_SYNCIO;
+ int val __attribute__ ((unused));
+ val = KOBJ_NAME_LEN;
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BIO_RW_SYNCIO 1" >>confdefs.h
+$as_echo "#define HAVE_KOBJ_NAME_LEN 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether REQ_SYNC is defined" >&5
-$as_echo_n "checking whether REQ_SYNC is defined... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$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
- #include <linux/bio.h>
+ #include <linux/fs.h>
int
main (void)
{
- int flags __attribute__ ((unused));
- flags = REQ_SYNC;
+ struct block_device *bdev = NULL;
+ (void) blkdev_get(bdev, 0, NULL);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_REQ_SYNC 1" >>confdefs.h
+$as_echo "#define HAVE_3ARG_BLKDEV_GET 1" >>confdefs.h
else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether blkdev_get_by_path() is available" >&5
+$as_echo_n "checking whether blkdev_get_by_path() is available... " >&6; }
- { $as_echo "$as_me:${as_lineno-$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="${NO_UNUSED_BUT_SET_VARIABLE}"
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/blkdev.h>
+ #include <linux/fs.h>
int
main (void)
{
- struct request *req = NULL;
- (void) blk_end_request(req, 0, 0);
+ blkdev_get_by_path(NULL, 0, NULL);
;
return 0;
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
+ rc=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+ rc=1
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BLK_END_REQUEST 1" >>confdefs.h
+fi
+ rm -Rf build
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ if test $rc -ne 0; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
+ else
+ if test "x$enable_linux_builtin" != xyes; then
+
+ 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 :
+ rc=1
+ else :
+ rc=0
+ fi
+ else :
+ rc=0
+ fi
+ fi
+ if test $rc -ne 0; then :
-fi
- rm -Rf build
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ else :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether blk_end_request() is GPL-only" >&5
-$as_echo_n "checking whether blk_end_request() is GPL-only... " >&6; }
+$as_echo "#define HAVE_BLKDEV_GET_BY_PATH 1" >>confdefs.h
-cat confdefs.h - <<_ACEOF >conftest.c
+ fi
+ fi
- #include <linux/module.h>
- #include <linux/blkdev.h>
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether open_bdev_exclusive() is available" >&5
+$as_echo_n "checking whether open_bdev_exclusive() is available... " >&6; }
- MODULE_LICENSE("$ZFS_META_LICENSE");
+
+
+cat confdefs.h - <<_ACEOF >conftest.c
+
+
+ #include <linux/fs.h>
int
main (void)
{
- struct request *req = NULL;
- (void) blk_end_request(req, 0, 0);
+ open_bdev_exclusive(NULL, 0, NULL);
;
return 0;
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
+ rc=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+ rc=1
+
+
+fi
+ rm -Rf build
+
+
+ if test $rc -ne 0; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ else
+ if test "x$enable_linux_builtin" != xyes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&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 :
+ rc=1
+ else :
+ rc=0
+ fi
+ else :
+ rc=0
+ fi
-$as_echo "#define HAVE_BLK_END_REQUEST_GPL_ONLY 1" >>confdefs.h
+ fi
+ if test $rc -ne 0; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ else :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
-fi
- rm -Rf build
+$as_echo "#define HAVE_OPEN_BDEV_EXCLUSIVE 1" >>confdefs.h
- EXTRA_KCFLAGS="$tmp_flags"
+ fi
+ fi
- { $as_echo "$as_me:${as_lineno-$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="${NO_UNUSED_BUT_SET_VARIABLE}"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lookup_bdev() is available" >&5
+$as_echo_n "checking whether lookup_bdev() is available... " >&6; }
+
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/blkdev.h>
+ #include <linux/fs.h>
int
main (void)
{
- struct request_queue *q = NULL;
- (void) blk_queue_flush(q, REQ_FLUSH);
+ lookup_bdev(NULL);
;
return 0;
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
+ rc=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+ rc=1
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BLK_QUEUE_FLUSH 1" >>confdefs.h
+fi
+ rm -Rf build
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ if test $rc -ne 0; then :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+ else
+ if test "x$enable_linux_builtin" != xyes; then
+
+ grep -q -E '[[:space:]]lookup_bdev[[: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.*(lookup_bdev)" \
+ "$LINUX/$file" 2>/dev/null
+ rc=$?
+ if test $rc -eq 0; then
+ export=1
+ break;
+ fi
+ done
+ if test $export -eq 0; then :
+ rc=1
+ else :
+ rc=0
+ fi
+ else :
+ rc=0
+ fi
+
+ fi
+ if test $rc -ne 0; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
+ else :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_LOOKUP_BDEV 1" >>confdefs.h
-fi
- rm -Rf build
+ fi
+ fi
- { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking whether invalidate_bdev() wants 1 arg" >&5
+$as_echo_n "checking whether invalidate_bdev() wants 1 arg... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/module.h>
- #include <linux/blkdev.h>
-
- MODULE_LICENSE("$ZFS_META_LICENSE");
+ #include <linux/buffer_head.h>
int
main (void)
{
- struct request_queue *q = NULL;
- (void) blk_queue_flush(q, REQ_FLUSH);
+ struct block_device *bdev = NULL;
+ invalidate_bdev(bdev);
;
return 0;
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_1ARG_INVALIDATE_BDEV 1" >>confdefs.h
+
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define HAVE_BLK_QUEUE_FLUSH_GPL_ONLY 1" >>confdefs.h
-
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
rm -Rf build
- EXTRA_KCFLAGS="$tmp_flags"
- { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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="${NO_UNUSED_BUT_SET_VARIABLE}"
main (void)
{
- struct request_queue *q = NULL;
- (void) blk_queue_max_hw_sectors(q, BLK_SAFE_MAX_SECTORS);
+ struct block_device *bdev = NULL;
+ bdev_logical_block_size(bdev);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BLK_QUEUE_MAX_HW_SECTORS 1" >>confdefs.h
+$as_echo "#define HAVE_BDEV_LOGICAL_BLOCK_SIZE 1" >>confdefs.h
else
EXTRA_KCFLAGS="$tmp_flags"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether blk_queue_max_segments() is available" >&5
-$as_echo_n "checking whether blk_queue_max_segments() is available... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether bdev_physical_block_size() is available" >&5
+$as_echo_n "checking whether bdev_physical_block_size() is available... " >&6; }
tmp_flags="$EXTRA_KCFLAGS"
EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}"
main (void)
{
- struct request_queue *q = NULL;
- (void) blk_queue_max_segments(q, BLK_MAX_SEGMENTS);
+ struct block_device *bdev = NULL;
+ bdev_physical_block_size(bdev);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BLK_QUEUE_MAX_SEGMENTS 1" >>confdefs.h
+$as_echo "#define HAVE_BDEV_PHYSICAL_BLOCK_SIZE 1" >>confdefs.h
else
EXTRA_KCFLAGS="$tmp_flags"
- { $as_echo "$as_me:${as_lineno-$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="${NO_UNUSED_BUT_SET_VARIABLE}"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether bio has bi_iter" >&5
+$as_echo_n "checking whether bio has bi_iter... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/blkdev.h>
+ #include <linux/bio.h>
int
main (void)
{
- struct request_queue *q = NULL;
- unsigned short block_size = 1;
- (void) blk_queue_physical_block_size(q, block_size);
+ struct bio bio;
+ bio.bi_iter.bi_sector = 0;
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BLK_QUEUE_PHYSICAL_BLOCK_SIZE 1" >>confdefs.h
+$as_echo "#define HAVE_BIO_BVEC_ITER 1" >>confdefs.h
else
rm -Rf build
- EXTRA_KCFLAGS="$tmp_flags"
- { $as_echo "$as_me:${as_lineno-$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="${NO_UNUSED_BUT_SET_VARIABLE}"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether BIO_RW_FAILFAST_* are defined" >&5
+$as_echo_n "checking whether BIO_RW_FAILFAST_* are defined... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/blkdev.h>
+ #include <linux/bio.h>
int
main (void)
{
- struct request_queue *q = NULL;
- unsigned int opt = 1;
- (void) blk_queue_io_opt(q, opt);
+ int flags __attribute__ ((unused));
+ flags = ((1 << BIO_RW_FAILFAST_DEV) |
+ (1 << BIO_RW_FAILFAST_TRANSPORT) |
+ (1 << BIO_RW_FAILFAST_DRIVER));
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BLK_QUEUE_IO_OPT 1" >>confdefs.h
+$as_echo "#define HAVE_BIO_RW_FAILFAST_DTD 1" >>confdefs.h
else
rm -Rf build
- EXTRA_KCFLAGS="$tmp_flags"
- { $as_echo "$as_me:${as_lineno-$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="${NO_UNUSED_BUT_SET_VARIABLE}"
+ { $as_echo "$as_me:${as_lineno-$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
- #include <linux/blkdev.h>
+ #include <linux/bio.h>
int
main (void)
{
- struct request_queue *q = NULL;
- (void) blk_queue_nonrot(q);
+ int flags __attribute__ ((unused));
+ flags = REQ_FAILFAST_MASK;
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BLK_QUEUE_NONROT 1" >>confdefs.h
+$as_echo "#define HAVE_REQ_FAILFAST_MASK 1" >>confdefs.h
else
rm -Rf build
- EXTRA_KCFLAGS="$tmp_flags"
- { $as_echo "$as_me:${as_lineno-$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="${NO_UNUSED_BUT_SET_VARIABLE}"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether bio_end_io_t wants 1 arg" >&5
+$as_echo_n "checking whether bio_end_io_t wants 1 arg... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/blkdev.h>
+ #include <linux/bio.h>
+
+ void wanted_end_io(struct bio *bio) { return; }
+
+ bio_end_io_t *end_io __attribute__ ((unused)) = wanted_end_io;
int
main (void)
{
- struct request_queue *q = NULL;
- (void) blk_queue_discard(q);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BLK_QUEUE_DISCARD 1" >>confdefs.h
+$as_echo "#define HAVE_1ARG_BIO_END_IO_T 1" >>confdefs.h
else
rm -Rf build
- EXTRA_KCFLAGS="$tmp_flags"
- { $as_echo "$as_me:${as_lineno-$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="${NO_UNUSED_BUT_SET_VARIABLE}"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether BIO_RW_BARRIER is defined" >&5
+$as_echo_n "checking whether BIO_RW_BARRIER is defined... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/blkdev.h>
+ #include <linux/bio.h>
int
main (void)
{
- struct request_queue *q = NULL;
- (void) blk_fetch_request(q);
+ int flags __attribute__ ((unused));
+ flags = BIO_RW_BARRIER;
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BLK_FETCH_REQUEST 1" >>confdefs.h
+$as_echo "#define HAVE_BIO_RW_BARRIER 1" >>confdefs.h
else
rm -Rf build
- EXTRA_KCFLAGS="$tmp_flags"
- { $as_echo "$as_me:${as_lineno-$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="${NO_UNUSED_BUT_SET_VARIABLE}"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether BIO_RW_DISCARD is defined" >&5
+$as_echo_n "checking whether BIO_RW_DISCARD is defined... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/blkdev.h>
+ #include <linux/bio.h>
int
main (void)
{
- struct request_queue *q = NULL;
- struct request *req = NULL;
- blk_requeue_request(q, req);
+ int flags __attribute__ ((unused));
+ flags = BIO_RW_DISCARD;
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BLK_REQUEUE_REQUEST 1" >>confdefs.h
+$as_echo "#define HAVE_BIO_RW_DISCARD 1" >>confdefs.h
else
rm -Rf build
- EXTRA_KCFLAGS="$tmp_flags"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether blk_rq_bytes() is available" >&5
-$as_echo_n "checking whether blk_rq_bytes() is available... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$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="${NO_UNUSED_BUT_SET_VARIABLE}"
main (void)
{
- struct request *req = NULL;
- (void) blk_rq_bytes(req);
+ struct request_queue *q = NULL;
+ (void) blk_queue_flush(q, REQ_FLUSH);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BLK_RQ_BYTES 1" >>confdefs.h
+$as_echo "#define HAVE_BLK_QUEUE_FLUSH 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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
main (void)
{
- struct request *req = NULL;
- (void) blk_rq_bytes(req);
+ struct request_queue *q = NULL;
+ (void) blk_queue_flush(q, REQ_FLUSH);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BLK_RQ_BYTES_GPL_ONLY 1" >>confdefs.h
+$as_echo "#define HAVE_BLK_QUEUE_FLUSH_GPL_ONLY 1" >>confdefs.h
EXTRA_KCFLAGS="$tmp_flags"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether blk_rq_pos() is available" >&5
-$as_echo_n "checking whether blk_rq_pos() is available... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$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="${NO_UNUSED_BUT_SET_VARIABLE}"
main (void)
{
- struct request *req = NULL;
- (void) blk_rq_pos(req);
+ struct request_queue *q = NULL;
+ (void) blk_queue_max_hw_sectors(q, BLK_SAFE_MAX_SECTORS);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BLK_RQ_POS 1" >>confdefs.h
+$as_echo "#define HAVE_BLK_QUEUE_MAX_HW_SECTORS 1" >>confdefs.h
else
EXTRA_KCFLAGS="$tmp_flags"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether blk_rq_sectors() is available" >&5
-$as_echo_n "checking whether blk_rq_sectors() is available... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$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="${NO_UNUSED_BUT_SET_VARIABLE}"
main (void)
{
- struct request *req = NULL;
- (void) blk_rq_sectors(req);
+ struct request_queue *q = NULL;
+ (void) blk_queue_max_segments(q, BLK_MAX_SEGMENTS);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_BLK_RQ_SECTORS 1" >>confdefs.h
+$as_echo "#define HAVE_BLK_QUEUE_MAX_SEGMENTS 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$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="${NO_UNUSED_BUT_SET_VARIABLE}"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ql->discard_granularity is available" >&5
+$as_echo_n "checking whether ql->discard_granularity is available... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
main (void)
{
- struct request *req = NULL;
- (void) rq_is_sync(req);
+ struct queue_limits ql __attribute__ ((unused));
+
+ ql.discard_granularity = 0;
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_RQ_IS_SYNC 1" >>confdefs.h
+$as_echo "#define HAVE_DISCARD_GRANULARITY 1" >>confdefs.h
else
rm -Rf build
- EXTRA_KCFLAGS="$tmp_flags"
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether super_block uses const struct xattr_hander" >&5
+$as_echo_n "checking whether super_block uses const struct xattr_hander... " >&6; }
- tmp_flags="$EXTRA_KCFLAGS"
- EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}"
+cat confdefs.h - <<_ACEOF >conftest.c
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether rq_for_each_segment() wants bio_vec *" >&5
-$as_echo_n "checking whether rq_for_each_segment() wants bio_vec *... " >&6; }
+ #include <linux/fs.h>
+ #include <linux/xattr.h>
-cat confdefs.h - <<_ACEOF >conftest.c
+ const struct xattr_handler xattr_test_handler = {
+ .prefix = "test",
+ .get = NULL,
+ .set = NULL,
+ };
+ const struct xattr_handler *xattr_handlers[] = {
+ &xattr_test_handler,
+ };
- #include <linux/blkdev.h>
+ const struct super_block sb __attribute__ ((unused)) = {
+ .s_xattr = xattr_handlers,
+ };
int
main (void)
{
- struct bio_vec *bv;
- struct req_iterator iter;
- struct request *req = NULL;
- rq_for_each_segment(bv, req, iter) { }
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_RQ_FOR_EACH_SEGMENT 1" >>confdefs.h
-
-
-$as_echo "#define HAVE_RQ_FOR_EACH_SEGMENT_BVP 1" >>confdefs.h
+$as_echo "#define HAVE_CONST_XATTR_HANDLER 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether rq_for_each_segment() wants bio_vec" >&5
-$as_echo_n "checking whether rq_for_each_segment() wants bio_vec... " >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$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
- #include <linux/blkdev.h>
+ #include <linux/xattr.h>
+
+ int get(struct dentry *dentry, const char *name,
+ void *buffer, size_t size, int handler_flags) { return 0; }
+ static const struct xattr_handler
+ xops __attribute__ ((unused)) = {
+ .get = get,
+ };
int
main (void)
{
- struct bio_vec bv;
- struct req_iterator iter;
- struct request *req = NULL;
- rq_for_each_segment(bv, req, iter) { }
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_RQ_FOR_EACH_SEGMENT 1" >>confdefs.h
+$as_echo "#define HAVE_DENTRY_XATTR_GET 1" >>confdefs.h
+
+
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+
+
+fi
+ rm -Rf build
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$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
+
+
+ #include <linux/xattr.h>
+
+ int set(struct dentry *dentry, const char *name,
+ const void *buffer, size_t size, int flags,
+ int handler_flags) { return 0; }
+ static const struct xattr_handler
+ xops __attribute__ ((unused)) = {
+ .set = set,
+ };
+
+int
+main (void)
+{
+
+
+ ;
+ return 0;
+}
+
+_ACEOF
+
+
+
+cat - <<_ACEOF >conftest.h
+
+_ACEOF
+
+
+ rm -Rf build && mkdir -p build && touch build/conftest.mod.c
+ echo "obj-m := conftest.o" >build/Makefile
+ modpost_flag=''
+ test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+ if { ac_try='cp conftest.c conftest.h build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
-$as_echo "#define HAVE_RQ_FOR_EACH_SEGMENT_BV 1" >>confdefs.h
+$as_echo "#define HAVE_DENTRY_XATTR_SET 1" >>confdefs.h
else
- EXTRA_KCFLAGS="$tmp_flags"
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ql->discard_granularity is available" >&5
-$as_echo_n "checking whether ql->discard_granularity is available... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether xattr_handler->list() wants dentry" >&5
+$as_echo_n "checking whether xattr_handler->list() wants dentry... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/blkdev.h>
+ #include <linux/xattr.h>
+
+ size_t list(struct dentry *dentry, char *list, size_t list_size,
+ const char *name, size_t name_len, int handler_flags)
+ { return 0; }
+ static const struct xattr_handler
+ xops __attribute__ ((unused)) = {
+ .list = list,
+ };
int
main (void)
{
- struct queue_limits ql __attribute__ ((unused));
-
- ql.discard_granularity = 0;
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_DISCARD_GRANULARITY 1" >>confdefs.h
+$as_echo "#define HAVE_DENTRY_XATTR_LIST 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking whether inode_owner_or_capable() exists" >&5
+$as_echo_n "checking whether inode_owner_or_capable() exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
#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,
- };
-
- const struct super_block sb __attribute__ ((unused)) = {
- .s_xattr = xattr_handlers,
- };
int
main (void)
{
+ struct inode *ip = NULL;
+ (void) inode_owner_or_capable(ip);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_CONST_XATTR_HANDLER 1" >>confdefs.h
+$as_echo "#define HAVE_INODE_OWNER_OR_CAPABLE 1" >>confdefs.h
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
-
-
-
-fi
- rm -Rf build
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether xattr_handler->get() wants dentry" >&5
-$as_echo_n "checking whether xattr_handler->get() wants dentry... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether is_owner_or_cap() exists" >&5
+$as_echo_n "checking whether is_owner_or_cap() exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/xattr.h>
-
- int get(struct dentry *dentry, const char *name,
- void *buffer, size_t size, int handler_flags) { return 0; }
- static const struct xattr_handler
- xops __attribute__ ((unused)) = {
- .get = get,
- };
+ #include <linux/fs.h>
+ #include <linux/sched.h>
int
main (void)
{
+ struct inode *ip = NULL;
+ (void) is_owner_or_cap(ip);
;
return 0;
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_DENTRY_XATTR_GET 1" >>confdefs.h
+$as_echo "#define HAVE_IS_OWNER_OR_CAP 1" >>confdefs.h
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ as_fn_error $? "no - Please file a bug report at
+ https://github.com/zfsonlinux/zfs/issues/new" "$LINENO" 5
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether xattr_handler->set() wants dentry" >&5
-$as_echo_n "checking whether xattr_handler->set() wants dentry... " >&6; }
+fi
+ rm -Rf build
-cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/xattr.h>
- int set(struct dentry *dentry, const char *name,
- const void *buffer, size_t size, int flags,
- int handler_flags) { return 0; }
- static const struct xattr_handler
- xops __attribute__ ((unused)) = {
- .set = set,
- };
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether posix_acl_from_xattr() needs user_ns" >&5
+$as_echo_n "checking whether posix_acl_from_xattr() needs user_ns... " >&6; }
+
+
+cat confdefs.h - <<_ACEOF >conftest.c
+
+
+ #include <linux/cred.h>
+ #include <linux/fs.h>
+ #include <linux/posix_acl_xattr.h>
int
main (void)
{
+ posix_acl_from_xattr(&init_user_ns, NULL, 0);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_DENTRY_XATTR_SET 1" >>confdefs.h
+$as_echo "#define HAVE_POSIX_ACL_FROM_XATTR_USERNS 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether xattr_handler->list() wants dentry" >&5
-$as_echo_n "checking whether xattr_handler->list() wants dentry... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether posix_acl_release() is available" >&5
+$as_echo_n "checking whether posix_acl_release() is available... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/xattr.h>
-
- size_t list(struct dentry *dentry, char *list, size_t list_size,
- const char *name, size_t name_len, int handler_flags)
- { return 0; }
- static const struct xattr_handler
- xops __attribute__ ((unused)) = {
- .list = list,
- };
+ #include <linux/cred.h>
+ #include <linux/fs.h>
+ #include <linux/posix_acl.h>
int
main (void)
{
+ struct posix_acl* tmp = posix_acl_alloc(1, 0);
+ posix_acl_release(tmp);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_DENTRY_XATTR_LIST 1" >>confdefs.h
+$as_echo "#define HAVE_POSIX_ACL_RELEASE 1" >>confdefs.h
else
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether inode_owner_or_capable() exists" >&5
-$as_echo_n "checking whether inode_owner_or_capable() exists... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether posix_acl_release() is GPL-only" >&5
+$as_echo_n "checking whether posix_acl_release() is GPL-only... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
+ #include <linux/cred.h>
#include <linux/fs.h>
+ #include <linux/posix_acl.h>
+
+ MODULE_LICENSE("$ZFS_META_LICENSE");
int
main (void)
{
- struct inode *ip = NULL;
- (void) inode_owner_or_capable(ip);
+ struct posix_acl* tmp = posix_acl_alloc(1, 0);
+ posix_acl_release(tmp);
;
return 0;
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_INODE_OWNER_OR_CAPABLE 1" >>confdefs.h
+$as_echo "#define HAVE_POSIX_ACL_RELEASE_GPL_ONLY 1" >>confdefs.h
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether is_owner_or_cap() exists" >&5
-$as_echo_n "checking whether is_owner_or_cap() exists... " >&6; }
+
+fi
+ rm -Rf build
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether posix_acl_chmod exists" >&5
+$as_echo_n "checking whether posix_acl_chmod exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/fs.h>
- #include <linux/sched.h>
+ #include <linux/fs.h>
+ #include <linux/posix_acl.h>
int
main (void)
{
- struct inode *ip = NULL;
- (void) is_owner_or_cap(ip);
+ posix_acl_chmod(NULL, 0, 0)
;
return 0;
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_IS_OWNER_OR_CAP 1" >>confdefs.h
+$as_echo "#define HAVE_POSIX_ACL_CHMOD 1" >>confdefs.h
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- as_fn_error $? "no - Please file a bug report at
- https://github.com/zfsonlinux/zfs/issues/new" "$LINENO" 5
-
-
-
-fi
- rm -Rf build
-
-
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether posix_acl_from_xattr() needs user_ns" >&5
-$as_echo_n "checking whether posix_acl_from_xattr() needs user_ns... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether __posix_acl_chmod exists" >&5
+$as_echo_n "checking whether __posix_acl_chmod exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/cred.h>
#include <linux/fs.h>
- #include <linux/posix_acl_xattr.h>
+ #include <linux/posix_acl.h>
int
main (void)
{
- posix_acl_from_xattr(&init_user_ns, NULL, 0);
+ __posix_acl_chmod(NULL, 0, 0)
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_POSIX_ACL_FROM_XATTR_USERNS 1" >>confdefs.h
+$as_echo "#define HAVE___POSIX_ACL_CHMOD 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether posix_acl_release() is available" >&5
-$as_echo_n "checking whether posix_acl_release() is available... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether inode has i_acl and i_default_acl" >&5
+$as_echo_n "checking whether inode has i_acl and i_default_acl... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/cred.h>
#include <linux/fs.h>
- #include <linux/posix_acl.h>
int
main (void)
{
- struct posix_acl* tmp = posix_acl_alloc(1, 0);
- posix_acl_release(tmp);
+ struct inode ino;
+ ino.i_acl = NULL;
+ ino.i_default_acl = NULL;
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_POSIX_ACL_RELEASE 1" >>confdefs.h
+$as_echo "#define HAVE_POSIX_ACL_CACHING 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether posix_acl_release() is GPL-only" >&5
-$as_echo_n "checking whether posix_acl_release() is GPL-only... " >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether posix_acl_equiv_mode() wants umode_t" >&5
+$as_echo_n "checking whether posix_acl_equiv_mode() wants umode_t... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/cred.h>
#include <linux/fs.h>
#include <linux/posix_acl.h>
- MODULE_LICENSE("$ZFS_META_LICENSE");
-
int
main (void)
{
- struct posix_acl* tmp = posix_acl_alloc(1, 0);
- posix_acl_release(tmp);
+ umode_t tmp;
+ posix_acl_equiv_mode(NULL,&tmp);
;
return 0;
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_POSIX_ACL_EQUIV_MODE_UMODE_T 1" >>confdefs.h
+
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define HAVE_POSIX_ACL_RELEASE_GPL_ONLY 1" >>confdefs.h
-
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether posix_acl_chmod exists" >&5
-$as_echo_n "checking whether posix_acl_chmod exists... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->permission() exists" >&5
+$as_echo_n "checking whether iops->permission() exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
- #include <linux/posix_acl.h>
+
+ int permission_fn(struct inode *inode, int mask) { return 0; }
+
+ static const struct inode_operations
+ iops __attribute__ ((unused)) = {
+ .permission = permission_fn,
+ };
int
main (void)
{
- posix_acl_chmod(NULL, 0, 0)
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_POSIX_ACL_CHMOD 1" >>confdefs.h
+$as_echo "#define HAVE_PERMISSION 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether __posix_acl_chmod exists" >&5
-$as_echo_n "checking whether __posix_acl_chmod exists... " >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->permission() wants nameidata" >&5
+$as_echo_n "checking whether iops->permission() wants nameidata... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
- #include <linux/posix_acl.h>
+
+ int permission_fn(struct inode *inode, int mask,
+ struct nameidata *nd) { return 0; }
+
+ static const struct inode_operations
+ iops __attribute__ ((unused)) = {
+ .permission = permission_fn,
+ };
int
main (void)
{
- __posix_acl_chmod(NULL, 0, 0)
;
return 0;
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_PERMISSION 1" >>confdefs.h
+
-$as_echo "#define HAVE___POSIX_ACL_CHMOD 1" >>confdefs.h
+$as_echo "#define HAVE_PERMISSION_WITH_NAMEIDATA 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether inode has i_acl and i_default_acl" >&5
-$as_echo_n "checking whether inode has i_acl and i_default_acl... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->check_acl() exists" >&5
+$as_echo_n "checking whether iops->check_acl() exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
+ int check_acl_fn(struct inode *inode, int mask) { return 0; }
+
+ static const struct inode_operations
+ iops __attribute__ ((unused)) = {
+ .check_acl = check_acl_fn,
+ };
+
int
main (void)
{
- struct inode ino;
- ino.i_acl = NULL;
- ino.i_default_acl = NULL;
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_POSIX_ACL_CACHING 1" >>confdefs.h
+$as_echo "#define HAVE_CHECK_ACL 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether posix_acl_equiv_mode() wants umode_t" >&5
-$as_echo_n "checking whether posix_acl_equiv_mode() wants umode_t... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->check_acl() wants flags" >&5
+$as_echo_n "checking whether iops->check_acl() wants flags... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
- #include <linux/posix_acl.h>
+
+ int check_acl_fn(struct inode *inode, int mask,
+ unsigned int flags) { return 0; }
+
+ static const struct inode_operations
+ iops __attribute__ ((unused)) = {
+ .check_acl = check_acl_fn,
+ };
int
main (void)
{
- umode_t tmp;
- posix_acl_equiv_mode(NULL,&tmp);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_POSIX_ACL_EQUIV_MODE_UMODE_T 1" >>confdefs.h
+$as_echo "#define HAVE_CHECK_ACL 1" >>confdefs.h
+
+
+$as_echo "#define HAVE_CHECK_ACL_WITH_FLAGS 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->permission() exists" >&5
-$as_echo_n "checking whether iops->permission() exists... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->get_acl() exists" >&5
+$as_echo_n "checking whether iops->get_acl() exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
- int permission_fn(struct inode *inode, int mask) { return 0; }
+ struct posix_acl *get_acl_fn(struct inode *inode, int type)
+ { return NULL; }
static const struct inode_operations
iops __attribute__ ((unused)) = {
- .permission = permission_fn,
+ .get_acl = get_acl_fn,
};
int
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_PERMISSION 1" >>confdefs.h
+$as_echo "#define HAVE_GET_ACL 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->permission() wants nameidata" >&5
-$as_echo_n "checking whether iops->permission() wants nameidata... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether current_umask exists" >&5
+$as_echo_n "checking whether current_umask exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
- int permission_fn(struct inode *inode, int mask,
- struct nameidata *nd) { return 0; }
-
- static const struct inode_operations
- iops __attribute__ ((unused)) = {
- .permission = permission_fn,
- };
-
int
main (void)
{
+ current_umask();
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_PERMISSION 1" >>confdefs.h
-
-
-$as_echo "#define HAVE_PERMISSION_WITH_NAMEIDATA 1" >>confdefs.h
+$as_echo "#define HAVE_CURRENT_UMASK 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->check_acl() exists" >&5
-$as_echo_n "checking whether iops->check_acl() exists... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$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
#include <linux/fs.h>
- int check_acl_fn(struct inode *inode, int mask) { return 0; }
-
- static const struct inode_operations
- iops __attribute__ ((unused)) = {
- .check_acl = check_acl_fn,
+ int show_options (struct seq_file * x, struct dentry * y) { return 0; };
+ static struct super_operations sops __attribute__ ((unused)) = {
+ .show_options = show_options,
};
int
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_CHECK_ACL 1" >>confdefs.h
+$as_echo "#define HAVE_SHOW_OPTIONS_WITH_DENTRY 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->check_acl() wants flags" >&5
-$as_echo_n "checking whether iops->check_acl() wants flags... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether file_inode() is available" >&5
+$as_echo_n "checking whether file_inode() is available... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
- int check_acl_fn(struct inode *inode, int mask,
- unsigned int flags) { return 0; }
-
- static const struct inode_operations
- iops __attribute__ ((unused)) = {
- .check_acl = check_acl_fn,
- };
-
int
main (void)
{
+ struct file *f = NULL;
+ file_inode(f);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_CHECK_ACL 1" >>confdefs.h
-
-
-$as_echo "#define HAVE_CHECK_ACL_WITH_FLAGS 1" >>confdefs.h
+$as_echo "#define HAVE_FILE_INODE 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->get_acl() exists" >&5
-$as_echo_n "checking whether iops->get_acl() exists... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fops->fsync() wants" >&5
+$as_echo_n "checking whether fops->fsync() wants... " >&6; }
+
cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
- struct posix_acl *get_acl_fn(struct inode *inode, int type)
- { return NULL; }
+ int test_fsync(struct file *f, struct dentry *dentry, int x)
+ { return 0; }
- static const struct inode_operations
- iops __attribute__ ((unused)) = {
- .get_acl = get_acl_fn,
+ static const struct file_operations
+ fops __attribute__ ((unused)) = {
+ .fsync = test_fsync,
};
int
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: dentry" >&5
+$as_echo "dentry" >&6; }
-$as_echo "#define HAVE_GET_ACL 1" >>confdefs.h
+$as_echo "#define HAVE_FSYNC_WITH_DENTRY 1" >>confdefs.h
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether current_umask exists" >&5
-$as_echo_n "checking whether current_umask exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
+ int test_fsync(struct file *f, int x) { return 0; }
+
+ static const struct file_operations
+ fops __attribute__ ((unused)) = {
+ .fsync = test_fsync,
+ };
+
int
main (void)
{
- current_umask();
;
return 0;
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no dentry" >&5
+$as_echo "no dentry" >&6; }
-$as_echo "#define HAVE_CURRENT_UMASK 1" >>confdefs.h
+$as_echo "#define HAVE_FSYNC_WITHOUT_DENTRY 1" >>confdefs.h
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- { $as_echo "$as_me:${as_lineno-$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
#include <linux/fs.h>
- int show_options (struct seq_file * x, struct dentry * y) { return 0; };
- static struct super_operations sops __attribute__ ((unused)) = {
- .show_options = show_options,
+ int test_fsync(struct file *f, loff_t a, loff_t b, int c)
+ { return 0; }
+
+ static const struct file_operations
+ fops __attribute__ ((unused)) = {
+ .fsync = test_fsync,
};
int
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: range" >&5
+$as_echo "range" >&6; }
-$as_echo "#define HAVE_SHOW_OPTIONS_WITH_DENTRY 1" >>confdefs.h
+$as_echo "#define HAVE_FSYNC_RANGE 1" >>confdefs.h
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether file_inode() is available" >&5
-$as_echo_n "checking whether file_inode() is available... " >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sops->evict_inode() exists" >&5
+$as_echo_n "checking whether sops->evict_inode() exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
+ void evict_inode (struct inode * t) { return; }
+ static struct super_operations sops __attribute__ ((unused)) = {
+ .evict_inode = evict_inode,
+ };
int
main (void)
{
- struct file *f = NULL;
- file_inode(f);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_FILE_INODE 1" >>confdefs.h
+$as_echo "#define HAVE_EVICT_INODE 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fops->fsync() wants" >&5
-$as_echo_n "checking whether fops->fsync() wants... " >&6; }
-
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sops->dirty_inode() wants flags" >&5
+$as_echo_n "checking whether sops->dirty_inode() wants flags... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
- int test_fsync(struct file *f, struct dentry *dentry, int x)
- { return 0; }
+ void dirty_inode(struct inode *a, int b) { return; }
- static const struct file_operations
- fops __attribute__ ((unused)) = {
- .fsync = test_fsync,
+ static const struct super_operations
+ sops __attribute__ ((unused)) = {
+ .dirty_inode = dirty_inode,
};
int
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: dentry" >&5
-$as_echo "dentry" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
-$as_echo "#define HAVE_FSYNC_WITH_DENTRY 1" >>confdefs.h
+$as_echo "#define HAVE_DIRTY_INODE_WITH_FLAGS 1" >>confdefs.h
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$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
#include <linux/fs.h>
- int test_fsync(struct file *f, int x) { return 0; }
+ int nr_cached_objects(struct super_block *sb) { return 0; }
- static const struct file_operations
- fops __attribute__ ((unused)) = {
- .fsync = test_fsync,
+ static const struct super_operations
+ sops __attribute__ ((unused)) = {
+ .nr_cached_objects = nr_cached_objects,
};
int
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no dentry" >&5
-$as_echo "no dentry" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
-$as_echo "#define HAVE_FSYNC_WITHOUT_DENTRY 1" >>confdefs.h
+$as_echo "#define HAVE_NR_CACHED_OBJECTS 1" >>confdefs.h
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$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
#include <linux/fs.h>
- int test_fsync(struct file *f, loff_t a, loff_t b, int c)
- { return 0; }
+ void free_cached_objects(struct super_block *sb, int x)
+ { return; }
- static const struct file_operations
- fops __attribute__ ((unused)) = {
- .fsync = test_fsync,
+ static const struct super_operations
+ sops __attribute__ ((unused)) = {
+ .free_cached_objects = free_cached_objects,
};
int
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: range" >&5
-$as_echo "range" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
-$as_echo "#define HAVE_FSYNC_RANGE 1" >>confdefs.h
+$as_echo "#define HAVE_FREE_CACHED_OBJECTS 1" >>confdefs.h
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sops->evict_inode() exists" >&5
-$as_echo_n "checking whether sops->evict_inode() exists... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fops->fallocate() exists" >&5
+$as_echo_n "checking whether fops->fallocate() exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
- void evict_inode (struct inode * t) { return; }
- static struct super_operations sops __attribute__ ((unused)) = {
- .evict_inode = evict_inode,
+
+ long test_fallocate(struct file *file, int mode,
+ loff_t offset, loff_t len) { return 0; }
+
+ static const struct file_operations
+ fops __attribute__ ((unused)) = {
+ .fallocate = test_fallocate,
};
int
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_EVICT_INODE 1" >>confdefs.h
+$as_echo "#define HAVE_FILE_FALLOCATE 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sops->dirty_inode() wants flags" >&5
-$as_echo_n "checking whether sops->dirty_inode() wants flags... " >&6; }
-
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->fallocate() exists" >&5
+$as_echo_n "checking whether iops->fallocate() exists... " >&6; }
+
cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
- void dirty_inode(struct inode *a, int b) { return; }
+ long test_fallocate(struct inode *inode, int mode,
+ loff_t offset, loff_t len) { return 0; }
- static const struct super_operations
- sops __attribute__ ((unused)) = {
- .dirty_inode = dirty_inode,
+ static const struct inode_operations
+ fops __attribute__ ((unused)) = {
+ .fallocate = test_fallocate,
};
int
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_DIRTY_INODE_WITH_FLAGS 1" >>confdefs.h
+$as_echo "#define HAVE_INODE_FALLOCATE 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sops->nr_cached_objects() exists" >&5
-$as_echo_n "checking whether sops->nr_cached_objects() exists... " >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$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
#include <linux/fs.h>
- int nr_cached_objects(struct super_block *sb) { return 0; }
+ int mkdir(struct inode *inode, struct dentry *dentry,
+ umode_t umode) { return 0; }
- static const struct super_operations
- sops __attribute__ ((unused)) = {
- .nr_cached_objects = nr_cached_objects,
+ static const struct inode_operations
+ iops __attribute__ ((unused)) = {
+ .mkdir = mkdir,
};
int
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_NR_CACHED_OBJECTS 1" >>confdefs.h
+$as_echo "#define HAVE_MKDIR_UMODE_T 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sops->free_cached_objects() exists" >&5
-$as_echo_n "checking whether sops->free_cached_objects() exists... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->lookup() passes nameidata" >&5
+$as_echo_n "checking whether iops->lookup() passes nameidata... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
- void free_cached_objects(struct super_block *sb, int x)
- { return; }
+ struct dentry *inode_lookup(struct inode *inode,
+ struct dentry *dentry, struct nameidata *nidata)
+ { return NULL; }
- static const struct super_operations
- sops __attribute__ ((unused)) = {
- .free_cached_objects = free_cached_objects,
+ static const struct inode_operations iops
+ __attribute__ ((unused)) = {
+ .lookup = inode_lookup,
};
int
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_FREE_CACHED_OBJECTS 1" >>confdefs.h
+$as_echo "#define HAVE_LOOKUP_NAMEIDATA 1" >>confdefs.h
else
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fops->fallocate() exists" >&5
-$as_echo_n "checking whether fops->fallocate() exists... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->create() passes nameidata" >&5
+$as_echo_n "checking whether iops->create() passes nameidata... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
- long test_fallocate(struct file *file, int mode,
- loff_t offset, loff_t len) { return 0; }
+ #ifdef HAVE_MKDIR_UMODE_T
+ int inode_create(struct inode *inode ,struct dentry *dentry,
+ umode_t umode, struct nameidata *nidata) { return 0; }
+ #else
+ int inode_create(struct inode *inode,struct dentry *dentry,
+ int umode, struct nameidata * nidata) { return 0; }
+ #endif
- static const struct file_operations
- fops __attribute__ ((unused)) = {
- .fallocate = test_fallocate,
+ static const struct inode_operations
+ iops __attribute__ ((unused)) = {
+ .create = inode_create,
};
int
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_FILE_FALLOCATE 1" >>confdefs.h
+$as_echo "#define HAVE_CREATE_NAMEIDATA 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->fallocate() exists" >&5
-$as_echo_n "checking whether iops->fallocate() exists... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->follow_link() passes nameidata" >&5
+$as_echo_n "checking whether iops->follow_link() passes nameidata... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
-
- long test_fallocate(struct inode *inode, int mode,
- loff_t offset, loff_t len) { return 0; }
-
- static const struct inode_operations
- fops __attribute__ ((unused)) = {
- .fallocate = test_fallocate,
+ const char *follow_link(struct dentry *de, void **cookie)
+ { return "symlink"; }
+ static struct inode_operations iops __attribute__ ((unused)) = {
+ .follow_link = follow_link,
};
int
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define HAVE_INODE_FALLOCATE 1" >>confdefs.h
-
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_FOLLOW_LINK_NAMEIDATA 1" >>confdefs.h
+
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->create()/mkdir()/mknod() take umode_t" >&5
-$as_echo_n "checking whether iops->create()/mkdir()/mknod() take umode_t... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->put_link() passes nameidata" >&5
+$as_echo_n "checking whether iops->put_link() passes nameidata... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
-
- int mkdir(struct inode *inode, struct dentry *dentry,
- umode_t umode) { return 0; }
-
- static const struct inode_operations
- iops __attribute__ ((unused)) = {
- .mkdir = mkdir,
+ void put_link(struct inode *ip, void *cookie) { return; }
+ static struct inode_operations iops __attribute__ ((unused)) = {
+ .put_link = put_link,
};
int
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define HAVE_MKDIR_UMODE_T 1" >>confdefs.h
-
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_PUT_LINK_NAMEIDATA 1" >>confdefs.h
+
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->lookup() takes struct nameidata" >&5
-$as_echo_n "checking whether iops->lookup() takes struct nameidata... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->truncate_range() exists" >&5
+$as_echo_n "checking whether iops->truncate_range() exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
-
- struct dentry *inode_lookup(struct inode *inode,
- struct dentry *dentry, struct nameidata *nidata)
- { return NULL; }
-
- static const struct inode_operations iops
- __attribute__ ((unused)) = {
- .lookup = inode_lookup,
+ 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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_LOOKUP_NAMEIDATA 1" >>confdefs.h
+$as_echo "#define HAVE_INODE_TRUNCATE_RANGE 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->create() takes struct nameidata" >&5
-$as_echo_n "checking whether iops->create() takes struct nameidata... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether dops->d_automount() exists" >&5
+$as_echo_n "checking whether dops->d_automount() exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/fs.h>
-
- #ifdef HAVE_MKDIR_UMODE_T
- int inode_create(struct inode *inode ,struct dentry *dentry,
- umode_t umode, struct nameidata *nidata) { return 0; }
- #else
- int inode_create(struct inode *inode,struct dentry *dentry,
- int umode, struct nameidata * nidata) { return 0; }
- #endif
-
- static const struct inode_operations
- iops __attribute__ ((unused)) = {
- .create = inode_create,
+ #include <linux/dcache.h>
+ struct vfsmount *d_automount(struct path *p) { return NULL; }
+ struct dentry_operations dops __attribute__ ((unused)) = {
+ .d_automount = d_automount,
};
int
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_CREATE_NAMEIDATA 1" >>confdefs.h
+$as_echo "#define HAVE_AUTOMOUNT 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->truncate_range() exists" >&5
-$as_echo_n "checking whether iops->truncate_range() exists... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$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
- #include <linux/fs.h>
- void truncate_range(struct inode *inode, loff_t start,
- loff_t end) { return; }
- static struct inode_operations iops __attribute__ ((unused)) = {
- .truncate_range = truncate_range,
+ #include <linux/exportfs.h>
+ 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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_INODE_TRUNCATE_RANGE 1" >>confdefs.h
+$as_echo "#define HAVE_ENCODE_FH_WITH_INODE 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether dops->d_automount() exists" >&5
-$as_echo_n "checking whether dops->d_automount() exists... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether eops->commit_metadata() exists" >&5
+$as_echo_n "checking whether eops->commit_metadata() exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/dcache.h>
- struct vfsmount *d_automount(struct path *p) { return NULL; }
- struct dentry_operations dops __attribute__ ((unused)) = {
- .d_automount = d_automount,
+ #include <linux/exportfs.h>
+ int commit_metadata(struct inode *inode) { return 0; }
+ static struct export_operations eops __attribute__ ((unused))={
+ .commit_metadata = commit_metadata,
};
int
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_AUTOMOUNT 1" >>confdefs.h
+$as_echo "#define HAVE_COMMIT_METADATA 1" >>confdefs.h
else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether clear_inode() is available" >&5
+$as_echo_n "checking whether clear_inode() is available... " >&6; }
- { $as_echo "$as_me:${as_lineno-$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
- #include <linux/exportfs.h>
- 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,
- };
+ #include <linux/fs.h>
int
main (void)
{
+ clear_inode(NULL);
;
return 0;
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
+ rc=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+ rc=1
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-$as_echo "#define HAVE_ENCODE_FH_WITH_INODE 1" >>confdefs.h
+fi
+ rm -Rf build
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ if test $rc -ne 0; then :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+ else
+ if test "x$enable_linux_builtin" != xyes; then
+
+ 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 :
+ rc=1
+ else :
+ rc=0
+ fi
+ else :
+ rc=0
+ fi
+
+ fi
+ if test $rc -ne 0; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
+ else :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+$as_echo "#define HAVE_CLEAR_INODE 1" >>confdefs.h
-fi
- rm -Rf build
+ fi
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether insert_inode_locked() is available" >&5
+$as_echo_n "checking whether insert_inode_locked() is available... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether eops->commit_metadata() exists" >&5
-$as_echo_n "checking whether eops->commit_metadata() exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/exportfs.h>
- int commit_metadata(struct inode *inode) { return 0; }
- static struct export_operations eops __attribute__ ((unused))={
- .commit_metadata = commit_metadata,
- };
+ #include <linux/fs.h>
int
main (void)
{
+ insert_inode_locked(NULL);
;
return 0;
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
+ rc=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+ rc=1
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-$as_echo "#define HAVE_COMMIT_METADATA 1" >>confdefs.h
+fi
+ rm -Rf build
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ if test $rc -ne 0; then :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+ else
+ if test "x$enable_linux_builtin" != xyes; then
+
+ 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 :
+ rc=1
+ else :
+ rc=0
+ fi
+ else :
+ rc=0
+ fi
+
+ fi
+ if test $rc -ne 0; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
+ else :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+$as_echo "#define HAVE_INSERT_INODE_LOCKED 1" >>confdefs.h
-fi
- rm -Rf build
+ fi
+ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether clear_inode() is available" >&5
-$as_echo_n "checking whether clear_inode() is available... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether d_make_root() is available" >&5
+$as_echo_n "checking whether d_make_root() is available... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/fs.h>
+ #include <linux/dcache.h>
int
main (void)
{
- clear_inode(NULL);
+ d_make_root(NULL);
;
return 0;
else
if test "x$enable_linux_builtin" != xyes; then
- grep -q -E '[[:space:]]clear_inode[[:space:]]' \
+ 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/inode.c; do
- grep -q -E "EXPORT_SYMBOL.*(clear_inode)" \
+ 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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_CLEAR_INODE 1" >>confdefs.h
+$as_echo "#define HAVE_D_MAKE_ROOT 1" >>confdefs.h
fi
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether insert_inode_locked() is available" >&5
-$as_echo_n "checking whether insert_inode_locked() is available... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether d_obtain_alias() is available" >&5
+$as_echo_n "checking whether d_obtain_alias() is available... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/fs.h>
+ #include <linux/dcache.h>
int
main (void)
{
- insert_inode_locked(NULL);
+ d_obtain_alias(NULL);
;
return 0;
else
if test "x$enable_linux_builtin" != xyes; then
- grep -q -E '[[:space:]]insert_inode_locked[[:space:]]' \
+ 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/inode.c; do
- grep -q -E "EXPORT_SYMBOL.*(insert_inode_locked)" \
+ 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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_INSERT_INODE_LOCKED 1" >>confdefs.h
+$as_echo "#define HAVE_D_OBTAIN_ALIAS 1" >>confdefs.h
fi
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether d_make_root() is available" >&5
-$as_echo_n "checking whether d_make_root() is available... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether d_prune_aliases() is available" >&5
+$as_echo_n "checking whether d_prune_aliases() is available... " >&6; }
main (void)
{
- d_make_root(NULL);
+ struct inode *ip = NULL;
+ d_prune_aliases(ip);
;
return 0;
else
if test "x$enable_linux_builtin" != xyes; then
- grep -q -E '[[:space:]]d_make_root[[:space:]]' \
+ grep -q -E '[[:space:]]d_prune_aliases[[: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)" \
+ grep -q -E "EXPORT_SYMBOL.*(d_prune_aliases)" \
"$LINUX/$file" 2>/dev/null
rc=$?
if test $rc -eq 0; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_D_MAKE_ROOT 1" >>confdefs.h
+$as_echo "#define HAVE_D_PRUNE_ALIASES 1" >>confdefs.h
fi
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether d_obtain_alias() is available" >&5
-$as_echo_n "checking whether d_obtain_alias() is available... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether d_set_d_op() is available" >&5
+$as_echo_n "checking whether d_set_d_op() is available... " >&6; }
main (void)
{
- d_obtain_alias(NULL);
+ d_set_d_op(NULL, NULL);
;
return 0;
else
if test "x$enable_linux_builtin" != xyes; then
- grep -q -E '[[:space:]]d_obtain_alias[[:space:]]' \
+ grep -q -E '[[:space:]]d_set_d_op[[: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)" \
+ grep -q -E "EXPORT_SYMBOL.*(d_set_d_op)" \
"$LINUX/$file" 2>/dev/null
rc=$?
if test $rc -eq 0; then
rc=0
fi
- fi
- if test $rc -ne 0; then :
+ fi
+ if test $rc -ne 0; then :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+ else :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_D_SET_D_OP 1" >>confdefs.h
+
+
+ fi
+ fi
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether dops->d_revalidate() takes struct nameidata" >&5
+$as_echo_n "checking whether dops->d_revalidate() takes struct nameidata... " >&6; }
+
+
+cat confdefs.h - <<_ACEOF >conftest.c
+
+
+ #include <linux/dcache.h>
+
+ int revalidate (struct dentry *dentry,
+ struct nameidata *nidata) { return 0; }
+
+ static const struct dentry_operations
+ dops __attribute__ ((unused)) = {
+ .d_revalidate = revalidate,
+ };
+
+int
+main (void)
+{
+
+
+ ;
+ return 0;
+}
+
+_ACEOF
+
+
+
+cat - <<_ACEOF >conftest.h
+
+_ACEOF
+
+
+ rm -Rf build && mkdir -p build && touch build/conftest.mod.c
+ echo "obj-m := conftest.o" >build/Makefile
+ modpost_flag=''
+ test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+ if { ac_try='cp conftest.c conftest.h build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_D_REVALIDATE_NAMEIDATA 1" >>confdefs.h
+
+
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+
+
+fi
+ rm -Rf build
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether dentry uses const struct dentry_operations" >&5
+$as_echo_n "checking whether dentry uses const struct dentry_operations... " >&6; }
+
+
+cat confdefs.h - <<_ACEOF >conftest.c
+
+
+ #include <linux/dcache.h>
+
+ const struct dentry_operations test_d_op = {
+ .d_revalidate = NULL,
+ };
+
+int
+main (void)
+{
+
+ struct dentry d __attribute__ ((unused));
+
+ d.d_op = &test_d_op;
+
+ ;
+ return 0;
+}
+
+_ACEOF
+
+
+
+cat - <<_ACEOF >conftest.h
+
+_ACEOF
+
+
+ rm -Rf build && mkdir -p build && touch build/conftest.mod.c
+ echo "obj-m := conftest.o" >build/Makefile
+ modpost_flag=''
+ test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+ if { ac_try='cp conftest.c conftest.h build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_CONST_DENTRY_OPERATIONS 1" >>confdefs.h
+
+
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
- else :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-$as_echo "#define HAVE_D_OBTAIN_ALIAS 1" >>confdefs.h
+fi
+ rm -Rf build
- fi
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether d_prune_aliases() is available" >&5
-$as_echo_n "checking whether d_prune_aliases() is available... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether check_disk_size_change() is available" >&5
+$as_echo_n "checking whether check_disk_size_change() is available... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/dcache.h>
+ #include <linux/fs.h>
int
main (void)
{
- struct inode *ip = NULL;
- d_prune_aliases(ip);
+ check_disk_size_change(NULL, NULL);
;
return 0;
else
if test "x$enable_linux_builtin" != xyes; then
- grep -q -E '[[:space:]]d_prune_aliases[[:space:]]' \
+ 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/dcache.c; do
- grep -q -E "EXPORT_SYMBOL.*(d_prune_aliases)" \
+ 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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_D_PRUNE_ALIASES 1" >>confdefs.h
+$as_echo "#define HAVE_CHECK_DISK_SIZE_CHANGE 1" >>confdefs.h
fi
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether d_set_d_op() is available" >&5
-$as_echo_n "checking whether d_set_d_op() is available... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether truncate_setsize() is available" >&5
+$as_echo_n "checking whether truncate_setsize() is available... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/dcache.h>
+ #include <linux/mm.h>
int
main (void)
{
- d_set_d_op(NULL, NULL);
+ truncate_setsize(NULL, 0);
;
return 0;
else
if test "x$enable_linux_builtin" != xyes; then
- grep -q -E '[[:space:]]d_set_d_op[[:space:]]' \
+ 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 fs/dcache.c; do
- grep -q -E "EXPORT_SYMBOL.*(d_set_d_op)" \
+ 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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_D_SET_D_OP 1" >>confdefs.h
+$as_echo "#define HAVE_TRUNCATE_SETSIZE 1" >>confdefs.h
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether dops->d_revalidate() takes struct nameidata" >&5
-$as_echo_n "checking whether dops->d_revalidate() takes struct nameidata... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether security_inode_init_security wants 6 args" >&5
+$as_echo_n "checking whether security_inode_init_security wants 6 args... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/dcache.h>
-
- int revalidate (struct dentry *dentry,
- struct nameidata *nidata) { return 0; }
-
- static const struct dentry_operations
- dops __attribute__ ((unused)) = {
- .d_revalidate = revalidate,
- };
+ #include <linux/security.h>
int
main (void)
{
+ struct inode *ip __attribute__ ((unused)) = NULL;
+ struct inode *dip __attribute__ ((unused)) = NULL;
+ const struct qstr *str __attribute__ ((unused)) = NULL;
+ 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;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_D_REVALIDATE_NAMEIDATA 1" >>confdefs.h
+$as_echo "#define HAVE_6ARGS_SECURITY_INODE_INIT_SECURITY 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether dentry uses const struct dentry_operations" >&5
-$as_echo_n "checking whether dentry uses const struct dentry_operations... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether security_inode_init_security wants callback" >&5
+$as_echo_n "checking whether security_inode_init_security wants callback... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/dcache.h>
-
- const struct dentry_operations test_d_op = {
- .d_revalidate = NULL,
- };
+ #include <linux/security.h>
int
main (void)
{
- struct dentry d __attribute__ ((unused));
+ struct inode *ip __attribute__ ((unused)) = NULL;
+ struct inode *dip __attribute__ ((unused)) = NULL;
+ const struct qstr *str __attribute__ ((unused)) = NULL;
+ initxattrs func __attribute__ ((unused)) = NULL;
- d.d_op = &test_d_op;
+ security_inode_init_security(ip, dip, str, func, NULL);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_CONST_DENTRY_OPERATIONS 1" >>confdefs.h
+$as_echo "#define HAVE_CALLBACK_SECURITY_INODE_INIT_SECURITY 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether check_disk_size_change() is available" >&5
-$as_echo_n "checking whether check_disk_size_change() is available... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mount_nodev() is available" >&5
+$as_echo_n "checking whether mount_nodev() is available... " >&6; }
main (void)
{
- check_disk_size_change(NULL, NULL);
+ mount_nodev(NULL, 0, NULL, NULL);
;
return 0;
else
if test "x$enable_linux_builtin" != xyes; then
- grep -q -E '[[:space:]]check_disk_size_change[[:space:]]' \
+ 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/block_dev.c; do
- grep -q -E "EXPORT_SYMBOL.*(check_disk_size_change)" \
+ 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
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_CHECK_DISK_SIZE_CHANGE 1" >>confdefs.h
+$as_echo "#define HAVE_MOUNT_NODEV 1" >>confdefs.h
fi
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether truncate_setsize() is available" >&5
-$as_echo_n "checking whether truncate_setsize() is available... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$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
- #include <linux/mm.h>
+ #include <linux/fs.h>
+
+ int shrink(struct shrinker *s, struct shrink_control *sc)
+ { return 0; }
+
+ static const struct super_block
+ sb __attribute__ ((unused)) = {
+ .s_shrink.shrink = shrink,
+ .s_shrink.seeks = DEFAULT_SEEKS,
+ .s_shrink.batch = 0,
+ };
+
+int
+main (void)
+{
+
+
+ ;
+ return 0;
+}
+
+_ACEOF
+
+
+
+cat - <<_ACEOF >conftest.h
+
+_ACEOF
+
+
+ rm -Rf build && mkdir -p build && touch build/conftest.mod.c
+ echo "obj-m := conftest.o" >build/Makefile
+ modpost_flag=''
+ test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+ if { ac_try='cp conftest.c conftest.h build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_SHRINK 1" >>confdefs.h
+
+
+
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+
+
+fi
+ rm -Rf build
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether shrink_control has nid" >&5
+$as_echo_n "checking whether shrink_control has nid... " >&6; }
+
+
+cat confdefs.h - <<_ACEOF >conftest.c
+
+
+ #include <linux/fs.h>
+
+int
+main (void)
+{
+
+ struct shrink_control sc __attribute__ ((unused));
+ unsigned long scnidsize __attribute__ ((unused)) =
+ sizeof(sc.nid);
+
+ ;
+ return 0;
+}
+
+_ACEOF
+
+
+
+cat - <<_ACEOF >conftest.h
+
+_ACEOF
+
+
+ rm -Rf build && mkdir -p build && touch build/conftest.mod.c
+ echo "obj-m := conftest.o" >build/Makefile
+ modpost_flag=''
+ test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+ if { ac_try='cp conftest.c conftest.h build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define SHRINK_CONTROL_HAS_NID 1" >>confdefs.h
+
+
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+
+
+fi
+ rm -Rf build
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether super_block has s_instances list_head" >&5
+$as_echo_n "checking whether super_block has s_instances list_head... " >&6; }
+
+
+cat confdefs.h - <<_ACEOF >conftest.c
+
+
+ #include <linux/fs.h>
int
main (void)
{
- truncate_setsize(NULL, 0);
+ struct super_block sb __attribute__ ((unused));
+
+ INIT_LIST_HEAD(&sb.s_instances);
;
return 0;
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- rc=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- rc=1
-
-fi
- rm -Rf build
-
-
- if test $rc -ne 0; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
- else
- if test "x$enable_linux_builtin" != xyes; then
+$as_echo "#define HAVE_S_INSTANCES_LIST_HEAD 1" >>confdefs.h
- 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 :
- rc=1
- else :
- rc=0
- fi
- else :
- rc=0
- fi
- fi
- if test $rc -ne 0; then :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
- else :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define HAVE_TRUNCATE_SETSIZE 1" >>confdefs.h
- fi
- fi
+fi
+ rm -Rf build
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether security_inode_init_security wants 6 args" >&5
-$as_echo_n "checking whether security_inode_init_security wants 6 args... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether super_block has s_d_op" >&5
+$as_echo_n "checking whether super_block has s_d_op... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/security.h>
+ #include <linux/fs.h>
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);
+ struct super_block sb __attribute__ ((unused));
+ sb.s_d_op = NULL;
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_6ARGS_SECURITY_INODE_INIT_SECURITY 1" >>confdefs.h
+$as_echo "#define HAVE_S_D_OP 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether security_inode_init_security wants callback" >&5
-$as_echo_n "checking whether security_inode_init_security wants callback... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether bdi_setup_and_register() wants 2 args" >&5
+$as_echo_n "checking whether bdi_setup_and_register() wants 2 args... " >&6; }
+
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/security.h>
+ #include <linux/backing-dev.h>
+ struct backing_dev_info bdi;
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);
+ char *name = "bdi";
+ int error __attribute__((unused)) =
+ bdi_setup_and_register(&bdi, name);
;
return 0;
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define HAVE_CALLBACK_SECURITY_INODE_INIT_SECURITY 1" >>confdefs.h
-
-
+ rc=0
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
+ rc=1
fi
rm -Rf build
+ if test $rc -ne 0; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mount_nodev() is available" >&5
-$as_echo_n "checking whether mount_nodev() is available... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether bdi_setup_and_register() wants 3 args" >&5
+$as_echo_n "checking whether bdi_setup_and_register() wants 3 args... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/fs.h>
+ #include <linux/backing-dev.h>
+ struct backing_dev_info bdi;
int
main (void)
{
- mount_nodev(NULL, 0, NULL, NULL);
+ char *name = "bdi";
+ unsigned int cap = BDI_CAP_MAP_COPY;
+ int error __attribute__((unused)) =
+ bdi_setup_and_register(&bdi, name, cap);
;
return 0;
if test $rc -ne 0; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
else
if test "x$enable_linux_builtin" != xyes; then
- grep -q -E '[[:space:]]mount_nodev[[:space:]]' \
+ grep -q -E '[[:space:]]bdi_setup_and_register[[:space:]]' \
$LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null
rc=$?
if test $rc -ne 0; then
export=0
- for file in fs/super.c; do
- grep -q -E "EXPORT_SYMBOL.*(mount_nodev)" \
+ 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
fi
if test $rc -ne 0; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
else :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_MOUNT_NODEV 1" >>confdefs.h
+$as_echo "#define HAVE_3ARGS_BDI_SETUP_AND_REGISTER 1" >>confdefs.h
fi
fi
+ else
+ if test "x$enable_linux_builtin" != xyes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether super_block has s_shrink" >&5
-$as_echo_n "checking whether super_block has s_shrink... " >&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 :
+ rc=1
+ else :
+ rc=0
+ fi
+ else :
+ rc=0
+ fi
+ fi
+ if test $rc -ne 0; then :
-cat confdefs.h - <<_ACEOF >conftest.c
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether bdi_setup_and_register() wants 3 args" >&5
+$as_echo_n "checking whether bdi_setup_and_register() wants 3 args... " >&6; }
- #include <linux/fs.h>
- int shrink(struct shrinker *s, struct shrink_control *sc)
- { return 0; }
+cat confdefs.h - <<_ACEOF >conftest.c
- static const struct super_block
- sb __attribute__ ((unused)) = {
- .s_shrink.shrink = shrink,
- .s_shrink.seeks = DEFAULT_SEEKS,
- .s_shrink.batch = 0,
- };
+
+ #include <linux/backing-dev.h>
+ struct backing_dev_info bdi;
int
main (void)
{
+ char *name = "bdi";
+ unsigned int cap = BDI_CAP_MAP_COPY;
+ int error __attribute__((unused)) =
+ bdi_setup_and_register(&bdi, name, cap);
;
return 0;
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define HAVE_SHRINK 1" >>confdefs.h
-
-
-
+ rc=0
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
+ rc=1
fi
rm -Rf build
+ if test $rc -ne 0; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether shrink_control has nid" >&5
-$as_echo_n "checking whether shrink_control has nid... " >&6; }
-
-
-cat confdefs.h - <<_ACEOF >conftest.c
-
-
- #include <linux/fs.h>
-
-int
-main (void)
-{
-
- struct shrink_control sc __attribute__ ((unused));
- unsigned long scnidsize __attribute__ ((unused)) =
- sizeof(sc.nid);
-
- ;
- return 0;
-}
-
-_ACEOF
-
-
+ else
+ if test "x$enable_linux_builtin" != xyes; then
-cat - <<_ACEOF >conftest.h
+ 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 :
+ rc=1
+ else :
+ rc=0
+ fi
+ else :
+ rc=0
+ fi
-_ACEOF
+ fi
+ if test $rc -ne 0; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
- rm -Rf build && mkdir -p build && touch build/conftest.mod.c
- echo "obj-m := conftest.o" >build/Makefile
- modpost_flag=''
- test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
- if { ac_try='cp conftest.c conftest.h build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
+ else :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define SHRINK_CONTROL_HAS_NID 1" >>confdefs.h
+$as_echo "#define HAVE_3ARGS_BDI_SETUP_AND_REGISTER 1" >>confdefs.h
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ fi
+ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ else :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
-fi
- rm -Rf build
+$as_echo "#define HAVE_2ARGS_BDI_SETUP_AND_REGISTER 1" >>confdefs.h
+ fi
+ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether super_block has s_instances list_head" >&5
-$as_echo_n "checking whether super_block has s_instances list_head... " >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether set_nlink() is available" >&5
+$as_echo_n "checking whether set_nlink() is available... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
main (void)
{
- struct super_block sb __attribute__ ((unused));
-
- INIT_LIST_HEAD(&sb.s_instances);
+ struct inode node;
+ unsigned int link = 0;
+ (void) set_nlink(&node, link);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_S_INSTANCES_LIST_HEAD 1" >>confdefs.h
+$as_echo "#define HAVE_SET_NLINK 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether super_block has s_d_op" >&5
-$as_echo_n "checking whether super_block has s_d_op... " >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether elevator_change() is available" >&5
+$as_echo_n "checking whether elevator_change() is available... " >&6; }
+ tmp_flags="$EXTRA_KCFLAGS"
+ EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}"
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/fs.h>
+ #include <linux/blkdev.h>
+ #include <linux/elevator.h>
int
main (void)
{
- struct super_block sb __attribute__ ((unused));
- sb.s_d_op = NULL;
+ int ret;
+ struct request_queue *q = NULL;
+ char *elevator = NULL;
+ ret = elevator_change(q, elevator);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_S_D_OP 1" >>confdefs.h
+$as_echo "#define HAVE_ELEVATOR_CHANGE 1" >>confdefs.h
else
rm -Rf build
+ EXTRA_KCFLAGS="$tmp_flags"
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether bdi_setup_and_register() wants 2 args" >&5
-$as_echo_n "checking whether bdi_setup_and_register() wants 2 args... " >&6; }
-
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sget() wants 5 args" >&5
+$as_echo_n "checking whether sget() wants 5 args... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/backing-dev.h>
+ #include <linux/fs.h>
int
main (void)
{
- struct backing_dev_info bdi;
- char *name = "bdi";
- int error __attribute__((unused)) =
- bdi_setup_and_register(&bdi, name);
+ struct file_system_type *type = NULL;
+ int (*test)(struct super_block *,void *) = NULL;
+ int (*set)(struct super_block *,void *) = NULL;
+ int flags = 0;
+ void *data = NULL;
+ (void) sget(type, test, set, flags, data);
;
return 0;
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- rc=0
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_5ARG_SGET 1" >>confdefs.h
+
+
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- rc=1
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
fi
rm -Rf build
- if test $rc -ne 0; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether bdi_setup_and_register() wants 3 args" >&5
-$as_echo_n "checking whether bdi_setup_and_register() wants 3 args... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lseek_execute() is available" >&5
+$as_echo_n "checking whether lseek_execute() is available... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/backing-dev.h>
+ #include <linux/fs.h>
int
main (void)
{
- struct backing_dev_info bdi;
- char *name = "bdi";
- unsigned int cap = BDI_CAP_MAP_COPY;
- int error __attribute__((unused)) =
- bdi_setup_and_register(&bdi, name, cap);
+ struct file *fp __attribute__ ((unused)) = NULL;
+ struct inode *ip __attribute__ ((unused)) = NULL;
+ loff_t offset __attribute__ ((unused)) = 0;
+ loff_t maxsize __attribute__ ((unused)) = 0;
+
+ lseek_execute(fp, ip, offset, maxsize);
;
return 0;
if test $rc -ne 0; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
else
if test "x$enable_linux_builtin" != xyes; then
- grep -q -E '[[:space:]]bdi_setup_and_register[[:space:]]' \
+ grep -q -E '[[:space:]]lseek_exclusive[[: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)" \
+ for file in fs/read_write.c; do
+ grep -q -E "EXPORT_SYMBOL.*(lseek_exclusive)" \
"$LINUX/$file" 2>/dev/null
rc=$?
if test $rc -eq 0; then
fi
if test $rc -ne 0; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
else :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_3ARGS_BDI_SETUP_AND_REGISTER 1" >>confdefs.h
-
-
- fi
- fi
-
+$as_echo "#define HAVE_LSEEK_EXECUTE 1" >>confdefs.h
- else
- if test "x$enable_linux_builtin" != xyes; then
- 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 :
- rc=1
- else :
- rc=0
fi
- else :
- rc=0
fi
- fi
- if test $rc -ne 0; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether bdi_setup_and_register() wants 3 args" >&5
-$as_echo_n "checking whether bdi_setup_and_register() wants 3 args... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fops->iterate() is available" >&5
+$as_echo_n "checking whether fops->iterate() is available... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/backing-dev.h>
+ #include <linux/fs.h>
+ int iterate(struct file *filp, struct dir_context * context)
+ { return 0; }
+
+ static const struct file_operations fops
+ __attribute__ ((unused)) = {
+ .iterate = iterate,
+ };
int
main (void)
{
- struct backing_dev_info bdi;
- char *name = "bdi";
- unsigned int cap = BDI_CAP_MAP_COPY;
- int error __attribute__((unused)) =
- bdi_setup_and_register(&bdi, name, cap);
;
return 0;
-cat - <<_ACEOF >conftest.h
-
-_ACEOF
-
-
- rm -Rf build && mkdir -p build && touch build/conftest.mod.c
- echo "obj-m := conftest.o" >build/Makefile
- modpost_flag=''
- test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
- if { ac_try='cp conftest.c conftest.h build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
- rc=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- rc=1
-
-
-fi
- rm -Rf build
-
-
- if test $rc -ne 0; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
- else
- if test "x$enable_linux_builtin" != xyes; then
-
- 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 :
- rc=1
- else :
- rc=0
- fi
- else :
- rc=0
- fi
-
- fi
- if test $rc -ne 0; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
- else :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define HAVE_3ARGS_BDI_SETUP_AND_REGISTER 1" >>confdefs.h
-
+cat - <<_ACEOF >conftest.h
- fi
- fi
+_ACEOF
- else :
+ rm -Rf build && mkdir -p build && touch build/conftest.mod.c
+ echo "obj-m := conftest.o" >build/Makefile
+ modpost_flag=''
+ test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+ if { ac_try='cp conftest.c conftest.h build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; } >/dev/null && { ac_try='test -s build/conftest.o'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_2ARGS_BDI_SETUP_AND_REGISTER 1" >>confdefs.h
-
+$as_echo "#define HAVE_VFS_ITERATE 1" >>confdefs.h
- fi
- fi
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether set_nlink() is available" >&5
-$as_echo_n "checking whether set_nlink() is available... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fops->readdir() is available" >&5
+$as_echo_n "checking whether fops->readdir() is available... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/fs.h>
+ #include <linux/fs.h>
+ int readdir(struct file *filp, void *entry, filldir_t func)
+ { return 0; }
+
+ static const struct file_operations fops
+ __attribute__ ((unused)) = {
+ .readdir = readdir,
+ };
int
main (void)
{
- struct inode node;
- unsigned int link = 0;
- (void) set_nlink(&node, link);
;
return 0;
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_SET_NLINK 1" >>confdefs.h
+$as_echo "#define HAVE_VFS_READDIR 1" >>confdefs.h
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ as_fn_error $? "no; file a bug report with ZFSOnLinux" "$LINENO" 5
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether elevator_change() is available" >&5
-$as_echo_n "checking whether elevator_change() is available... " >&6; }
- tmp_flags="$EXTRA_KCFLAGS"
- EXTRA_KCFLAGS="${NO_UNUSED_BUT_SET_VARIABLE}"
+
+
+fi
+ rm -Rf build
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fops->read/write_iter() are available" >&5
+$as_echo_n "checking whether fops->read/write_iter() are available... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/blkdev.h>
- #include <linux/elevator.h>
+ #include <linux/fs.h>
+
+ ssize_t test_read(struct kiocb *kiocb, struct iov_iter *to)
+ { return 0; }
+ ssize_t test_write(struct kiocb *kiocb, struct iov_iter *from)
+ { return 0; }
+
+ static const struct file_operations
+ fops __attribute__ ((unused)) = {
+ .read_iter = test_read,
+ .write_iter = test_write,
+ };
int
main (void)
{
- int ret;
- struct request_queue *q = NULL;
- char *elevator = NULL;
- ret = elevator_change(q, elevator);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_ELEVATOR_CHANGE 1" >>confdefs.h
+$as_echo "#define HAVE_VFS_RW_ITERATE 1" >>confdefs.h
else
rm -Rf build
- EXTRA_KCFLAGS="$tmp_flags"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sget() wants 5 args" >&5
-$as_echo_n "checking whether sget() wants 5 args... " >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether kmap_atomic wants 1 args" >&5
+$as_echo_n "checking whether kmap_atomic wants 1 args... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/fs.h>
+ #include <linux/pagemap.h>
int
main (void)
{
- struct file_system_type *type = NULL;
- int (*test)(struct super_block *,void *) = NULL;
- int (*set)(struct super_block *,void *) = NULL;
- int flags = 0;
- void *data = NULL;
- (void) sget(type, test, set, flags, data);
+ struct page page;
+ kmap_atomic(&page);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_5ARG_SGET 1" >>confdefs.h
+$as_echo "#define HAVE_1ARG_KMAP_ATOMIC 1" >>confdefs.h
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lseek_execute() is available" >&5
-$as_echo_n "checking whether lseek_execute() is available... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether follow_down_one() is available" >&5
+$as_echo_n "checking whether follow_down_one() is available... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/fs.h>
+ #include <linux/namei.h>
int
main (void)
{
- struct file *fp __attribute__ ((unused)) = NULL;
- struct inode *ip __attribute__ ((unused)) = NULL;
- loff_t offset __attribute__ ((unused)) = 0;
- loff_t maxsize __attribute__ ((unused)) = 0;
-
- lseek_execute(fp, ip, offset, maxsize);
+ struct path *p = NULL;
+ follow_down_one(p);
;
return 0;
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
- rc=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- rc=1
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
-fi
- rm -Rf build
-
-
- if test $rc -ne 0; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
- else
- if test "x$enable_linux_builtin" != xyes; then
+$as_echo "#define HAVE_FOLLOW_DOWN_ONE 1" >>confdefs.h
- grep -q -E '[[:space:]]lseek_exclusive[[:space:]]' \
- $LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null
- rc=$?
- if test $rc -ne 0; then
- export=0
- for file in fs/read_write.c; do
- grep -q -E "EXPORT_SYMBOL.*(lseek_exclusive)" \
- "$LINUX/$file" 2>/dev/null
- rc=$?
- if test $rc -eq 0; then
- export=1
- break;
- fi
- done
- if test $export -eq 0; then :
- rc=1
- else :
- rc=0
- fi
- else :
- rc=0
- fi
- fi
- if test $rc -ne 0; then :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
- else :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-$as_echo "#define HAVE_LSEEK_EXECUTE 1" >>confdefs.h
+fi
+ rm -Rf build
- fi
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fops->iterate() is available" >&5
-$as_echo_n "checking whether fops->iterate() is available... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether make_request_fn() returns int" >&5
+$as_echo_n "checking whether make_request_fn() returns int... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/fs.h>
- int iterate(struct file *filp, struct dir_context * context)
- { return 0; }
+ #include <linux/blkdev.h>
- static const struct file_operations fops
- __attribute__ ((unused)) = {
- .iterate = iterate,
- };
+ int make_request(struct request_queue *q, struct bio *bio)
+ {
+ return (0);
+ }
int
main (void)
{
+ blk_queue_make_request(NULL, &make_request);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_VFS_ITERATE 1" >>confdefs.h
+$as_echo "#define MAKE_REQUEST_FN_RET int" >>confdefs.h
+
+
+$as_echo "#define HAVE_MAKE_REQUEST_FN_RET_INT 1" >>confdefs.h
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fops->readdir() is available" >&5
-$as_echo_n "checking whether fops->readdir() is available... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether make_request_fn() returns void" >&5
+$as_echo_n "checking whether make_request_fn() returns void... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/fs.h>
- int readdir(struct file *filp, void *entry, filldir_t func)
- { return 0; }
+ #include <linux/blkdev.h>
- static const struct file_operations fops
- __attribute__ ((unused)) = {
- .readdir = readdir,
- };
+ void make_request(struct request_queue *q, struct bio *bio)
+ {
+ return;
+ }
int
main (void)
{
+ blk_queue_make_request(NULL, &make_request);
;
return 0;
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_VFS_READDIR 1" >>confdefs.h
+$as_echo "#define MAKE_REQUEST_FN_RET void" >>confdefs.h
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- as_fn_error $? "no; file a bug report with ZFSOnLinux" "$LINENO" 5
+ as_fn_error $? "no - Please file a bug report at
+ https://github.com/zfsonlinux/zfs/issues/new" "$LINENO" 5
-
fi
rm -Rf build
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fops->read/write_iter() are available" >&5
-$as_echo_n "checking whether fops->read/write_iter() are available... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether generic IO accounting symbols are avaliable" >&5
+$as_echo_n "checking whether generic IO accounting symbols are avaliable... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/fs.h>
+cat confdefs.h - <<_ACEOF >conftest.c
- ssize_t test_read(struct kiocb *kiocb, struct iov_iter *to)
- { return 0; }
- ssize_t test_write(struct kiocb *kiocb, struct iov_iter *from)
- { return 0; }
- static const struct file_operations
- fops __attribute__ ((unused)) = {
- .read_iter = test_read,
- .write_iter = test_write,
- };
+ #include <linux/bio.h>
+
+ void (*generic_start_io_acct_f)(int, unsigned long,
+ struct hd_struct *) = &generic_start_io_acct;
+ void (*generic_end_io_acct_f)(int, struct hd_struct *,
+ unsigned long) = &generic_end_io_acct;
int
main (void)
{
+ generic_start_io_acct(0, 0, NULL);
+ generic_end_io_acct(0, NULL, 0);
;
return 0;
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
+ rc=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+ rc=1
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-$as_echo "#define HAVE_VFS_RW_ITERATE 1" >>confdefs.h
+fi
+ rm -Rf build
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ if test $rc -ne 0; then :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+ else
+ if test "x$enable_linux_builtin" != xyes; then
+
+ grep -q -E '[[:space:]]generic_start_io_acct[[:space:]]' \
+ $LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null
+ rc=$?
+ if test $rc -ne 0; then
+ export=0
+ for file in block/bio.c; do
+ grep -q -E "EXPORT_SYMBOL.*(generic_start_io_acct)" \
+ "$LINUX/$file" 2>/dev/null
+ rc=$?
+ if test $rc -eq 0; then
+ export=1
+ break;
+ fi
+ done
+ if test $export -eq 0; then :
+ rc=1
+ else :
+ rc=0
+ fi
+ else :
+ rc=0
+ fi
+
+ fi
+ if test $rc -ne 0; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
+ else :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_GENERIC_IO_ACCT 1" >>confdefs.h
-fi
- rm -Rf build
+ fi
+ fi
KERNELCPPFLAGS="$KERNELCPPFLAGS $NO_UNUSED_BUT_SET_VARIABLE"
+ KERNELCPPFLAGS="$KERNELCPPFLAGS $NO_BOOL_COMPARE"
KERNELCPPFLAGS="$KERNELCPPFLAGS -DHAVE_SPL -D_KERNEL"
KERNELCPPFLAGS="$KERNELCPPFLAGS -DTEXT_DOMAIN=\\\"zfs-linux-kernel\\\""
if test "${with_mounthelperdir+set}" = set; then :
withval=$with_mounthelperdir; mounthelperdir=$withval
else
- mounthelperdir=$sbindir
+ mounthelperdir=/sbin
fi
$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 etc/systemd/Makefile etc/systemd/system/Makefile etc/modules-load.d/Makefile man/Makefile man/man1/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/libzfs.pc lib/libzfs/libzfs_core.pc lib/libzfs/Makefile lib/libzfs_core/Makefile lib/libshare/Makefile cmd/Makefile cmd/zdb/Makefile cmd/zhack/Makefile cmd/zfs/Makefile cmd/zinject/Makefile cmd/zpool/Makefile cmd/zstreamdump/Makefile cmd/ztest/Makefile cmd/zpios/Makefile cmd/mount_zfs/Makefile cmd/fsck_zfs/Makefile cmd/zvol_id/Makefile cmd/vdev_id/Makefile cmd/arcstat/Makefile cmd/dbufstat/Makefile cmd/arc_summary/Makefile cmd/zed/Makefile contrib/Makefile contrib/bash_completion.d/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/common.sh rpm/Makefile rpm/redhat/Makefile rpm/redhat/zfs.spec rpm/redhat/zfs-kmod.spec rpm/redhat/zfs-dkms.spec rpm/generic/Makefile rpm/generic/zfs.spec rpm/generic/zfs-kmod.spec rpm/generic/zfs-dkms.spec zfs-script-config.sh zfs.release"
+ac_config_files="$ac_config_files Makefile udev/Makefile udev/rules.d/Makefile etc/Makefile etc/init.d/Makefile etc/zfs/Makefile etc/systemd/Makefile etc/systemd/system/Makefile etc/modules-load.d/Makefile man/Makefile man/man1/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/libzfs.pc lib/libzfs/libzfs_core.pc lib/libzfs/Makefile lib/libzfs_core/Makefile lib/libshare/Makefile cmd/Makefile cmd/zdb/Makefile cmd/zhack/Makefile cmd/zfs/Makefile cmd/zinject/Makefile cmd/zpool/Makefile cmd/zstreamdump/Makefile cmd/ztest/Makefile cmd/zpios/Makefile cmd/mount_zfs/Makefile cmd/fsck_zfs/Makefile cmd/zvol_id/Makefile cmd/vdev_id/Makefile cmd/arcstat/Makefile cmd/dbufstat/Makefile cmd/arc_summary/Makefile cmd/zed/Makefile contrib/Makefile contrib/bash_completion.d/Makefile contrib/dracut/Makefile contrib/dracut/90zfs/Makefile contrib/initramfs/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/common.sh rpm/Makefile rpm/redhat/Makefile rpm/redhat/zfs.spec rpm/redhat/zfs-kmod.spec rpm/redhat/zfs-dkms.spec rpm/generic/Makefile rpm/generic/zfs.spec rpm/generic/zfs-kmod.spec rpm/generic/zfs-dkms.spec zfs-script-config.sh zfs.release"
cat >confcache <<\_ACEOF
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by zfs $as_me 0.6.4.2, which was
+This file was extended by zfs $as_me 0.6.5.3, which was
generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-zfs config.status 0.6.4.2
+zfs config.status 0.6.5.3
configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\"
"depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
"libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "dracut/Makefile") CONFIG_FILES="$CONFIG_FILES dracut/Makefile" ;;
- "dracut/90zfs/Makefile") CONFIG_FILES="$CONFIG_FILES dracut/90zfs/Makefile" ;;
"udev/Makefile") CONFIG_FILES="$CONFIG_FILES udev/Makefile" ;;
"udev/rules.d/Makefile") CONFIG_FILES="$CONFIG_FILES udev/rules.d/Makefile" ;;
"etc/Makefile") CONFIG_FILES="$CONFIG_FILES etc/Makefile" ;;
"cmd/zed/Makefile") CONFIG_FILES="$CONFIG_FILES cmd/zed/Makefile" ;;
"contrib/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/Makefile" ;;
"contrib/bash_completion.d/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/bash_completion.d/Makefile" ;;
+ "contrib/dracut/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/dracut/Makefile" ;;
+ "contrib/dracut/90zfs/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/dracut/90zfs/Makefile" ;;
+ "contrib/initramfs/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/initramfs/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" ;;