diff --git a/Makefile.in b/Makefile.in index 75d9103e27..734a453e1c 100644 --- a/Makefile.in +++ b/Makefile.in @@ -51,7 +51,12 @@ DIST_COMMON = README $(am__configure_deps) $(noinst_HEADERS) \ ChangeLog TODO subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/config/kernel-bio-args.m4 \ +am__aclocal_m4_deps = \ + $(top_srcdir)/config/kernel-bio-empty-barrier.m4 \ + $(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \ + $(top_srcdir)/config/kernel-bio-rw-syncio.m4 \ + $(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \ + $(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \ $(top_srcdir)/config/kernel.m4 \ $(top_srcdir)/config/user-arch.m4 \ $(top_srcdir)/config/user-ioctl.m4 \ diff --git a/cmd/Makefile.in b/cmd/Makefile.in index 3e2cb22356..97ef9deb80 100644 --- a/cmd/Makefile.in +++ b/cmd/Makefile.in @@ -39,7 +39,12 @@ target_triplet = @target@ subdir = cmd DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/config/kernel-bio-args.m4 \ +am__aclocal_m4_deps = \ + $(top_srcdir)/config/kernel-bio-empty-barrier.m4 \ + $(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \ + $(top_srcdir)/config/kernel-bio-rw-syncio.m4 \ + $(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \ + $(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \ $(top_srcdir)/config/kernel.m4 \ $(top_srcdir)/config/user-arch.m4 \ $(top_srcdir)/config/user-ioctl.m4 \ diff --git a/cmd/zdb/Makefile.in b/cmd/zdb/Makefile.in index 16dbdafcce..c631cc5326 100644 --- a/cmd/zdb/Makefile.in +++ b/cmd/zdb/Makefile.in @@ -42,7 +42,12 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ sbin_PROGRAMS = zdb$(EXEEXT) subdir = cmd/zdb ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/config/kernel-bio-args.m4 \ +am__aclocal_m4_deps = \ + $(top_srcdir)/config/kernel-bio-empty-barrier.m4 \ + $(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \ + $(top_srcdir)/config/kernel-bio-rw-syncio.m4 \ + $(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \ + $(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \ $(top_srcdir)/config/kernel.m4 \ $(top_srcdir)/config/user-arch.m4 \ $(top_srcdir)/config/user-ioctl.m4 \ diff --git a/cmd/zfs/Makefile.in b/cmd/zfs/Makefile.in index 438e0d0dfc..f78283aac6 100644 --- a/cmd/zfs/Makefile.in +++ b/cmd/zfs/Makefile.in @@ -42,7 +42,12 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ sbin_PROGRAMS = zfs$(EXEEXT) subdir = cmd/zfs ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/config/kernel-bio-args.m4 \ +am__aclocal_m4_deps = \ + $(top_srcdir)/config/kernel-bio-empty-barrier.m4 \ + $(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \ + $(top_srcdir)/config/kernel-bio-rw-syncio.m4 \ + $(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \ + $(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \ $(top_srcdir)/config/kernel.m4 \ $(top_srcdir)/config/user-arch.m4 \ $(top_srcdir)/config/user-ioctl.m4 \ diff --git a/cmd/zinject/Makefile.in b/cmd/zinject/Makefile.in index c1f8f822df..650e21e302 100644 --- a/cmd/zinject/Makefile.in +++ b/cmd/zinject/Makefile.in @@ -42,7 +42,12 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ sbin_PROGRAMS = zinject$(EXEEXT) subdir = cmd/zinject ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/config/kernel-bio-args.m4 \ +am__aclocal_m4_deps = \ + $(top_srcdir)/config/kernel-bio-empty-barrier.m4 \ + $(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \ + $(top_srcdir)/config/kernel-bio-rw-syncio.m4 \ + $(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \ + $(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \ $(top_srcdir)/config/kernel.m4 \ $(top_srcdir)/config/user-arch.m4 \ $(top_srcdir)/config/user-ioctl.m4 \ diff --git a/cmd/zpios/Makefile.in b/cmd/zpios/Makefile.in index a559ad191b..fd6bcfc9ba 100644 --- a/cmd/zpios/Makefile.in +++ b/cmd/zpios/Makefile.in @@ -42,7 +42,12 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ sbin_PROGRAMS = zpios$(EXEEXT) subdir = cmd/zpios ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/config/kernel-bio-args.m4 \ +am__aclocal_m4_deps = \ + $(top_srcdir)/config/kernel-bio-empty-barrier.m4 \ + $(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \ + $(top_srcdir)/config/kernel-bio-rw-syncio.m4 \ + $(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \ + $(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \ $(top_srcdir)/config/kernel.m4 \ $(top_srcdir)/config/user-arch.m4 \ $(top_srcdir)/config/user-ioctl.m4 \ diff --git a/cmd/zpool/Makefile.in b/cmd/zpool/Makefile.in index abb35dd47c..a060aa0021 100644 --- a/cmd/zpool/Makefile.in +++ b/cmd/zpool/Makefile.in @@ -42,7 +42,12 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ sbin_PROGRAMS = zpool$(EXEEXT) subdir = cmd/zpool ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/config/kernel-bio-args.m4 \ +am__aclocal_m4_deps = \ + $(top_srcdir)/config/kernel-bio-empty-barrier.m4 \ + $(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \ + $(top_srcdir)/config/kernel-bio-rw-syncio.m4 \ + $(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \ + $(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \ $(top_srcdir)/config/kernel.m4 \ $(top_srcdir)/config/user-arch.m4 \ $(top_srcdir)/config/user-ioctl.m4 \ diff --git a/cmd/ztest/Makefile.in b/cmd/ztest/Makefile.in index c9d0dbc16b..bcb998c459 100644 --- a/cmd/ztest/Makefile.in +++ b/cmd/ztest/Makefile.in @@ -42,7 +42,12 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ sbin_PROGRAMS = ztest$(EXEEXT) subdir = cmd/ztest ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/config/kernel-bio-args.m4 \ +am__aclocal_m4_deps = \ + $(top_srcdir)/config/kernel-bio-empty-barrier.m4 \ + $(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \ + $(top_srcdir)/config/kernel-bio-rw-syncio.m4 \ + $(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \ + $(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \ $(top_srcdir)/config/kernel.m4 \ $(top_srcdir)/config/user-arch.m4 \ $(top_srcdir)/config/user-ioctl.m4 \ diff --git a/config/Makefile.in b/config/Makefile.in index cad9212737..dd9e726825 100644 --- a/config/Makefile.in +++ b/config/Makefile.in @@ -40,7 +40,12 @@ subdir = config DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in config.guess \ config.sub depcomp install-sh ltmain.sh missing ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/config/kernel-bio-args.m4 \ +am__aclocal_m4_deps = \ + $(top_srcdir)/config/kernel-bio-empty-barrier.m4 \ + $(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \ + $(top_srcdir)/config/kernel-bio-rw-syncio.m4 \ + $(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \ + $(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \ $(top_srcdir)/config/kernel.m4 \ $(top_srcdir)/config/user-arch.m4 \ $(top_srcdir)/config/user-ioctl.m4 \ diff --git a/configure b/configure index 291b4c7b4c..b14cbfa3a0 100755 --- a/configure +++ b/configure @@ -19214,6 +19214,113 @@ echo "${ECHO_T}$SPL_SYMBOLS" >&6 + + echo "$as_me:$LINENO: checking whether symbol open_bdev_exclusive is exported" >&5 +echo $ECHO_N "checking whether symbol open_bdev_exclusive is exported... $ECHO_C" >&6 + grep -q -E '[[:space:]]open_bdev_exclusive[[:space:]]' \ + $LINUX_OBJ/Module*.symvers $SPL_OBJ/Module*.symvers 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 + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + + else + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + +cat >>confdefs.h <<\_ACEOF +#define HAVE_OPEN_BDEV_EXCLUSIVE 1 +_ACEOF + + fi + else + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + +cat >>confdefs.h <<\_ACEOF +#define HAVE_OPEN_BDEV_EXCLUSIVE 1 +_ACEOF + + fi + + + + echo "$as_me:$LINENO: checking whether invalidate_bdev() wants 1 arg" >&5 +echo $ECHO_N "checking whether invalidate_bdev() wants 1 arg... $ECHO_C" >&6 + + +cat >conftest.c <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + + #include + +int +main (void) +{ + + struct block_device *bdev; + invalidate_bdev(bdev); + + ; + return 0; +} + +_ACEOF + + + rm -Rf build && mkdir -p build + echo "obj-m := conftest.o" >build/Makefile + if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + +cat >>confdefs.h <<\_ACEOF +#define HAVE_1ARG_INVALIDATE_BDEV 1 +_ACEOF + + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + + + +fi + + rm -Rf build + + + + echo "$as_me:$LINENO: checking whether bio_end_io_t wants 2 args" >&5 echo $ECHO_N "checking whether bio_end_io_t wants 2 args... $ECHO_C" >&6 tmp_flags="$EXTRA_KCFLAGS" @@ -19285,6 +19392,138 @@ fi EXTRA_KCFLAGS="$tmp_flags" + echo "$as_me:$LINENO: checking whether BIO_RW_SYNCIO is defined" >&5 +echo $ECHO_N "checking whether BIO_RW_SYNCIO is defined... $ECHO_C" >&6 + + +cat >conftest.c <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + + #include + +int +main (void) +{ + + int flags = BIO_RW_SYNCIO; + + ; + return 0; +} + +_ACEOF + + + rm -Rf build && mkdir -p build + echo "obj-m := conftest.o" >build/Makefile + if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + +cat >>confdefs.h <<\_ACEOF +#define HAVE_BIO_RW_SYNCIO 1 +_ACEOF + + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + + + +fi + + rm -Rf build + + + + + echo "$as_me:$LINENO: checking whether bio_empty_barrier() is defined" >&5 +echo $ECHO_N "checking whether bio_empty_barrier() is defined... $ECHO_C" >&6 + EXTRA_KCFLAGS="-Werror" + + +cat >conftest.c <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + + #include + +int +main (void) +{ + + struct bio bio; + (void)bio_empty_barrier(&bio); + + ; + return 0; +} + +_ACEOF + + + rm -Rf build && mkdir -p build + echo "obj-m := conftest.o" >build/Makefile + if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + +cat >>confdefs.h <<\_ACEOF +#define HAVE_BIO_EMPTY_BARRIER 1 +_ACEOF + + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + + + +fi + + rm -Rf build + + + + KERNELMAKE_PARAMS="V=1" KERNELCPPFLAGS="$KERNELCPPFLAGS -Werror -DHAVE_SPL -D_KERNEL" @@ -20168,6 +20407,113 @@ echo "${ECHO_T}$SPL_SYMBOLS" >&6 + + echo "$as_me:$LINENO: checking whether symbol open_bdev_exclusive is exported" >&5 +echo $ECHO_N "checking whether symbol open_bdev_exclusive is exported... $ECHO_C" >&6 + grep -q -E '[[:space:]]open_bdev_exclusive[[:space:]]' \ + $LINUX_OBJ/Module*.symvers $SPL_OBJ/Module*.symvers 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 + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + + else + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + +cat >>confdefs.h <<\_ACEOF +#define HAVE_OPEN_BDEV_EXCLUSIVE 1 +_ACEOF + + fi + else + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + +cat >>confdefs.h <<\_ACEOF +#define HAVE_OPEN_BDEV_EXCLUSIVE 1 +_ACEOF + + fi + + + + echo "$as_me:$LINENO: checking whether invalidate_bdev() wants 1 arg" >&5 +echo $ECHO_N "checking whether invalidate_bdev() wants 1 arg... $ECHO_C" >&6 + + +cat >conftest.c <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + + #include + +int +main (void) +{ + + struct block_device *bdev; + invalidate_bdev(bdev); + + ; + return 0; +} + +_ACEOF + + + rm -Rf build && mkdir -p build + echo "obj-m := conftest.o" >build/Makefile + if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + +cat >>confdefs.h <<\_ACEOF +#define HAVE_1ARG_INVALIDATE_BDEV 1 +_ACEOF + + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + + + +fi + + rm -Rf build + + + + echo "$as_me:$LINENO: checking whether bio_end_io_t wants 2 args" >&5 echo $ECHO_N "checking whether bio_end_io_t wants 2 args... $ECHO_C" >&6 tmp_flags="$EXTRA_KCFLAGS" @@ -20239,6 +20585,138 @@ fi EXTRA_KCFLAGS="$tmp_flags" + echo "$as_me:$LINENO: checking whether BIO_RW_SYNCIO is defined" >&5 +echo $ECHO_N "checking whether BIO_RW_SYNCIO is defined... $ECHO_C" >&6 + + +cat >conftest.c <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + + #include + +int +main (void) +{ + + int flags = BIO_RW_SYNCIO; + + ; + return 0; +} + +_ACEOF + + + rm -Rf build && mkdir -p build + echo "obj-m := conftest.o" >build/Makefile + if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + +cat >>confdefs.h <<\_ACEOF +#define HAVE_BIO_RW_SYNCIO 1 +_ACEOF + + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + + + +fi + + rm -Rf build + + + + + echo "$as_me:$LINENO: checking whether bio_empty_barrier() is defined" >&5 +echo $ECHO_N "checking whether bio_empty_barrier() is defined... $ECHO_C" >&6 + EXTRA_KCFLAGS="-Werror" + + +cat >conftest.c <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + + #include + +int +main (void) +{ + + struct bio bio; + (void)bio_empty_barrier(&bio); + + ; + return 0; +} + +_ACEOF + + + rm -Rf build && mkdir -p build + echo "obj-m := conftest.o" >build/Makefile + if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + +cat >>confdefs.h <<\_ACEOF +#define HAVE_BIO_EMPTY_BARRIER 1 +_ACEOF + + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + + + +fi + + rm -Rf build + + + + KERNELMAKE_PARAMS="V=1" KERNELCPPFLAGS="$KERNELCPPFLAGS -Werror -DHAVE_SPL -D_KERNEL" diff --git a/doc/Makefile.in b/doc/Makefile.in index bfe7829858..d009fdc4e7 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -39,7 +39,12 @@ target_triplet = @target@ subdir = doc DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/config/kernel-bio-args.m4 \ +am__aclocal_m4_deps = \ + $(top_srcdir)/config/kernel-bio-empty-barrier.m4 \ + $(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \ + $(top_srcdir)/config/kernel-bio-rw-syncio.m4 \ + $(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \ + $(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \ $(top_srcdir)/config/kernel.m4 \ $(top_srcdir)/config/user-arch.m4 \ $(top_srcdir)/config/user-ioctl.m4 \ diff --git a/lib/Makefile.in b/lib/Makefile.in index a9e7fc7c21..dc4c2a364d 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -39,7 +39,12 @@ target_triplet = @target@ subdir = lib DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/config/kernel-bio-args.m4 \ +am__aclocal_m4_deps = \ + $(top_srcdir)/config/kernel-bio-empty-barrier.m4 \ + $(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \ + $(top_srcdir)/config/kernel-bio-rw-syncio.m4 \ + $(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \ + $(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \ $(top_srcdir)/config/kernel.m4 \ $(top_srcdir)/config/user-arch.m4 \ $(top_srcdir)/config/user-ioctl.m4 \ diff --git a/lib/libavl/Makefile.in b/lib/libavl/Makefile.in index 1b29873864..eec5154d88 100644 --- a/lib/libavl/Makefile.in +++ b/lib/libavl/Makefile.in @@ -41,7 +41,12 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/config/Rules.am subdir = lib/libavl ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/config/kernel-bio-args.m4 \ +am__aclocal_m4_deps = \ + $(top_srcdir)/config/kernel-bio-empty-barrier.m4 \ + $(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \ + $(top_srcdir)/config/kernel-bio-rw-syncio.m4 \ + $(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \ + $(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \ $(top_srcdir)/config/kernel.m4 \ $(top_srcdir)/config/user-arch.m4 \ $(top_srcdir)/config/user-ioctl.m4 \ diff --git a/lib/libnvpair/Makefile.in b/lib/libnvpair/Makefile.in index a61979fb0c..ad7534d423 100644 --- a/lib/libnvpair/Makefile.in +++ b/lib/libnvpair/Makefile.in @@ -41,7 +41,12 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/config/Rules.am subdir = lib/libnvpair ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/config/kernel-bio-args.m4 \ +am__aclocal_m4_deps = \ + $(top_srcdir)/config/kernel-bio-empty-barrier.m4 \ + $(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \ + $(top_srcdir)/config/kernel-bio-rw-syncio.m4 \ + $(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \ + $(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \ $(top_srcdir)/config/kernel.m4 \ $(top_srcdir)/config/user-arch.m4 \ $(top_srcdir)/config/user-ioctl.m4 \ diff --git a/lib/libspl/Makefile.in b/lib/libspl/Makefile.in index 6a4fa5251a..6d4fd96905 100644 --- a/lib/libspl/Makefile.in +++ b/lib/libspl/Makefile.in @@ -41,7 +41,12 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/config/Rules.am subdir = lib/libspl ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/config/kernel-bio-args.m4 \ +am__aclocal_m4_deps = \ + $(top_srcdir)/config/kernel-bio-empty-barrier.m4 \ + $(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \ + $(top_srcdir)/config/kernel-bio-rw-syncio.m4 \ + $(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \ + $(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \ $(top_srcdir)/config/kernel.m4 \ $(top_srcdir)/config/user-arch.m4 \ $(top_srcdir)/config/user-ioctl.m4 \ diff --git a/lib/libspl/asm-generic/Makefile.in b/lib/libspl/asm-generic/Makefile.in index 3491a47695..189eb15021 100644 --- a/lib/libspl/asm-generic/Makefile.in +++ b/lib/libspl/asm-generic/Makefile.in @@ -40,7 +40,12 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/config/Rules.am subdir = lib/libspl/asm-generic ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/config/kernel-bio-args.m4 \ +am__aclocal_m4_deps = \ + $(top_srcdir)/config/kernel-bio-empty-barrier.m4 \ + $(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \ + $(top_srcdir)/config/kernel-bio-rw-syncio.m4 \ + $(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \ + $(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \ $(top_srcdir)/config/kernel.m4 \ $(top_srcdir)/config/user-arch.m4 \ $(top_srcdir)/config/user-ioctl.m4 \ diff --git a/lib/libspl/asm-i386/Makefile.in b/lib/libspl/asm-i386/Makefile.in index 013245f761..ef082449e3 100644 --- a/lib/libspl/asm-i386/Makefile.in +++ b/lib/libspl/asm-i386/Makefile.in @@ -41,7 +41,12 @@ subdir = lib/libspl/asm-i386 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/config/kernel-bio-args.m4 \ +am__aclocal_m4_deps = \ + $(top_srcdir)/config/kernel-bio-empty-barrier.m4 \ + $(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \ + $(top_srcdir)/config/kernel-bio-rw-syncio.m4 \ + $(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \ + $(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \ $(top_srcdir)/config/kernel.m4 \ $(top_srcdir)/config/user-arch.m4 \ $(top_srcdir)/config/user-ioctl.m4 \ diff --git a/lib/libspl/asm-x86_64/Makefile.in b/lib/libspl/asm-x86_64/Makefile.in index 22069a659a..576806c55f 100644 --- a/lib/libspl/asm-x86_64/Makefile.in +++ b/lib/libspl/asm-x86_64/Makefile.in @@ -41,7 +41,12 @@ subdir = lib/libspl/asm-x86_64 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/config/kernel-bio-args.m4 \ +am__aclocal_m4_deps = \ + $(top_srcdir)/config/kernel-bio-empty-barrier.m4 \ + $(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \ + $(top_srcdir)/config/kernel-bio-rw-syncio.m4 \ + $(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \ + $(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \ $(top_srcdir)/config/kernel.m4 \ $(top_srcdir)/config/user-arch.m4 \ $(top_srcdir)/config/user-ioctl.m4 \ diff --git a/lib/libspl/include/Makefile.in b/lib/libspl/include/Makefile.in index f696fe9bba..9e0c02e9ce 100644 --- a/lib/libspl/include/Makefile.in +++ b/lib/libspl/include/Makefile.in @@ -41,7 +41,12 @@ subdir = lib/libspl/include DIST_COMMON = $(nobase_pkginclude_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/config/kernel-bio-args.m4 \ +am__aclocal_m4_deps = \ + $(top_srcdir)/config/kernel-bio-empty-barrier.m4 \ + $(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \ + $(top_srcdir)/config/kernel-bio-rw-syncio.m4 \ + $(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \ + $(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \ $(top_srcdir)/config/kernel.m4 \ $(top_srcdir)/config/user-arch.m4 \ $(top_srcdir)/config/user-ioctl.m4 \ diff --git a/lib/libunicode/Makefile.in b/lib/libunicode/Makefile.in index 6814203cc3..cc6b4de10f 100644 --- a/lib/libunicode/Makefile.in +++ b/lib/libunicode/Makefile.in @@ -41,7 +41,12 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/config/Rules.am subdir = lib/libunicode ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/config/kernel-bio-args.m4 \ +am__aclocal_m4_deps = \ + $(top_srcdir)/config/kernel-bio-empty-barrier.m4 \ + $(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \ + $(top_srcdir)/config/kernel-bio-rw-syncio.m4 \ + $(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \ + $(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \ $(top_srcdir)/config/kernel.m4 \ $(top_srcdir)/config/user-arch.m4 \ $(top_srcdir)/config/user-ioctl.m4 \ diff --git a/lib/libuutil/Makefile.in b/lib/libuutil/Makefile.in index 85f2feec4b..9f8e6c74b4 100644 --- a/lib/libuutil/Makefile.in +++ b/lib/libuutil/Makefile.in @@ -41,7 +41,12 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/config/Rules.am subdir = lib/libuutil ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/config/kernel-bio-args.m4 \ +am__aclocal_m4_deps = \ + $(top_srcdir)/config/kernel-bio-empty-barrier.m4 \ + $(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \ + $(top_srcdir)/config/kernel-bio-rw-syncio.m4 \ + $(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \ + $(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \ $(top_srcdir)/config/kernel.m4 \ $(top_srcdir)/config/user-arch.m4 \ $(top_srcdir)/config/user-ioctl.m4 \ diff --git a/lib/libzfs/Makefile.in b/lib/libzfs/Makefile.in index 9280cd0108..7dd19cb19e 100644 --- a/lib/libzfs/Makefile.in +++ b/lib/libzfs/Makefile.in @@ -41,7 +41,12 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/config/Rules.am subdir = lib/libzfs ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/config/kernel-bio-args.m4 \ +am__aclocal_m4_deps = \ + $(top_srcdir)/config/kernel-bio-empty-barrier.m4 \ + $(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \ + $(top_srcdir)/config/kernel-bio-rw-syncio.m4 \ + $(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \ + $(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \ $(top_srcdir)/config/kernel.m4 \ $(top_srcdir)/config/user-arch.m4 \ $(top_srcdir)/config/user-ioctl.m4 \ diff --git a/lib/libzpool/Makefile.in b/lib/libzpool/Makefile.in index 3ff1117db0..f23d315085 100644 --- a/lib/libzpool/Makefile.in +++ b/lib/libzpool/Makefile.in @@ -41,7 +41,12 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/config/Rules.am subdir = lib/libzpool ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/config/kernel-bio-args.m4 \ +am__aclocal_m4_deps = \ + $(top_srcdir)/config/kernel-bio-empty-barrier.m4 \ + $(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \ + $(top_srcdir)/config/kernel-bio-rw-syncio.m4 \ + $(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \ + $(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \ $(top_srcdir)/config/kernel.m4 \ $(top_srcdir)/config/user-arch.m4 \ $(top_srcdir)/config/user-ioctl.m4 \ diff --git a/lib/libzpool/include/Makefile.in b/lib/libzpool/include/Makefile.in index 4906e57544..05ed56d713 100644 --- a/lib/libzpool/include/Makefile.in +++ b/lib/libzpool/include/Makefile.in @@ -41,7 +41,12 @@ subdir = lib/libzpool/include DIST_COMMON = $(nobase_pkginclude_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/config/kernel-bio-args.m4 \ +am__aclocal_m4_deps = \ + $(top_srcdir)/config/kernel-bio-empty-barrier.m4 \ + $(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \ + $(top_srcdir)/config/kernel-bio-rw-syncio.m4 \ + $(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \ + $(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \ $(top_srcdir)/config/kernel.m4 \ $(top_srcdir)/config/user-arch.m4 \ $(top_srcdir)/config/user-ioctl.m4 \ diff --git a/scripts/Makefile.in b/scripts/Makefile.in index f4f28777e9..307147de73 100644 --- a/scripts/Makefile.in +++ b/scripts/Makefile.in @@ -39,7 +39,12 @@ target_triplet = @target@ subdir = scripts DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/config/kernel-bio-args.m4 \ +am__aclocal_m4_deps = \ + $(top_srcdir)/config/kernel-bio-empty-barrier.m4 \ + $(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \ + $(top_srcdir)/config/kernel-bio-rw-syncio.m4 \ + $(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \ + $(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \ $(top_srcdir)/config/kernel.m4 \ $(top_srcdir)/config/user-arch.m4 \ $(top_srcdir)/config/user-ioctl.m4 \ diff --git a/scripts/zpios-profile/Makefile.in b/scripts/zpios-profile/Makefile.in index 4e14d4544f..ef51e0f818 100644 --- a/scripts/zpios-profile/Makefile.in +++ b/scripts/zpios-profile/Makefile.in @@ -39,7 +39,12 @@ target_triplet = @target@ subdir = scripts/zpios-profile DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/config/kernel-bio-args.m4 \ +am__aclocal_m4_deps = \ + $(top_srcdir)/config/kernel-bio-empty-barrier.m4 \ + $(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \ + $(top_srcdir)/config/kernel-bio-rw-syncio.m4 \ + $(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \ + $(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \ $(top_srcdir)/config/kernel.m4 \ $(top_srcdir)/config/user-arch.m4 \ $(top_srcdir)/config/user-ioctl.m4 \ diff --git a/scripts/zpios-test/Makefile.in b/scripts/zpios-test/Makefile.in index b76239cef9..ab4c464cd0 100644 --- a/scripts/zpios-test/Makefile.in +++ b/scripts/zpios-test/Makefile.in @@ -39,7 +39,12 @@ target_triplet = @target@ subdir = scripts/zpios-test DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/config/kernel-bio-args.m4 \ +am__aclocal_m4_deps = \ + $(top_srcdir)/config/kernel-bio-empty-barrier.m4 \ + $(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \ + $(top_srcdir)/config/kernel-bio-rw-syncio.m4 \ + $(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \ + $(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \ $(top_srcdir)/config/kernel.m4 \ $(top_srcdir)/config/user-arch.m4 \ $(top_srcdir)/config/user-ioctl.m4 \ diff --git a/scripts/zpool-config/Makefile.in b/scripts/zpool-config/Makefile.in index 221e0a7836..df3372d431 100644 --- a/scripts/zpool-config/Makefile.in +++ b/scripts/zpool-config/Makefile.in @@ -39,7 +39,12 @@ target_triplet = @target@ subdir = scripts/zpool-config DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/config/kernel-bio-args.m4 \ +am__aclocal_m4_deps = \ + $(top_srcdir)/config/kernel-bio-empty-barrier.m4 \ + $(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \ + $(top_srcdir)/config/kernel-bio-rw-syncio.m4 \ + $(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \ + $(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \ $(top_srcdir)/config/kernel.m4 \ $(top_srcdir)/config/user-arch.m4 \ $(top_srcdir)/config/user-ioctl.m4 \ diff --git a/zfs_config.h.in b/zfs_config.h.in index f6bf1d7701..3fd406808e 100644 --- a/zfs_config.h.in +++ b/zfs_config.h.in @@ -1,8 +1,17 @@ /* zfs_config.h.in. Generated from configure.ac by autoheader. */ +/* invalidate_bdev() wants 1 arg */ +#undef HAVE_1ARG_INVALIDATE_BDEV + /* bio_end_io_t wants 2 args */ #undef HAVE_2ARGS_BIO_END_IO_T +/* bio_empy_barrier() is defined */ +#undef HAVE_BIO_EMPTY_BARRIER + +/* BIO_RW_SYNCIO is defined */ +#undef HAVE_BIO_RW_SYNCIO + /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H @@ -36,6 +45,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H +/* open_bdev_exclusive() is available */ +#undef HAVE_OPEN_BDEV_EXCLUSIVE + /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H