[Pkg-zfsonlinux-devel] [SCM] zfs branch, master, updated. debian/0.6.5.8-3-26-gc4fd3ee
Aron Xu
aron at debian.org
Wed Jul 5 10:56:05 UTC 2017
The following commit has been merged in the master branch:
commit 22929307d35fbc20b150cacc2de29aa52d1bd4e0
Author: Aron Xu <aron at debian.org>
Date: Wed Jul 5 18:10:35 2017 +0800
New upstream version 0.6.5.10
diff --git a/META b/META
index 99d15da..d531e15 100644
--- a/META
+++ b/META
@@ -1,7 +1,7 @@
Meta: 1
Name: zfs
Branch: 1.0
-Version: 0.6.5.9
+Version: 0.6.5.10
Release: 1
Release-Tags: relext
License: CDDL
diff --git a/Makefile.in b/Makefile.in
index 8e732cf..5e50a3e 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -109,7 +109,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -127,6 +127,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -148,6 +149,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/aclocal.m4 b/aclocal.m4
index 9812c08..e7c0e90 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1214,7 +1214,7 @@ m4_include([config/kernel-automount.m4])
m4_include([config/kernel-bdev-block-device-operations.m4])
m4_include([config/kernel-bdev-logical-size.m4])
m4_include([config/kernel-bdev-physical-size.m4])
-m4_include([config/kernel-bdi-setup-and-register.m4])
+m4_include([config/kernel-bdi.m4])
m4_include([config/kernel-bio-bvec-iter.m4])
m4_include([config/kernel-bio-end-io-t-args.m4])
m4_include([config/kernel-bio-failfast.m4])
@@ -1232,6 +1232,7 @@ m4_include([config/kernel-check-disk-size-change.m4])
m4_include([config/kernel-clear-inode.m4])
m4_include([config/kernel-commit-metadata.m4])
m4_include([config/kernel-create-nameidata.m4])
+m4_include([config/kernel-current-time.m4])
m4_include([config/kernel-current_bio_tail.m4])
m4_include([config/kernel-d-make-root.m4])
m4_include([config/kernel-d-obtain-alias.m4])
@@ -1253,6 +1254,7 @@ m4_include([config/kernel-generic_readlink.m4])
m4_include([config/kernel-get-disk-ro.m4])
m4_include([config/kernel-get-gendisk.m4])
m4_include([config/kernel-get-link.m4])
+m4_include([config/kernel-inode-getattr.m4])
m4_include([config/kernel-insert-inode-locked.m4])
m4_include([config/kernel-invalidate-bdev-args.m4])
m4_include([config/kernel-is_owner_or_cap.m4])
diff --git a/cmd/Makefile.in b/cmd/Makefile.in
index c09e67d..f21db19 100644
--- a/cmd/Makefile.in
+++ b/cmd/Makefile.in
@@ -98,7 +98,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -116,6 +116,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -137,6 +138,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/cmd/arc_summary/Makefile.in b/cmd/arc_summary/Makefile.in
index 2c20646..90ce0cb 100644
--- a/cmd/arc_summary/Makefile.in
+++ b/cmd/arc_summary/Makefile.in
@@ -99,7 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -117,6 +117,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -138,6 +139,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/cmd/arcstat/Makefile.in b/cmd/arcstat/Makefile.in
index 3866985..299c6e7 100644
--- a/cmd/arcstat/Makefile.in
+++ b/cmd/arcstat/Makefile.in
@@ -99,7 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -117,6 +117,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -138,6 +139,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/cmd/dbufstat/Makefile.in b/cmd/dbufstat/Makefile.in
index c930b19..ec4ac18 100644
--- a/cmd/dbufstat/Makefile.in
+++ b/cmd/dbufstat/Makefile.in
@@ -99,7 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -117,6 +117,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -138,6 +139,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/cmd/fsck_zfs/Makefile.in b/cmd/fsck_zfs/Makefile.in
index e5fb18e..fe385b3 100644
--- a/cmd/fsck_zfs/Makefile.in
+++ b/cmd/fsck_zfs/Makefile.in
@@ -99,7 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -117,6 +117,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -138,6 +139,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/cmd/mount_zfs/Makefile.in b/cmd/mount_zfs/Makefile.in
index 435bb00..668192f 100644
--- a/cmd/mount_zfs/Makefile.in
+++ b/cmd/mount_zfs/Makefile.in
@@ -100,7 +100,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -118,6 +118,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -139,6 +140,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/cmd/mount_zfs/mount_zfs.c b/cmd/mount_zfs/mount_zfs.c
index b6f58b9..39a407b 100644
--- a/cmd/mount_zfs/mount_zfs.c
+++ b/cmd/mount_zfs/mount_zfs.c
@@ -608,10 +608,23 @@ main(int argc, char **argv)
"failed for unknown reason.\n"), dataset);
}
return (MOUNT_SYSERR);
+#ifdef MS_MANDLOCK
+ case EPERM:
+ if (mntflags & MS_MANDLOCK) {
+ (void) fprintf(stderr, gettext("filesystem "
+ "'%s' has the 'nbmand=on' property set, "
+ "this mount\noption may be disabled in "
+ "your kernel. Use 'zfs set nbmand=off'\n"
+ "to disable this option and try to "
+ "mount the filesystem again.\n"), dataset);
+ return (MOUNT_SYSERR);
+ }
+ /* fallthru */
+#endif
default:
(void) fprintf(stderr, gettext("filesystem "
- "'%s' can not be mounted due to error "
- "%d\n"), dataset, errno);
+ "'%s' can not be mounted: %s\n"), dataset,
+ strerror(errno));
return (MOUNT_USAGE);
}
}
diff --git a/cmd/vdev_id/Makefile.in b/cmd/vdev_id/Makefile.in
index c6150cc..6125c9b 100644
--- a/cmd/vdev_id/Makefile.in
+++ b/cmd/vdev_id/Makefile.in
@@ -99,7 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -117,6 +117,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -138,6 +139,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/cmd/vdev_id/vdev_id b/cmd/vdev_id/vdev_id
index 0d617a8..c7d9620 100755
--- a/cmd/vdev_id/vdev_id
+++ b/cmd/vdev_id/vdev_id
@@ -184,9 +184,9 @@ sas_handler() {
return
fi
- # Get the raw scsi device name from multipath -l. Strip off
+ # Get the raw scsi device name from multipath -ll. Strip off
# leading pipe symbols to make field numbering consistent.
- DEV=`multipath -l $DM_NAME |
+ DEV=`multipath -ll $DM_NAME |
awk '/running/{gsub("^[|]"," "); print $3 ; exit}'`
if [ -z "$DEV" ] ; then
return
diff --git a/cmd/zdb/Makefile.in b/cmd/zdb/Makefile.in
index 7fd3c7e..7e51172 100644
--- a/cmd/zdb/Makefile.in
+++ b/cmd/zdb/Makefile.in
@@ -100,7 +100,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -118,6 +118,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -139,6 +140,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/cmd/zdb/zdb.c b/cmd/zdb/zdb.c
index 882c687..79658bc 100644
--- a/cmd/zdb/zdb.c
+++ b/cmd/zdb/zdb.c
@@ -478,7 +478,7 @@ static void
dump_bpobj_subobjs(objset_t *os, uint64_t object, void *data, size_t size)
{
dmu_object_info_t doi;
- uint64_t i;
+ int64_t i;
VERIFY0(dmu_object_info(os, object, &doi));
uint64_t *subobjs = kmem_alloc(doi.doi_max_offset, KM_SLEEP);
@@ -497,7 +497,7 @@ dump_bpobj_subobjs(objset_t *os, uint64_t object, void *data, size_t size)
}
for (i = 0; i <= last_nonzero; i++) {
- (void) printf("\t%llu\n", (longlong_t)subobjs[i]);
+ (void) printf("\t%llu\n", (u_longlong_t)subobjs[i]);
}
kmem_free(subobjs, doi.doi_max_offset);
}
diff --git a/cmd/zed/Makefile.in b/cmd/zed/Makefile.in
index de83f74..449627c 100644
--- a/cmd/zed/Makefile.in
+++ b/cmd/zed/Makefile.in
@@ -102,7 +102,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -120,6 +120,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -141,6 +142,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/cmd/zfs/Makefile.in b/cmd/zfs/Makefile.in
index 78a4bee..8bc7ed0 100644
--- a/cmd/zfs/Makefile.in
+++ b/cmd/zfs/Makefile.in
@@ -100,7 +100,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -118,6 +118,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -139,6 +140,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/cmd/zfs/zfs_iter.c b/cmd/zfs/zfs_iter.c
index 2c16f69..e7f1622 100644
--- a/cmd/zfs/zfs_iter.c
+++ b/cmd/zfs/zfs_iter.c
@@ -444,13 +444,13 @@ zfs_for_each(int argc, char **argv, int flags, zfs_type_t types,
/*
* If we're recursive, then we always allow filesystems as
- * arguments. If we also are interested in snapshots, then we
- * can take volumes as well.
+ * arguments. If we also are interested in snapshots or
+ * bookmarks, then we can take volumes as well.
*/
argtype = types;
if (flags & ZFS_ITER_RECURSE) {
argtype |= ZFS_TYPE_FILESYSTEM;
- if (types & ZFS_TYPE_SNAPSHOT)
+ if (types & (ZFS_TYPE_SNAPSHOT | ZFS_TYPE_BOOKMARK))
argtype |= ZFS_TYPE_VOLUME;
}
diff --git a/cmd/zhack/Makefile.in b/cmd/zhack/Makefile.in
index a0cdc8a..05665e5 100644
--- a/cmd/zhack/Makefile.in
+++ b/cmd/zhack/Makefile.in
@@ -100,7 +100,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -118,6 +118,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -139,6 +140,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/cmd/zinject/Makefile.in b/cmd/zinject/Makefile.in
index a2962cf..d199f32 100644
--- a/cmd/zinject/Makefile.in
+++ b/cmd/zinject/Makefile.in
@@ -100,7 +100,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -118,6 +118,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -139,6 +140,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/cmd/zpios/Makefile.in b/cmd/zpios/Makefile.in
index ed8a4d3..6483be8 100644
--- a/cmd/zpios/Makefile.in
+++ b/cmd/zpios/Makefile.in
@@ -100,7 +100,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -118,6 +118,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -139,6 +140,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/cmd/zpool/Makefile.in b/cmd/zpool/Makefile.in
index 83d0e59..6aa81ab 100644
--- a/cmd/zpool/Makefile.in
+++ b/cmd/zpool/Makefile.in
@@ -100,7 +100,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -118,6 +118,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -139,6 +140,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/cmd/zstreamdump/Makefile.in b/cmd/zstreamdump/Makefile.in
index 3b3edd9..3ce7009 100644
--- a/cmd/zstreamdump/Makefile.in
+++ b/cmd/zstreamdump/Makefile.in
@@ -100,7 +100,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -118,6 +118,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -139,6 +140,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/cmd/ztest/Makefile.in b/cmd/ztest/Makefile.in
index 96e65e1..f7f436c 100644
--- a/cmd/ztest/Makefile.in
+++ b/cmd/ztest/Makefile.in
@@ -100,7 +100,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -118,6 +118,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -139,6 +140,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/cmd/zvol_id/Makefile.in b/cmd/zvol_id/Makefile.in
index d7b5010..012d898 100644
--- a/cmd/zvol_id/Makefile.in
+++ b/cmd/zvol_id/Makefile.in
@@ -100,7 +100,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -118,6 +118,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -139,6 +140,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/config/config.guess b/config/config.guess
index 1659250..dbfb978 100755
--- a/config/config.guess
+++ b/config/config.guess
@@ -2,7 +2,7 @@
# Attempt to guess a canonical system name.
# Copyright 1992-2015 Free Software Foundation, Inc.
-timestamp='2015-08-20'
+timestamp='2015-01-01'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -168,27 +168,20 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# Note: NetBSD doesn't particularly care about the vendor
# portion of the name. We always set it to "unknown".
sysctl="sysctl -n hw.machine_arch"
- UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
- /sbin/$sysctl 2>/dev/null || \
- /usr/sbin/$sysctl 2>/dev/null || \
- echo unknown)`
+ UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+ /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
case "${UNAME_MACHINE_ARCH}" in
armeb) machine=armeb-unknown ;;
arm*) machine=arm-unknown ;;
sh3el) machine=shl-unknown ;;
sh3eb) machine=sh-unknown ;;
sh5el) machine=sh5le-unknown ;;
- earmv*)
- arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
- endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
- machine=${arch}${endian}-unknown
- ;;
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
esac
# The Operating System including object format, if it has switched
# to ELF recently, or will in the future.
case "${UNAME_MACHINE_ARCH}" in
- arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax)
+ arm*|i386|m68k|ns32k|sh3*|sparc|vax)
eval $set_cc_for_build
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ELF__
@@ -204,13 +197,6 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
os=netbsd
;;
esac
- # Determine ABI tags.
- case "${UNAME_MACHINE_ARCH}" in
- earm*)
- expr='s/^earmv[0-9]/-eabi/;s/eb$//'
- abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
- ;;
- esac
# The OS release
# Debian GNU/NetBSD machines have a different userland, and
# thus, need a distinct triplet. However, they do not need
@@ -221,13 +207,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
release='-gnu'
;;
*)
- release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
+ release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
;;
esac
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
# contains redundant information, the shorter form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
- echo "${machine}-${os}${release}${abi}"
+ echo "${machine}-${os}${release}"
exit ;;
*:Bitrig:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
@@ -249,9 +235,6 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:MirBSD:*:*)
echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
exit ;;
- *:Sortix:*:*)
- echo ${UNAME_MACHINE}-unknown-sortix
- exit ;;
alpha:OSF1:*:*)
case $UNAME_RELEASE in
*4.0)
@@ -950,9 +933,6 @@ EOF
crisv32:Linux:*:*)
echo ${UNAME_MACHINE}-axis-linux-${LIBC}
exit ;;
- e2k:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
frv:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
@@ -1041,7 +1021,7 @@ EOF
echo ${UNAME_MACHINE}-dec-linux-${LIBC}
exit ;;
x86_64:Linux:*:*)
- echo ${UNAME_MACHINE}-pc-linux-${LIBC}
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
xtensa*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
diff --git a/config/config.sub b/config/config.sub
index 1acc966..6467c95 100755
--- a/config/config.sub
+++ b/config/config.sub
@@ -2,7 +2,7 @@
# Configuration validation subroutine script.
# Copyright 1992-2015 Free Software Foundation, Inc.
-timestamp='2015-08-20'
+timestamp='2015-01-01'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -117,7 +117,7 @@ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
- knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
+ knetbsd*-gnu* | netbsd*-gnu* | \
kopensolaris*-gnu* | \
storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
@@ -255,12 +255,11 @@ case $basic_machine in
| arc | arceb \
| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
| avr | avr32 \
- | ba \
| be32 | be64 \
| bfin \
| c4x | c8051 | clipper \
| d10v | d30v | dlx | dsp16xx \
- | e2k | epiphany \
+ | epiphany \
| fido | fr30 | frv | ft32 \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| hexagon \
@@ -306,7 +305,7 @@ case $basic_machine in
| riscv32 | riscv64 \
| rl78 | rx \
| score \
- | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
@@ -377,13 +376,12 @@ case $basic_machine in
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* | avr32-* \
- | ba-* \
| be32-* | be64-* \
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* \
| c8051-* | clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
- | e2k-* | elxsi-* \
+ | elxsi-* \
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
@@ -430,13 +428,12 @@ case $basic_machine in
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
| pyramid-* \
- | riscv32-* | riscv64-* \
| rl78-* | romp-* | rs6000-* | rx-* \
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
| sparclite-* \
- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
| tahoe-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
| tile*-* \
@@ -521,9 +518,6 @@ case $basic_machine in
basic_machine=i386-pc
os=-aros
;;
- asmjs)
- basic_machine=asmjs-unknown
- ;;
aux)
basic_machine=m68k-apple
os=-aux
@@ -1031,7 +1025,7 @@ case $basic_machine in
;;
ppc64) basic_machine=powerpc64-unknown
;;
- ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ppc64le | powerpc64little | ppc64-le | powerpc64-little)
basic_machine=powerpc64le-unknown
@@ -1379,7 +1373,7 @@ case $os in
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
| -sym* | -kopensolaris* | -plan9* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
- | -aos* | -aros* | -cloudabi* | -sortix* \
+ | -aos* | -aros* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
diff --git a/config/install-sh b/config/install-sh
index 59990a1..0b0fdcb 100755
--- a/config/install-sh
+++ b/config/install-sh
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2014-09-12.12; # UTC
+scriptversion=2013-12-25.23; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -324,41 +324,34 @@ do
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
;;
*)
- # $RANDOM is not portable (e.g. dash); use it when possible to
- # lower collision chance
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
- trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
+ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
- # As "mkdir -p" follows symlinks and we work in /tmp possibly; so
- # create the $tmpdir first (and fail if unsuccessful) to make sure
- # that nobody tries to guess the $tmpdir name.
if (umask $mkdir_umask &&
- $mkdirprog $mkdir_mode "$tmpdir" &&
- exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
+ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
then
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# other-writable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
- test_tmpdir="$tmpdir/a"
- ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
+ ls_ld_tmpdir=`ls -ld "$tmpdir"`
case $ls_ld_tmpdir in
d????-?r-*) different_mode=700;;
d????-?--*) different_mode=755;;
*) false;;
esac &&
- $mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
- ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
+ $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+ ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
}
}
then posix_mkdir=:
fi
- rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
+ rmdir "$tmpdir/d" "$tmpdir"
else
# Remove any dirs left behind by ancient mkdir implementations.
- rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
+ rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
fi
trap '' 0;;
esac;;
diff --git a/config/kernel-bdi-setup-and-register.m4 b/config/kernel-bdi-setup-and-register.m4
deleted file mode 100644
index d1062e1..0000000
--- a/config/kernel-bdi-setup-and-register.m4
+++ /dev/null
@@ -1,38 +0,0 @@
-dnl #
-dnl # 2.6.32 - 2.6.33, bdi_setup_and_register() is not exported.
-dnl # 2.6.34 - 3.19, bdi_setup_and_register() takes 3 arguments.
-dnl # 4.0 - x.y, bdi_setup_and_register() takes 2 arguments.
-dnl #
-AC_DEFUN([ZFS_AC_KERNEL_BDI_SETUP_AND_REGISTER], [
- AC_MSG_CHECKING([whether bdi_setup_and_register() wants 2 args])
- ZFS_LINUX_TRY_COMPILE_SYMBOL([
- #include <linux/backing-dev.h>
- struct backing_dev_info bdi;
- ], [
- char *name = "bdi";
- int error __attribute__((unused)) =
- bdi_setup_and_register(&bdi, name);
- ], [bdi_setup_and_register], [mm/backing-dev.c], [
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_2ARGS_BDI_SETUP_AND_REGISTER, 1,
- [bdi_setup_and_register() wants 2 args])
- ], [
- AC_MSG_RESULT(no)
- AC_MSG_CHECKING([whether bdi_setup_and_register() wants 3 args])
- ZFS_LINUX_TRY_COMPILE_SYMBOL([
- #include <linux/backing-dev.h>
- 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);
- ], [bdi_setup_and_register], [mm/backing-dev.c], [
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_3ARGS_BDI_SETUP_AND_REGISTER, 1,
- [bdi_setup_and_register() wants 3 args])
- ], [
- AC_MSG_RESULT(no)
- ])
- ])
-])
diff --git a/config/kernel-bdi.m4 b/config/kernel-bdi.m4
new file mode 100644
index 0000000..c2a9dd2
--- /dev/null
+++ b/config/kernel-bdi.m4
@@ -0,0 +1,56 @@
+dnl #
+dnl # 2.6.32 - 2.6.33, bdi_setup_and_register() is not exported.
+dnl # 2.6.34 - 3.19, bdi_setup_and_register() takes 3 arguments.
+dnl # 4.0 - 4.11, bdi_setup_and_register() takes 2 arguments.
+dnl # 4.12 - x.y, super_setup_bdi_name() new interface.
+dnl #
+AC_DEFUN([ZFS_AC_KERNEL_BDI], [
+ AC_MSG_CHECKING([whether super_setup_bdi_name() exists])
+ ZFS_LINUX_TRY_COMPILE_SYMBOL([
+ #include <linux/fs.h>
+ struct super_block sb;
+ ], [
+ char *name = "bdi";
+ int error __attribute__((unused)) =
+ super_setup_bdi_name(&sb, name);
+ ], [super_setup_bdi_name], [fs/super.c], [
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_SUPER_SETUP_BDI_NAME, 1,
+ [super_setup_bdi_name() exits])
+ ], [
+ AC_MSG_RESULT(no)
+ AC_MSG_CHECKING(
+ [whether bdi_setup_and_register() wants 2 args])
+ ZFS_LINUX_TRY_COMPILE_SYMBOL([
+ #include <linux/backing-dev.h>
+ struct backing_dev_info bdi;
+ ], [
+ char *name = "bdi";
+ int error __attribute__((unused)) =
+ bdi_setup_and_register(&bdi, name);
+ ], [bdi_setup_and_register], [mm/backing-dev.c], [
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_2ARGS_BDI_SETUP_AND_REGISTER, 1,
+ [bdi_setup_and_register() wants 2 args])
+ ], [
+ AC_MSG_RESULT(no)
+ AC_MSG_CHECKING(
+ [whether bdi_setup_and_register() wants 3 args])
+ ZFS_LINUX_TRY_COMPILE_SYMBOL([
+ #include <linux/backing-dev.h>
+ 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);
+ ], [bdi_setup_and_register], [mm/backing-dev.c], [
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_3ARGS_BDI_SETUP_AND_REGISTER, 1,
+ [bdi_setup_and_register() wants 3 args])
+ ], [
+ AC_MSG_RESULT(no)
+ ])
+ ])
+ ])
+])
diff --git a/config/kernel-current-time.m4 b/config/kernel-current-time.m4
new file mode 100644
index 0000000..2ede9ff
--- /dev/null
+++ b/config/kernel-current-time.m4
@@ -0,0 +1,19 @@
+dnl #
+dnl # 4.9, current_time() added
+dnl #
+AC_DEFUN([ZFS_AC_KERNEL_CURRENT_TIME],
+ [AC_MSG_CHECKING([whether current_time() exists])
+ ZFS_LINUX_TRY_COMPILE_SYMBOL([
+ #include <linux/fs.h>
+ ], [
+ struct inode ip;
+ struct timespec now __attribute__ ((unused));
+
+ now = current_time(&ip);
+ ], [current_time], [fs/inode.c], [
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_CURRENT_TIME, 1, [current_time() exists])
+ ], [
+ AC_MSG_RESULT(no)
+ ])
+])
diff --git a/config/kernel-inode-getattr.m4 b/config/kernel-inode-getattr.m4
new file mode 100644
index 0000000..f10e0b2
--- /dev/null
+++ b/config/kernel-inode-getattr.m4
@@ -0,0 +1,67 @@
+dnl #
+dnl # Linux 4.11 API
+dnl # See torvalds/linux at a528d35
+dnl #
+AC_DEFUN([ZFS_AC_PATH_KERNEL_IOPS_GETATTR], [
+ AC_MSG_CHECKING([whether iops->getattr() takes a path])
+ ZFS_LINUX_TRY_COMPILE([
+ #include <linux/fs.h>
+
+ int test_getattr(
+ const struct path *p, struct kstat *k,
+ u32 request_mask, unsigned int query_flags)
+ { return 0; }
+
+ static const struct inode_operations
+ iops __attribute__ ((unused)) = {
+ .getattr = test_getattr,
+ };
+ ],[
+ ],[
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_PATH_IOPS_GETATTR, 1,
+ [iops->getattr() takes a path])
+ ],[
+ AC_MSG_RESULT(no)
+ ])
+])
+
+
+
+dnl #
+dnl # Linux 3.9 - 4.10 API
+dnl #
+AC_DEFUN([ZFS_AC_VFSMOUNT_KERNEL_IOPS_GETATTR], [
+ AC_MSG_CHECKING([whether iops->getattr() takes a vfsmount])
+ ZFS_LINUX_TRY_COMPILE([
+ #include <linux/fs.h>
+
+ int test_getattr(
+ struct vfsmount *mnt, struct dentry *d,
+ struct kstat *k)
+ { return 0; }
+
+ static const struct inode_operations
+ iops __attribute__ ((unused)) = {
+ .getattr = test_getattr,
+ };
+ ],[
+ ],[
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_VFSMOUNT_IOPS_GETATTR, 1,
+ [iops->getattr() takes a vfsmount])
+ ],[
+ AC_MSG_RESULT(no)
+ ])
+])
+
+
+dnl #
+dnl # The interface of the getattr callback from the inode_operations
+dnl # structure changed. Also, the interface of the simple_getattr()
+dnl # function provided by the kernel changed.
+dnl #
+AC_DEFUN([ZFS_AC_KERNEL_INODE_OPERATIONS_GETATTR], [
+ ZFS_AC_PATH_KERNEL_IOPS_GETATTR
+ ZFS_AC_VFSMOUNT_KERNEL_IOPS_GETATTR
+])
diff --git a/config/kernel-vfs-rw-iterate.m4 b/config/kernel-vfs-rw-iterate.m4
index af44beb..9f8fe65 100644
--- a/config/kernel-vfs-rw-iterate.m4
+++ b/config/kernel-vfs-rw-iterate.m4
@@ -1,5 +1,5 @@
dnl #
-dnl # Linux 4.1.x API
+dnl # Linux 3.16 API
dnl #
AC_DEFUN([ZFS_AC_KERNEL_VFS_RW_ITERATE],
[AC_MSG_CHECKING([whether fops->read/write_iter() are available])
@@ -21,6 +21,26 @@ AC_DEFUN([ZFS_AC_KERNEL_VFS_RW_ITERATE],
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_VFS_RW_ITERATE, 1,
[fops->read/write_iter() are available])
+
+ ZFS_AC_KERNEL_NEW_SYNC_READ
+ ],[
+ AC_MSG_RESULT(no)
+ ])
+])
+
+dnl #
+dnl # Linux 4.1 API
+dnl #
+AC_DEFUN([ZFS_AC_KERNEL_NEW_SYNC_READ],
+ [AC_MSG_CHECKING([whether new_sync_read() is available])
+ ZFS_LINUX_TRY_COMPILE([
+ #include <linux/fs.h>
+ ],[
+ new_sync_read(NULL, NULL, 0, NULL);
+ ],[
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_NEW_SYNC_READ, 1,
+ [new_sync_read() is available])
],[
AC_MSG_RESULT(no)
])
diff --git a/config/kernel.m4 b/config/kernel.m4
index 5b8abf7..4a8eeab 100644
--- a/config/kernel.m4
+++ b/config/kernel.m4
@@ -58,6 +58,7 @@ AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [
ZFS_AC_KERNEL_INODE_OPERATIONS_CHECK_ACL_WITH_FLAGS
ZFS_AC_KERNEL_INODE_OPERATIONS_GET_ACL
ZFS_AC_KERNEL_INODE_OPERATIONS_SET_ACL
+ ZFS_AC_KERNEL_INODE_OPERATIONS_GETATTR
ZFS_AC_KERNEL_GET_ACL_HANDLE_CACHE
ZFS_AC_KERNEL_SHOW_OPTIONS
ZFS_AC_KERNEL_FILE_INODE
@@ -95,7 +96,7 @@ AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [
ZFS_AC_KERNEL_SHRINK_CONTROL_HAS_NID
ZFS_AC_KERNEL_S_INSTANCES_LIST_HEAD
ZFS_AC_KERNEL_S_D_OP
- ZFS_AC_KERNEL_BDI_SETUP_AND_REGISTER
+ ZFS_AC_KERNEL_BDI
ZFS_AC_KERNEL_SET_NLINK
ZFS_AC_KERNEL_ELEVATOR_CHANGE
ZFS_AC_KERNEL_5ARG_SGET
@@ -109,6 +110,7 @@ AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [
ZFS_AC_KERNEL_GENERIC_IO_ACCT
ZFS_AC_KERNEL_RENAME_WANTS_FLAGS
ZFS_AC_KERNEL_HAVE_GENERIC_SETXATTR
+ ZFS_AC_KERNEL_CURRENT_TIME
AS_IF([test "$LINUX_OBJ" != "$LINUX"], [
KERNELMAKE_PARAMS="$KERNELMAKE_PARAMS O=$LINUX_OBJ"
diff --git a/config/libtool.m4 b/config/libtool.m4
index 10ab284..a644432 100644
--- a/config/libtool.m4
+++ b/config/libtool.m4
@@ -2867,6 +2867,9 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
# before this can be enabled.
hardcode_into_libs=yes
+ # Add ABI-specific directories to the system library path.
+ sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
+
# Ideally, we could use ldconfig to report *all* directores which are
# searched for libraries, however this is still not possible. Aside from not
# being certain /sbin/ldconfig is available, command
@@ -2875,7 +2878,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
# appending ld.so.conf contents (and includes) to the search path.
if test -f /etc/ld.so.conf; then
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
fi
# We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -2887,18 +2890,6 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
dynamic_linker='GNU/Linux ld.so'
;;
-netbsdelf*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='NetBSD ld.elf_so'
- ;;
-
netbsd*)
version_type=sunos
need_lib_prefix=no
@@ -3558,7 +3549,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
lt_cv_deplibs_check_method=pass_all
;;
-netbsd* | netbsdelf*-gnu)
+netbsd*)
if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
else
@@ -4436,7 +4427,7 @@ m4_if([$1], [CXX], [
;;
esac
;;
- netbsd* | netbsdelf*-gnu)
+ netbsd*)
;;
*qnx* | *nto*)
# QNX uses GNU C++, but need to define -shared option too, otherwise
@@ -4948,9 +4939,6 @@ m4_if([$1], [CXX], [
;;
esac
;;
- linux* | k*bsd*-gnu | gnu*)
- _LT_TAGVAR(link_all_deplibs, $1)=no
- ;;
*)
_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
;;
@@ -5013,9 +5001,6 @@ dnl Note also adjust exclude_expsyms for C++ above.
openbsd* | bitrig*)
with_gnu_ld=no
;;
- linux* | k*bsd*-gnu | gnu*)
- _LT_TAGVAR(link_all_deplibs, $1)=no
- ;;
esac
_LT_TAGVAR(ld_shlibs, $1)=yes
@@ -5270,7 +5255,7 @@ _LT_EOF
fi
;;
- netbsd* | netbsdelf*-gnu)
+ netbsd*)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
@@ -5791,7 +5776,6 @@ _LT_EOF
if test yes = "$lt_cv_irix_exported_symbol"; then
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
fi
- _LT_TAGVAR(link_all_deplibs, $1)=no
else
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
@@ -5813,7 +5797,7 @@ _LT_EOF
esac
;;
- netbsd* | netbsdelf*-gnu)
+ netbsd*)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
else
diff --git a/config/ltmain.sh b/config/ltmain.sh
index 147d758..0f0a2da 100644
--- a/config/ltmain.sh
+++ b/config/ltmain.sh
@@ -31,7 +31,7 @@
PROGRAM=libtool
PACKAGE=libtool
-VERSION="2.4.6 Debian-2.4.6-0.1"
+VERSION=2.4.6
package_revision=2.4.6
@@ -2073,7 +2073,7 @@ include the following information:
autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`
Report bugs to <bug-libtool at gnu.org>.
-GNU libtool home page: <http://www.gnu.org/s/libtool/>.
+GNU libtool home page: <http://www.gnu.org/software/libtool/>.
General help using GNU software: <http://www.gnu.org/gethelp/>."
exit 0
}
@@ -7272,13 +7272,10 @@ func_mode_link ()
# -tp=* Portland pgcc target processor selection
# --sysroot=* for sysroot support
# -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
- # -specs=* GCC specs files
# -stdlib=* select c++ std lib with clang
- # -fsanitize=* Clang/GCC memory and address sanitizer
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
- -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
- -specs=*|-fsanitize=*)
+ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*)
func_quote_for_eval "$arg"
arg=$func_quote_for_eval_result
func_append compile_command " $arg"
@@ -7571,10 +7568,7 @@ func_mode_link ()
case $pass in
dlopen) libs=$dlfiles ;;
dlpreopen) libs=$dlprefiles ;;
- link)
- libs="$deplibs %DEPLIBS%"
- test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
- ;;
+ link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
esac
fi
if test lib,dlpreopen = "$linkmode,$pass"; then
@@ -7893,19 +7887,19 @@ func_mode_link ()
# It is a libtool convenience library, so add in its objects.
func_append convenience " $ladir/$objdir/$old_library"
func_append old_convenience " $ladir/$objdir/$old_library"
- tmp_libs=
- for deplib in $dependency_libs; do
- deplibs="$deplib $deplibs"
- if $opt_preserve_dup_deps; then
- case "$tmp_libs " in
- *" $deplib "*) func_append specialdeplibs " $deplib" ;;
- esac
- fi
- func_append tmp_libs " $deplib"
- done
elif test prog != "$linkmode" && test lib != "$linkmode"; then
func_fatal_error "'$lib' is not a convenience library"
fi
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ deplibs="$deplib $deplibs"
+ if $opt_preserve_dup_deps; then
+ case "$tmp_libs " in
+ *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+ esac
+ fi
+ func_append tmp_libs " $deplib"
+ done
continue
fi # $pass = conv
@@ -8829,9 +8823,6 @@ func_mode_link ()
revision=$number_minor
lt_irix_increment=no
;;
- *)
- func_fatal_configuration "$modename: unknown library version type '$version_type'"
- ;;
esac
;;
no)
diff --git a/configure b/configure
index 81ad3d3..e6b28ab 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for zfs 0.6.5.9.
+# Generated by GNU Autoconf 2.69 for zfs 0.6.5.10.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -587,8 +587,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='zfs'
PACKAGE_TARNAME='zfs'
-PACKAGE_VERSION='0.6.5.9'
-PACKAGE_STRING='zfs 0.6.5.9'
+PACKAGE_VERSION='0.6.5.10'
+PACKAGE_STRING='zfs 0.6.5.10'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@@ -640,6 +640,7 @@ CONFIG_KERNEL_FALSE
CONFIG_KERNEL_TRUE
CONFIG_USER_FALSE
CONFIG_USER_TRUE
+runstatedir
FRAME_LARGER_THAN
LIBBLKID
LIBUUID
@@ -815,7 +816,6 @@ infodir
docdir
oldincludedir
includedir
-runstatedir
localstatedir
sharedstatedir
sysconfdir
@@ -920,7 +920,6 @@ datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
-runstatedir='${localstatedir}/run'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@@ -1173,15 +1172,6 @@ do
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
- -runstatedir | --runstatedir | --runstatedi | --runstated \
- | --runstate | --runstat | --runsta | --runst | --runs \
- | --run | --ru | --r)
- ac_prev=runstatedir ;;
- -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
- | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
- | --run=* | --ru=* | --r=*)
- runstatedir=$ac_optarg ;;
-
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1319,7 +1309,7 @@ fi
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir runstatedir
+ libdir localedir mandir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
@@ -1432,7 +1422,7 @@ if test "$ac_init_help" = "long"; then
# 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.5.9 to adapt to many kinds of systems.
+\`configure' configures zfs 0.6.5.10 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1472,7 +1462,6 @@ Fine tuning of the installation directories:
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
@@ -1504,7 +1493,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of zfs 0.6.5.9:";;
+ short | recursive ) echo "Configuration of zfs 0.6.5.10:";;
esac
cat <<\_ACEOF
@@ -1647,7 +1636,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-zfs configure 0.6.5.9
+zfs configure 0.6.5.10
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2012,7 +2001,7 @@ cat >config.log <<_ACEOF
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.5.9, which was
+It was created by zfs $as_me 0.6.5.10, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3148,7 +3137,7 @@ fi
# Define the identity of the package.
PACKAGE='zfs'
- VERSION='0.6.5.9'
+ VERSION='0.6.5.10'
cat >>confdefs.h <<_ACEOF
@@ -5522,7 +5511,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
lt_cv_deplibs_check_method=pass_all
;;
-netbsd* | netbsdelf*-gnu)
+netbsd*)
if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
else
@@ -9215,9 +9204,6 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
openbsd* | bitrig*)
with_gnu_ld=no
;;
- linux* | k*bsd*-gnu | gnu*)
- link_all_deplibs=no
- ;;
esac
ld_shlibs=yes
@@ -9472,7 +9458,7 @@ _LT_EOF
fi
;;
- netbsd* | netbsdelf*-gnu)
+ netbsd*)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
@@ -10142,7 +10128,6 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
if test yes = "$lt_cv_irix_exported_symbol"; then
archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
fi
- link_all_deplibs=no
else
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
@@ -10164,7 +10149,7 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
esac
;;
- netbsd* | netbsdelf*-gnu)
+ netbsd*)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
else
@@ -11259,6 +11244,9 @@ fi
# before this can be enabled.
hardcode_into_libs=yes
+ # Add ABI-specific directories to the system library path.
+ sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
+
# Ideally, we could use ldconfig to report *all* directores which are
# searched for libraries, however this is still not possible. Aside from not
# being certain /sbin/ldconfig is available, command
@@ -11267,7 +11255,7 @@ fi
# appending ld.so.conf contents (and includes) to the search path.
if test -f /etc/ld.so.conf; then
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
fi
# We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -11279,18 +11267,6 @@ fi
dynamic_linker='GNU/Linux ld.so'
;;
-netbsdelf*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='NetBSD ld.elf_so'
- ;;
-
netbsd*)
version_type=sunos
need_lib_prefix=no
@@ -18597,8 +18573,9 @@ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether uncached_acl_sentinel() exists" >&5
-$as_echo_n "checking whether uncached_acl_sentinel() exists... " >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->getattr() takes a path" >&5
+$as_echo_n "checking whether iops->getattr() takes a path... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
@@ -18606,11 +18583,20 @@ cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
+ int test_getattr(
+ const struct path *p, struct kstat *k,
+ u32 request_mask, unsigned int query_flags)
+ { return 0; }
+
+ static const struct inode_operations
+ iops __attribute__ ((unused)) = {
+ .getattr = test_getattr,
+ };
+
int
main (void)
{
- void *sentinel __attribute__ ((unused)) = uncached_acl_sentinel(NULL);
;
return 0;
@@ -18644,7 +18630,7 @@ _ACEOF
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_KERNEL_GET_ACL_HANDLE_CACHE 1" >>confdefs.h
+$as_echo "#define HAVE_PATH_IOPS_GETATTR 1" >>confdefs.h
else
@@ -18662,9 +18648,8 @@ fi
- { $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 iops->getattr() takes a vfsmount" >&5
+$as_echo_n "checking whether iops->getattr() takes a vfsmount... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
@@ -18672,9 +18657,14 @@ 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_getattr(
+ struct vfsmount *mnt, struct dentry *d,
+ struct kstat *k)
+ { return 0; }
+
+ static const struct inode_operations
+ iops __attribute__ ((unused)) = {
+ .getattr = test_getattr,
};
int
@@ -18714,7 +18704,7 @@ _ACEOF
{ $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_VFSMOUNT_IOPS_GETATTR 1" >>confdefs.h
else
@@ -18732,8 +18722,9 @@ fi
- { $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 uncached_acl_sentinel() exists" >&5
+$as_echo_n "checking whether uncached_acl_sentinel() exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
@@ -18745,8 +18736,7 @@ int
main (void)
{
- struct file *f = NULL;
- file_inode(f);
+ void *sentinel __attribute__ ((unused)) = uncached_acl_sentinel(NULL);
;
return 0;
@@ -18780,7 +18770,7 @@ _ACEOF
{ $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_KERNEL_GET_ACL_HANDLE_CACHE 1" >>confdefs.h
else
@@ -18798,143 +18788,8 @@ fi
- { $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)
-{
-
-
- ;
- 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: dentry" >&5
-$as_echo "dentry" >&6; }
-
-$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
-
-
-
-
-fi
- rm -Rf build
-
-
-
-
-
-
-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)
-{
-
-
- ;
- 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: no dentry" >&5
-$as_echo "no dentry" >&6; }
-
-$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
-
-
-
-
-fi
- rm -Rf build
-
-
-
+ { $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; }
@@ -18943,79 +18798,9 @@ 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; }
-
- static const struct file_operations
- fops __attribute__ ((unused)) = {
- .fsync = test_fsync,
- };
-
-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: range" >&5
-$as_echo "range" >&6; }
-
-$as_echo "#define HAVE_FSYNC_RANGE 1" >>confdefs.h
-
-
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-
-
-fi
- rm -Rf build
-
-
-
-
-
- { $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; }
+ int show_options (struct seq_file * x, struct dentry * y) { return 0; };
static struct super_operations sops __attribute__ ((unused)) = {
- .evict_inode = evict_inode,
+ .show_options = show_options,
};
int
@@ -19055,7 +18840,7 @@ _ACEOF
{ $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_SHOW_OPTIONS_WITH_DENTRY 1" >>confdefs.h
else
@@ -19073,8 +18858,8 @@ fi
- { $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 file_inode() is available" >&5
+$as_echo_n "checking whether file_inode() is available... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
@@ -19082,17 +18867,12 @@ cat confdefs.h - <<_ACEOF >conftest.c
#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)
{
+ struct file *f = NULL;
+ file_inode(f);
;
return 0;
@@ -19126,7 +18906,7 @@ _ACEOF
{ $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_FILE_INODE 1" >>confdefs.h
else
@@ -19144,8 +18924,9 @@ fi
- { $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 fops->fsync() wants" >&5
+$as_echo_n "checking whether fops->fsync() wants... " >&6; }
+
cat confdefs.h - <<_ACEOF >conftest.c
@@ -19153,11 +18934,12 @@ cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
- int nr_cached_objects(struct super_block *sb) { return 0; }
+ int test_fsync(struct file *f, struct dentry *dentry, int x)
+ { return 0; }
- static const struct super_operations
- sops __attribute__ ((unused)) = {
- .nr_cached_objects = nr_cached_objects,
+ static const struct file_operations
+ fops __attribute__ ((unused)) = {
+ .fsync = test_fsync,
};
int
@@ -19194,18 +18976,16 @@ _ACEOF
$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_NR_CACHED_OBJECTS 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; }
@@ -19215,8 +18995,6 @@ fi
- { $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
@@ -19224,12 +19002,11 @@ cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
- void free_cached_objects(struct super_block *sb, int x)
- { return; }
+ int test_fsync(struct file *f, int x) { return 0; }
- static const struct super_operations
- sops __attribute__ ((unused)) = {
- .free_cached_objects = free_cached_objects,
+ static const struct file_operations
+ fops __attribute__ ((unused)) = {
+ .fsync = test_fsync,
};
int
@@ -19266,18 +19043,16 @@ _ACEOF
$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_FREE_CACHED_OBJECTS 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; }
@@ -19288,21 +19063,85 @@ fi
- { $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; }
+ int test_fsync(struct file *f, loff_t a, loff_t b, int c)
+ { return 0; }
static const struct file_operations
fops __attribute__ ((unused)) = {
- .fallocate = test_fallocate,
+ .fsync = test_fsync,
+ };
+
+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: range" >&5
+$as_echo "range" >&6; }
+
+$as_echo "#define HAVE_FSYNC_RANGE 1" >>confdefs.h
+
+
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+
+
+fi
+ rm -Rf build
+
+
+
+
+
+ { $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
@@ -19342,7 +19181,7 @@ _ACEOF
{ $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_EVICT_INODE 1" >>confdefs.h
else
@@ -19360,8 +19199,8 @@ fi
- { $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 sops->dirty_inode() wants flags" >&5
+$as_echo_n "checking whether sops->dirty_inode() wants flags... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
@@ -19369,12 +19208,11 @@ 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; }
+ void dirty_inode(struct inode *a, int b) { return; }
- static const struct inode_operations
- fops __attribute__ ((unused)) = {
- .fallocate = test_fallocate,
+ static const struct super_operations
+ sops __attribute__ ((unused)) = {
+ .dirty_inode = dirty_inode,
};
int
@@ -19414,7 +19252,7 @@ _ACEOF
{ $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_DIRTY_INODE_WITH_FLAGS 1" >>confdefs.h
else
@@ -19432,9 +19270,8 @@ fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fops->aio_fsync() exists" >&5
-$as_echo_n "checking whether fops->aio_fsync() 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
@@ -19442,9 +19279,11 @@ cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
- static const struct file_operations
- fops __attribute__ ((unused)) = {
- .aio_fsync = NULL,
+ 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
@@ -19484,7 +19323,7 @@ _ACEOF
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_FILE_AIO_FSYNC 1" >>confdefs.h
+$as_echo "#define HAVE_NR_CACHED_OBJECTS 1" >>confdefs.h
else
@@ -19502,8 +19341,8 @@ fi
- { $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 sops->free_cached_objects() exists" >&5
+$as_echo_n "checking whether sops->free_cached_objects() exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
@@ -19511,12 +19350,12 @@ cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
- int mkdir(struct inode *inode, struct dentry *dentry,
- umode_t umode) { return 0; }
+ void free_cached_objects(struct super_block *sb, int x)
+ { return; }
- static const struct inode_operations
- iops __attribute__ ((unused)) = {
- .mkdir = mkdir,
+ static const struct super_operations
+ sops __attribute__ ((unused)) = {
+ .free_cached_objects = free_cached_objects,
};
int
@@ -19556,7 +19395,7 @@ _ACEOF
{ $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_FREE_CACHED_OBJECTS 1" >>confdefs.h
else
@@ -19574,8 +19413,9 @@ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->lookup() passes nameidata" >&5
-$as_echo_n "checking whether iops->lookup() passes nameidata... " >&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
@@ -19583,13 +19423,12 @@ 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; }
+ long test_fallocate(struct file *file, int mode,
+ loff_t offset, loff_t len) { return 0; }
- static const struct inode_operations iops
- __attribute__ ((unused)) = {
- .lookup = inode_lookup,
+ static const struct file_operations
+ fops __attribute__ ((unused)) = {
+ .fallocate = test_fallocate,
};
int
@@ -19629,7 +19468,7 @@ _ACEOF
{ $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_FILE_FALLOCATE 1" >>confdefs.h
else
@@ -19647,8 +19486,8 @@ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->create() passes nameidata" >&5
-$as_echo_n "checking whether iops->create() passes nameidata... " >&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
@@ -19656,17 +19495,12 @@ 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
+ long test_fallocate(struct inode *inode, int mode,
+ loff_t offset, loff_t len) { return 0; }
static const struct inode_operations
- iops __attribute__ ((unused)) = {
- .create = inode_create,
+ fops __attribute__ ((unused)) = {
+ .fallocate = test_fallocate,
};
int
@@ -19706,7 +19540,7 @@ _ACEOF
{ $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_INODE_FALLOCATE 1" >>confdefs.h
else
@@ -19724,19 +19558,19 @@ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->get_link() passes delayed" >&5
-$as_echo_n "checking whether iops->get_link() passes delayed... " >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fops->aio_fsync() exists" >&5
+$as_echo_n "checking whether fops->aio_fsync() exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
- const char *get_link(struct dentry *de, struct inode *ip,
- struct delayed_call *done) { return "symlink"; }
- static struct inode_operations
- iops __attribute__ ((unused)) = {
- .get_link = get_link,
+
+ static const struct file_operations
+ fops __attribute__ ((unused)) = {
+ .aio_fsync = NULL,
};
int
@@ -19776,29 +19610,40 @@ _ACEOF
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_GET_LINK_DELAYED 1" >>confdefs.h
+$as_echo "#define HAVE_FILE_AIO_FSYNC 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 "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->get_link() passes cookie" >&5
-$as_echo_n "checking whether iops->get_link() passes cookie... " >&6; }
+
+
+
+fi
+ rm -Rf build
+
+
+
+
+ { $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>
- const char *get_link(struct dentry *de, struct
- inode *ip, void **cookie) { return "symlink"; }
- static struct inode_operations
- iops __attribute__ ((unused)) = {
- .get_link = get_link,
- };
+ #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,
+ };
int
main (void)
@@ -19834,32 +19679,43 @@ _ACEOF
$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_GET_LINK_COOKIE 1" >>confdefs.h
+$as_echo "#define HAVE_MKDIR_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: no" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->follow_link() passes cookie" >&5
-$as_echo_n "checking whether iops->follow_link() passes cookie... " >&6; }
+
+
+fi
+ rm -Rf build
+
+
+
+
+ { $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>
- const char *follow_link(struct dentry *de,
- void **cookie) { return "symlink"; }
- static struct inode_operations
- iops __attribute__ ((unused)) = {
- .follow_link = follow_link,
+
+ 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
@@ -19899,29 +19755,45 @@ _ACEOF
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_FOLLOW_LINK_COOKIE 1" >>confdefs.h
+$as_echo "#define HAVE_LOOKUP_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 "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&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; }
+
+
+
+fi
+ rm -Rf build
+
+
+
+
+ { $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>
- void *follow_link(struct dentry *de, struct
- nameidata *nd) { return (void *)NULL; }
- static struct inode_operations
- iops __attribute__ ((unused)) = {
- .follow_link = follow_link,
- };
+
+ #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,
+ };
int
main (void)
@@ -19957,39 +19829,18 @@ _ACEOF
$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_FOLLOW_LINK_NAMEIDATA 1" >>confdefs.h
+$as_echo "#define HAVE_CREATE_NAMEIDATA 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" "$LINENO" 5
-
-
-
-fi
- rm -Rf build
-
-
-
-
-
-fi
- rm -Rf build
-
-
-
-
-
-
-fi
- rm -Rf build
-
-
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
@@ -19999,14 +19850,20 @@ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->get_link() passes delayed" >&5
+$as_echo_n "checking whether iops->get_link() passes delayed... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #if !defined(HAVE_GET_LINK_DELAYED)
- #error "Expecting get_link() delayed done"
- #endif
+ #include <linux/fs.h>
+ const char *get_link(struct dentry *de, struct inode *ip,
+ struct delayed_call *done) { return "symlink"; }
+ static struct inode_operations
+ iops __attribute__ ((unused)) = {
+ .get_link = get_link,
+ };
int
main (void)
@@ -20042,27 +19899,31 @@ _ACEOF
$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_PUT_LINK_DELAYED 1" >>confdefs.h
+$as_echo "#define HAVE_GET_LINK_DELAYED 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}: checking whether iops->put_link() passes cookie" >&5
-$as_echo_n "checking whether iops->put_link() passes cookie... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->get_link() passes cookie" >&5
+$as_echo_n "checking whether iops->get_link() passes cookie... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
- void put_link(struct inode *ip, void *cookie)
- { return; }
+ const char *get_link(struct dentry *de, struct
+ inode *ip, void **cookie) { return "symlink"; }
static struct inode_operations
- iops __attribute__ ((unused)) = {
- .put_link = put_link,
+ iops __attribute__ ((unused)) = {
+ .get_link = get_link,
};
int
@@ -20102,7 +19963,7 @@ _ACEOF
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_PUT_LINK_COOKIE 1" >>confdefs.h
+$as_echo "#define HAVE_GET_LINK_COOKIE 1" >>confdefs.h
else
@@ -20111,20 +19972,21 @@ 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 iops->put_link() passes nameidata" >&5
-$as_echo_n "checking whether iops->put_link() passes nameidata... " >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->follow_link() passes cookie" >&5
+$as_echo_n "checking whether iops->follow_link() passes cookie... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/fs.h>
- void put_link(struct dentry *de, struct
- nameidata *nd, void *ptr) { return; }
- static struct inode_operations
- iops __attribute__ ((unused)) = {
- .put_link = put_link,
- };
+ #include <linux/fs.h>
+ const char *follow_link(struct dentry *de,
+ void **cookie) { return "symlink"; }
+ static struct inode_operations
+ iops __attribute__ ((unused)) = {
+ .follow_link = follow_link,
+ };
int
main (void)
@@ -20160,53 +20022,32 @@ _ACEOF
$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_PUT_LINK_NAMEIDATA 1" >>confdefs.h
+$as_echo "#define HAVE_FOLLOW_LINK_COOKIE 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" "$LINENO" 5
-
-
-
-fi
- rm -Rf build
-
-
-
-
-
-fi
- rm -Rf build
-
-
-
-
-
-fi
- rm -Rf build
-
-
-
-
- { $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}: result: no" >&5
+$as_echo "no" >&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>
- void truncate_range(struct inode *inode, loff_t start,
- loff_t end) { return; }
- static struct inode_operations iops __attribute__ ((unused)) = {
- .truncate_range = truncate_range,
- };
+ void *follow_link(struct dentry *de, struct
+ nameidata *nd) { return (void *)NULL; }
+ static struct inode_operations
+ iops __attribute__ ((unused)) = {
+ .follow_link = follow_link,
+ };
int
main (void)
@@ -20242,18 +20083,39 @@ _ACEOF
$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_INODE_TRUNCATE_RANGE 1" >>confdefs.h
+$as_echo "#define HAVE_FOLLOW_LINK_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; }
+ as_fn_error $? "no; please file a bug report" "$LINENO" 5
+
+
+
+fi
+ rm -Rf build
+
+
+
+
+
+fi
+ rm -Rf build
+
+
+
+
+
+
+fi
+ rm -Rf build
+
+
@@ -20263,18 +20125,14 @@ fi
- { $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/dcache.h>
- struct vfsmount *d_automount(struct path *p) { return NULL; }
- struct dentry_operations dops __attribute__ ((unused)) = {
- .d_automount = d_automount,
- };
+ #if !defined(HAVE_GET_LINK_DELAYED)
+ #error "Expecting get_link() delayed done"
+ #endif
int
main (void)
@@ -20310,40 +20168,308 @@ _ACEOF
$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_AUTOMOUNT 1" >>confdefs.h
+$as_echo "#define HAVE_PUT_LINK_DELAYED 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 eops->encode_fh() wants inode" >&5
-$as_echo_n "checking whether eops->encode_fh() wants inode... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->put_link() passes cookie" >&5
+$as_echo_n "checking whether iops->put_link() passes cookie... " >&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>
+ void put_link(struct inode *ip, void *cookie)
+ { return; }
+ static struct inode_operations
+ iops __attribute__ ((unused)) = {
+ .put_link = put_link,
+ };
+
+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_PUT_LINK_COOKIE 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 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>
+ void put_link(struct dentry *de, struct
+ nameidata *nd, void *ptr) { return; }
+ static struct inode_operations
+ iops __attribute__ ((unused)) = {
+ .put_link = put_link,
+ };
+
+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_PUT_LINK_NAMEIDATA 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" "$LINENO" 5
+
+
+
+fi
+ rm -Rf build
+
+
+
+
+
+fi
+ rm -Rf build
+
+
+
+
+
+fi
+ rm -Rf build
+
+
+
+
+ { $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)
+{
+
+
+ ;
+ 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_INODE_TRUNCATE_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; }
+
+
+
+fi
+ rm -Rf build
+
+
+
+
+ { $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/dcache.h>
+ struct vfsmount *d_automount(struct path *p) { return NULL; }
+ struct dentry_operations dops __attribute__ ((unused)) = {
+ .d_automount = d_automount,
+ };
+
+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_AUTOMOUNT 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 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,
+ };
int
main (void)
@@ -22072,16 +22198,16 @@ fi
- { $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 super_setup_bdi_name() exists" >&5
+$as_echo_n "checking whether super_setup_bdi_name() exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/backing-dev.h>
- struct backing_dev_info bdi;
+ #include <linux/fs.h>
+ struct super_block sb;
int
main (void)
@@ -22089,7 +22215,7 @@ main (void)
char *name = "bdi";
int error __attribute__((unused)) =
- bdi_setup_and_register(&bdi, name);
+ super_setup_bdi_name(&sb, name);
;
return 0;
@@ -22134,8 +22260,8 @@ fi
{ $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 bdi_setup_and_register() wants 2 args" >&5
+$as_echo_n "checking whether bdi_setup_and_register() wants 2 args... " >&6; }
@@ -22150,9 +22276,8 @@ main (void)
{
char *name = "bdi";
- unsigned int cap = BDI_CAP_MAP_COPY;
int error __attribute__((unused)) =
- bdi_setup_and_register(&bdi, name, cap);
+ bdi_setup_and_register(&bdi, name);
;
return 0;
@@ -22197,6 +22322,69 @@ fi
{ $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/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;
+}
+
+_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
@@ -22227,12 +22415,12 @@ $as_echo "no" >&6; }
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
@@ -22271,9 +22459,9 @@ $as_echo "#define HAVE_3ARGS_BDI_SETUP_AND_REGISTER 1" >>confdefs.h
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; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether bdi_setup_and_register() wants 3 args" >&5
+ { $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; }
@@ -22281,17 +22469,17 @@ $as_echo_n "checking whether bdi_setup_and_register() wants 3 args... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/backing-dev.h>
- struct backing_dev_info bdi;
+ #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);
+ char *name = "bdi";
+ unsigned int cap = BDI_CAP_MAP_COPY;
+ int error __attribute__((unused)) =
+ bdi_setup_and_register(&bdi, name, cap);
;
return 0;
@@ -22334,7 +22522,7 @@ 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
@@ -22366,12 +22554,12 @@ $as_echo "no" >&6; }
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
@@ -22383,7 +22571,7 @@ $as_echo "#define HAVE_3ARGS_BDI_SETUP_AND_REGISTER 1" >>confdefs.h
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_2ARGS_BDI_SETUP_AND_REGISTER 1" >>confdefs.h
@@ -22393,23 +22581,55 @@ $as_echo "#define HAVE_2ARGS_BDI_SETUP_AND_REGISTER 1" >>confdefs.h
fi
+ else
+ if test "x$enable_linux_builtin" != xyes; then
+
+ grep -q -E '[[:space:]]super_setup_bdi_name[[: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.*(super_setup_bdi_name)" \
+ "$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 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 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>
+ #include <linux/backing-dev.h>
+ struct backing_dev_info bdi;
int
main (void)
{
- struct inode node;
- unsigned int link = 0;
- (void) set_nlink(&node, link);
+ char *name = "bdi";
+ int error __attribute__((unused)) =
+ bdi_setup_and_register(&bdi, name);
;
return 0;
@@ -22439,48 +22659,40 @@ _ACEOF
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
-
-
+ 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 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 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/blkdev.h>
- #include <linux/elevator.h>
+ #include <linux/backing-dev.h>
+ struct backing_dev_info bdi;
int
main (void)
{
- int ret;
- struct request_queue *q = NULL;
- char *elevator = NULL;
- ret = elevator_change(q, elevator);
+ char *name = "bdi";
+ unsigned int cap = BDI_CAP_MAP_COPY;
+ int error __attribute__((unused)) =
+ bdi_setup_and_register(&bdi, name, cap);
;
return 0;
@@ -22510,117 +22722,457 @@ _ACEOF
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_ELEVATOR_CHANGE 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
- 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; }
-
-
-cat confdefs.h - <<_ACEOF >conftest.c
-
-
- #include <linux/fs.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);
-
- ;
- return 0;
-}
-
-_ACEOF
+ 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
-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 HAVE_5ARG_SGET 1" >>confdefs.h
-
-
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+$as_echo "#define HAVE_3ARGS_BDI_SETUP_AND_REGISTER 1" >>confdefs.h
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ fi
+ fi
-fi
- rm -Rf build
+ 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}: checking whether lseek_execute() is available" >&5
-$as_echo_n "checking whether lseek_execute() 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)
{
- 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);
+ char *name = "bdi";
+ unsigned int cap = BDI_CAP_MAP_COPY;
+ int error __attribute__((unused)) =
+ bdi_setup_and_register(&bdi, name, cap);
+
+ ;
+ 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:]]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
+
+
+ fi
+ 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
+
+
+ fi
+ fi
+
+
+ else :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_SUPER_SETUP_BDI_NAME 1" >>confdefs.h
+
+
+ fi
+ 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; }
+
+
+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
+
+
+
+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
+
+
+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 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/blkdev.h>
+ #include <linux/elevator.h>
+
+int
+main (void)
+{
+
+ int ret;
+ struct request_queue *q = NULL;
+ char *elevator = NULL;
+ ret = elevator_change(q, elevator);
+
+ ;
+ 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_ELEVATOR_CHANGE 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 sget() wants 5 args" >&5
+$as_echo_n "checking whether sget() wants 5 args... " >&6; }
+
+
+cat confdefs.h - <<_ACEOF >conftest.c
+
+
+ #include <linux/fs.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);
+
+ ;
+ 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_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;
@@ -22980,6 +23532,71 @@ $as_echo "yes" >&6; }
$as_echo "#define HAVE_VFS_RW_ITERATE 1" >>confdefs.h
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether new_sync_read() is available" >&5
+$as_echo_n "checking whether new_sync_read() is available... " >&6; }
+
+
+cat confdefs.h - <<_ACEOF >conftest.c
+
+
+ #include <linux/fs.h>
+
+int
+main (void)
+{
+
+ new_sync_read(NULL, NULL, 0, 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_NEW_SYNC_READ 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
+
+
+
+
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
@@ -23658,6 +24275,113 @@ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether current_time() exists" >&5
+$as_echo_n "checking whether current_time() exists... " >&6; }
+
+
+
+cat confdefs.h - <<_ACEOF >conftest.c
+
+
+ #include <linux/fs.h>
+
+int
+main (void)
+{
+
+ struct inode ip;
+ struct timespec now __attribute__ ((unused));
+
+ now = current_time(&ip);
+
+ ;
+ 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:]]current_time[[: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.*(current_time)" \
+ "$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_CURRENT_TIME 1" >>confdefs.h
+
+
+ fi
+ fi
+
+
if test "$LINUX_OBJ" != "$LINUX"; then :
@@ -30183,8 +30907,9 @@ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether uncached_acl_sentinel() exists" >&5
-$as_echo_n "checking whether uncached_acl_sentinel() exists... " >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->getattr() takes a path" >&5
+$as_echo_n "checking whether iops->getattr() takes a path... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
@@ -30192,11 +30917,20 @@ cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
+ int test_getattr(
+ const struct path *p, struct kstat *k,
+ u32 request_mask, unsigned int query_flags)
+ { return 0; }
+
+ static const struct inode_operations
+ iops __attribute__ ((unused)) = {
+ .getattr = test_getattr,
+ };
+
int
main (void)
{
- void *sentinel __attribute__ ((unused)) = uncached_acl_sentinel(NULL);
;
return 0;
@@ -30230,7 +30964,7 @@ _ACEOF
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_KERNEL_GET_ACL_HANDLE_CACHE 1" >>confdefs.h
+$as_echo "#define HAVE_PATH_IOPS_GETATTR 1" >>confdefs.h
else
@@ -30248,9 +30982,8 @@ fi
- { $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 iops->getattr() takes a vfsmount" >&5
+$as_echo_n "checking whether iops->getattr() takes a vfsmount... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
@@ -30258,9 +30991,14 @@ 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_getattr(
+ struct vfsmount *mnt, struct dentry *d,
+ struct kstat *k)
+ { return 0; }
+
+ static const struct inode_operations
+ iops __attribute__ ((unused)) = {
+ .getattr = test_getattr,
};
int
@@ -30300,7 +31038,7 @@ _ACEOF
{ $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_VFSMOUNT_IOPS_GETATTR 1" >>confdefs.h
else
@@ -30318,8 +31056,9 @@ fi
- { $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 uncached_acl_sentinel() exists" >&5
+$as_echo_n "checking whether uncached_acl_sentinel() exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
@@ -30331,8 +31070,7 @@ int
main (void)
{
- struct file *f = NULL;
- file_inode(f);
+ void *sentinel __attribute__ ((unused)) = uncached_acl_sentinel(NULL);
;
return 0;
@@ -30366,7 +31104,7 @@ _ACEOF
{ $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_KERNEL_GET_ACL_HANDLE_CACHE 1" >>confdefs.h
else
@@ -30384,8 +31122,8 @@ fi
- { $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->show_options() wants dentry" >&5
+$as_echo_n "checking whether sops->show_options() wants dentry... " >&6; }
@@ -30394,12 +31132,9 @@ 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 show_options (struct seq_file * x, struct dentry * y) { return 0; };
+ static struct super_operations sops __attribute__ ((unused)) = {
+ .show_options = show_options,
};
int
@@ -30436,16 +31171,18 @@ _ACEOF
$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_SHOW_OPTIONS_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; }
@@ -30455,6 +31192,8 @@ fi
+ { $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
@@ -30462,17 +31201,12 @@ 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)
{
+ struct file *f = NULL;
+ file_inode(f);
;
return 0;
@@ -30503,16 +31237,18 @@ _ACEOF
$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_FILE_INODE 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; }
@@ -30522,6 +31258,9 @@ fi
+ { $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
@@ -30529,7 +31268,7 @@ cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
- int test_fsync(struct file *f, loff_t a, loff_t b, int c)
+ int test_fsync(struct file *f, struct dentry *dentry, int x)
{ return 0; }
static const struct file_operations
@@ -30571,85 +31310,16 @@ _ACEOF
$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 "#define HAVE_FSYNC_RANGE 1" >>confdefs.h
-
-
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-
-
-fi
- rm -Rf build
-
-
-
-
-
- { $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)
-{
-
-
- ;
- 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}: result: dentry" >&5
+$as_echo "dentry" >&6; }
-$as_echo "#define HAVE_EVICT_INODE 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; }
@@ -30659,8 +31329,6 @@ fi
- { $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
@@ -30668,11 +31336,11 @@ cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
- void dirty_inode(struct inode *a, int b) { return; }
+ int test_fsync(struct file *f, int x) { return 0; }
- static const struct super_operations
- sops __attribute__ ((unused)) = {
- .dirty_inode = dirty_inode,
+ static const struct file_operations
+ fops __attribute__ ((unused)) = {
+ .fsync = test_fsync,
};
int
@@ -30709,18 +31377,16 @@ _ACEOF
$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_DIRTY_INODE_WITH_FLAGS 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; }
@@ -30730,8 +31396,6 @@ fi
- { $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
@@ -30739,11 +31403,12 @@ cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
- int nr_cached_objects(struct super_block *sb) { return 0; }
+ int test_fsync(struct file *f, loff_t a, loff_t b, int c)
+ { return 0; }
- static const struct super_operations
- sops __attribute__ ((unused)) = {
- .nr_cached_objects = nr_cached_objects,
+ static const struct file_operations
+ fops __attribute__ ((unused)) = {
+ .fsync = test_fsync,
};
int
@@ -30780,18 +31445,16 @@ _ACEOF
$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_NR_CACHED_OBJECTS 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; }
@@ -30801,21 +31464,18 @@ fi
- { $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 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 free_cached_objects(struct super_block *sb, int x)
- { return; }
-
- static const struct super_operations
- sops __attribute__ ((unused)) = {
- .free_cached_objects = free_cached_objects,
+ void evict_inode (struct inode * t) { return; }
+ static struct super_operations sops __attribute__ ((unused)) = {
+ .evict_inode = evict_inode,
};
int
@@ -30855,7 +31515,7 @@ _ACEOF
{ $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_EVICT_INODE 1" >>confdefs.h
else
@@ -30873,9 +31533,8 @@ 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 sops->dirty_inode() wants flags" >&5
+$as_echo_n "checking whether sops->dirty_inode() wants flags... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
@@ -30883,12 +31542,11 @@ 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; }
+ void dirty_inode(struct inode *a, int b) { return; }
- static const struct file_operations
- fops __attribute__ ((unused)) = {
- .fallocate = test_fallocate,
+ static const struct super_operations
+ sops __attribute__ ((unused)) = {
+ .dirty_inode = dirty_inode,
};
int
@@ -30928,7 +31586,7 @@ _ACEOF
{ $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_DIRTY_INODE_WITH_FLAGS 1" >>confdefs.h
else
@@ -30946,8 +31604,8 @@ fi
- { $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 sops->nr_cached_objects() exists" >&5
+$as_echo_n "checking whether sops->nr_cached_objects() exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
@@ -30955,12 +31613,11 @@ 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; }
+ int nr_cached_objects(struct super_block *sb) { return 0; }
- static const struct inode_operations
- fops __attribute__ ((unused)) = {
- .fallocate = test_fallocate,
+ static const struct super_operations
+ sops __attribute__ ((unused)) = {
+ .nr_cached_objects = nr_cached_objects,
};
int
@@ -31000,7 +31657,7 @@ _ACEOF
{ $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_NR_CACHED_OBJECTS 1" >>confdefs.h
else
@@ -31018,9 +31675,8 @@ fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fops->aio_fsync() exists" >&5
-$as_echo_n "checking whether fops->aio_fsync() 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
@@ -31028,9 +31684,12 @@ cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
- static const struct file_operations
- fops __attribute__ ((unused)) = {
- .aio_fsync = NULL,
+ 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
@@ -31070,7 +31729,7 @@ _ACEOF
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_FILE_AIO_FSYNC 1" >>confdefs.h
+$as_echo "#define HAVE_FREE_CACHED_OBJECTS 1" >>confdefs.h
else
@@ -31088,8 +31747,9 @@ fi
- { $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 fops->fallocate() exists" >&5
+$as_echo_n "checking whether fops->fallocate() exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
@@ -31097,12 +31757,12 @@ cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
- int mkdir(struct inode *inode, struct dentry *dentry,
- umode_t umode) { return 0; }
+ long test_fallocate(struct file *file, int mode,
+ loff_t offset, loff_t len) { return 0; }
- static const struct inode_operations
- iops __attribute__ ((unused)) = {
- .mkdir = mkdir,
+ static const struct file_operations
+ fops __attribute__ ((unused)) = {
+ .fallocate = test_fallocate,
};
int
@@ -31142,7 +31802,7 @@ _ACEOF
{ $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_FILE_FALLOCATE 1" >>confdefs.h
else
@@ -31160,8 +31820,8 @@ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->lookup() passes nameidata" >&5
-$as_echo_n "checking whether iops->lookup() passes nameidata... " >&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
@@ -31169,13 +31829,12 @@ 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; }
+ long test_fallocate(struct inode *inode, int mode,
+ loff_t offset, loff_t len) { return 0; }
- static const struct inode_operations iops
- __attribute__ ((unused)) = {
- .lookup = inode_lookup,
+ static const struct inode_operations
+ fops __attribute__ ((unused)) = {
+ .fallocate = test_fallocate,
};
int
@@ -31215,7 +31874,7 @@ _ACEOF
{ $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_FALLOCATE 1" >>confdefs.h
else
@@ -31233,8 +31892,9 @@ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->create() passes nameidata" >&5
-$as_echo_n "checking whether iops->create() passes nameidata... " >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fops->aio_fsync() exists" >&5
+$as_echo_n "checking whether fops->aio_fsync() exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
@@ -31242,17 +31902,9 @@ 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,
+ static const struct file_operations
+ fops __attribute__ ((unused)) = {
+ .aio_fsync = NULL,
};
int
@@ -31292,7 +31944,7 @@ _ACEOF
{ $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_FILE_AIO_FSYNC 1" >>confdefs.h
else
@@ -31310,19 +31962,21 @@ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->get_link() passes delayed" >&5
-$as_echo_n "checking whether iops->get_link() passes delayed... " >&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>
- const char *get_link(struct dentry *de, struct inode *ip,
- struct delayed_call *done) { return "symlink"; }
- static struct inode_operations
- iops __attribute__ ((unused)) = {
- .get_link = get_link,
+
+ int mkdir(struct inode *inode, struct dentry *dentry,
+ umode_t umode) { return 0; }
+
+ static const struct inode_operations
+ iops __attribute__ ((unused)) = {
+ .mkdir = mkdir,
};
int
@@ -31362,29 +32016,41 @@ _ACEOF
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_GET_LINK_DELAYED 1" >>confdefs.h
+$as_echo "#define HAVE_MKDIR_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: no" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->get_link() passes cookie" >&5
-$as_echo_n "checking whether iops->get_link() passes cookie... " >&6; }
+
+
+
+fi
+ rm -Rf build
+
+
+
+
+ { $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>
- const char *get_link(struct dentry *de, struct
- inode *ip, void **cookie) { return "symlink"; }
- static struct inode_operations
- iops __attribute__ ((unused)) = {
- .get_link = get_link,
- };
+ #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)
@@ -31420,32 +32086,47 @@ _ACEOF
$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_GET_LINK_COOKIE 1" >>confdefs.h
+$as_echo "#define HAVE_LOOKUP_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 "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->follow_link() passes cookie" >&5
-$as_echo_n "checking whether iops->follow_link() passes cookie... " >&6; }
+
+
+fi
+ rm -Rf build
+
+
+
+
+ { $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>
- const char *follow_link(struct dentry *de,
- void **cookie) { return "symlink"; }
- static struct inode_operations
+
+ #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)) = {
- .follow_link = follow_link,
+ .create = inode_create,
};
int
@@ -31485,29 +32166,38 @@ _ACEOF
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_FOLLOW_LINK_COOKIE 1" >>confdefs.h
+$as_echo "#define HAVE_CREATE_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 "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&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; }
+
+
+
+fi
+ rm -Rf build
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->get_link() passes delayed" >&5
+$as_echo_n "checking whether iops->get_link() passes delayed... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
#include <linux/fs.h>
- void *follow_link(struct dentry *de, struct
- nameidata *nd) { return (void *)NULL; }
- static struct inode_operations
- iops __attribute__ ((unused)) = {
- .follow_link = follow_link,
- };
+ const char *get_link(struct dentry *de, struct inode *ip,
+ struct delayed_call *done) { return "symlink"; }
+ static struct inode_operations
+ iops __attribute__ ((unused)) = {
+ .get_link = get_link,
+ };
int
main (void)
@@ -31543,56 +32233,32 @@ _ACEOF
$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_FOLLOW_LINK_NAMEIDATA 1" >>confdefs.h
+$as_echo "#define HAVE_GET_LINK_DELAYED 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" "$LINENO" 5
-
-
-
-fi
- rm -Rf build
-
-
-
-
-
-fi
- rm -Rf build
-
-
-
-
-
-
-fi
- rm -Rf build
-
-
-
-
-
-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 iops->get_link() passes cookie" >&5
+$as_echo_n "checking whether iops->get_link() passes cookie... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #if !defined(HAVE_GET_LINK_DELAYED)
- #error "Expecting get_link() delayed done"
- #endif
+ #include <linux/fs.h>
+ const char *get_link(struct dentry *de, struct
+ inode *ip, void **cookie) { return "symlink"; }
+ static struct inode_operations
+ iops __attribute__ ((unused)) = {
+ .get_link = get_link,
+ };
int
main (void)
@@ -31628,28 +32294,33 @@ _ACEOF
$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_PUT_LINK_DELAYED 1" >>confdefs.h
+$as_echo "#define HAVE_GET_LINK_COOKIE 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}: checking whether iops->put_link() passes cookie" >&5
-$as_echo_n "checking whether iops->put_link() passes cookie... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iops->follow_link() passes cookie" >&5
+$as_echo_n "checking whether iops->follow_link() passes cookie... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/fs.h>
- void put_link(struct inode *ip, void *cookie)
- { return; }
- static struct inode_operations
- iops __attribute__ ((unused)) = {
- .put_link = put_link,
- };
+ #include <linux/fs.h>
+ const char *follow_link(struct dentry *de,
+ void **cookie) { return "symlink"; }
+ static struct inode_operations
+ iops __attribute__ ((unused)) = {
+ .follow_link = follow_link,
+ };
int
main (void)
@@ -31685,32 +32356,32 @@ _ACEOF
$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_PUT_LINK_COOKIE 1" >>confdefs.h
+$as_echo "#define HAVE_FOLLOW_LINK_COOKIE 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 "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&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; }
+ { $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>
- void put_link(struct dentry *de, struct
- nameidata *nd, void *ptr) { return; }
- static struct inode_operations
- iops __attribute__ ((unused)) = {
- .put_link = put_link,
- };
+ #include <linux/fs.h>
+ void *follow_link(struct dentry *de, struct
+ nameidata *nd) { return (void *)NULL; }
+ static struct inode_operations
+ iops __attribute__ ((unused)) = {
+ .follow_link = follow_link,
+ };
int
main (void)
@@ -31746,17 +32417,17 @@ _ACEOF
$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_PUT_LINK_NAMEIDATA 1" >>confdefs.h
+$as_echo "#define HAVE_FOLLOW_LINK_NAMEIDATA 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" "$LINENO" 5
+ as_fn_error $? "no; please file a bug report" "$LINENO" 5
@@ -31774,25 +32445,28 @@ fi
+
+fi
+ rm -Rf build
+
+
+
+
+
fi
rm -Rf build
- { $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,
- };
+ #if !defined(HAVE_GET_LINK_DELAYED)
+ #error "Expecting get_link() delayed done"
+ #endif
int
main (void)
@@ -31828,39 +32502,89 @@ _ACEOF
$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_TRUNCATE_RANGE 1" >>confdefs.h
+$as_echo "#define HAVE_PUT_LINK_DELAYED 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 iops->put_link() passes cookie" >&5
+$as_echo_n "checking whether iops->put_link() passes cookie... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.c
-fi
- rm -Rf build
+ #include <linux/fs.h>
+ 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}: checking whether dops->d_automount() exists" >&5
-$as_echo_n "checking whether dops->d_automount() exists... " >&6; }
+ ;
+ 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_PUT_LINK_COOKIE 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 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/dcache.h>
- struct vfsmount *d_automount(struct path *p) { return NULL; }
- struct dentry_operations dops __attribute__ ((unused)) = {
- .d_automount = d_automount,
- };
+ #include <linux/fs.h>
+ void put_link(struct dentry *de, struct
+ nameidata *nd, void *ptr) { return; }
+ static struct inode_operations
+ iops __attribute__ ((unused)) = {
+ .put_link = put_link,
+ };
int
main (void)
@@ -31896,18 +32620,17 @@ _ACEOF
$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_AUTOMOUNT 1" >>confdefs.h
+$as_echo "#define HAVE_PUT_LINK_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; }
+ as_fn_error $? "no; please file a bug report" "$LINENO" 5
@@ -31917,18 +32640,32 @@ fi
- { $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; }
+
+fi
+ rm -Rf build
+
+
+
+
+
+fi
+ rm -Rf build
+
+
+
+
+ { $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/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>
+ 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
@@ -31968,7 +32705,7 @@ _ACEOF
{ $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
+$as_echo "#define HAVE_INODE_TRUNCATE_RANGE 1" >>confdefs.h
else
@@ -31986,17 +32723,17 @@ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether eops->commit_metadata() exists" >&5
-$as_echo_n "checking whether eops->commit_metadata() exists... " >&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/exportfs.h>
- int commit_metadata(struct inode *inode) { return 0; }
- static struct export_operations eops __attribute__ ((unused))={
- .commit_metadata = commit_metadata,
+ #include <linux/dcache.h>
+ struct vfsmount *d_automount(struct path *p) { return NULL; }
+ struct dentry_operations dops __attribute__ ((unused)) = {
+ .d_automount = d_automount,
};
int
@@ -32036,7 +32773,7 @@ _ACEOF
{ $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_AUTOMOUNT 1" >>confdefs.h
else
@@ -32053,21 +32790,158 @@ 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 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)
{
- clear_inode(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_ENCODE_FH_WITH_INODE 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 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,
+ };
+
+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_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; }
+
+
+
+fi
+ rm -Rf build
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether clear_inode() is available" >&5
+$as_echo_n "checking whether clear_inode() is available... " >&6; }
+
+
+
+cat confdefs.h - <<_ACEOF >conftest.c
+
+
+ #include <linux/fs.h>
+
+int
+main (void)
+{
+
+ clear_inode(NULL);
;
return 0;
@@ -33658,16 +34532,16 @@ fi
- { $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 super_setup_bdi_name() exists" >&5
+$as_echo_n "checking whether super_setup_bdi_name() exists... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/backing-dev.h>
- struct backing_dev_info bdi;
+ #include <linux/fs.h>
+ struct super_block sb;
int
main (void)
@@ -33675,7 +34549,7 @@ main (void)
char *name = "bdi";
int error __attribute__((unused)) =
- bdi_setup_and_register(&bdi, name);
+ super_setup_bdi_name(&sb, name);
;
return 0;
@@ -33720,8 +34594,8 @@ fi
{ $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 bdi_setup_and_register() wants 2 args" >&5
+$as_echo_n "checking whether bdi_setup_and_register() wants 2 args... " >&6; }
@@ -33736,9 +34610,8 @@ main (void)
{
char *name = "bdi";
- unsigned int cap = BDI_CAP_MAP_COPY;
int error __attribute__((unused)) =
- bdi_setup_and_register(&bdi, name, cap);
+ bdi_setup_and_register(&bdi, name);
;
return 0;
@@ -33783,83 +34656,7 @@ fi
{ $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
-
-
- 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 "$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; }
@@ -33867,17 +34664,17 @@ $as_echo_n "checking whether bdi_setup_and_register() wants 3 args... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.c
- #include <linux/backing-dev.h>
- struct backing_dev_info bdi;
+ #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);
+ char *name = "bdi";
+ unsigned int cap = BDI_CAP_MAP_COPY;
+ int error __attribute__((unused)) =
+ bdi_setup_and_register(&bdi, name, cap);
;
return 0;
@@ -33920,7 +34717,7 @@ 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
@@ -33952,12 +34749,12 @@ $as_echo "no" >&6; }
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
@@ -33967,35 +34764,538 @@ $as_echo "#define HAVE_3ARGS_BDI_SETUP_AND_REGISTER 1" >>confdefs.h
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
-
+ 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 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>
+ #include <linux/backing-dev.h>
+ struct backing_dev_info bdi;
int
main (void)
{
- struct inode node;
- unsigned int link = 0;
- (void) set_nlink(&node, link);
+ char *name = "bdi";
+ unsigned int cap = BDI_CAP_MAP_COPY;
+ int error __attribute__((unused)) =
+ bdi_setup_and_register(&bdi, name, cap);
+
+ ;
+ 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:]]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
+
+
+ fi
+ 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
+
+
+ fi
+ fi
+
+
+ else
+ if test "x$enable_linux_builtin" != xyes; then
+
+ grep -q -E '[[:space:]]super_setup_bdi_name[[: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.*(super_setup_bdi_name)" \
+ "$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 2 args" >&5
+$as_echo_n "checking whether bdi_setup_and_register() wants 2 args... " >&6; }
+
+
+
+cat confdefs.h - <<_ACEOF >conftest.c
+
+
+ #include <linux/backing-dev.h>
+ struct backing_dev_info bdi;
+
+int
+main (void)
+{
+
+ 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; }
+
+
+
+cat confdefs.h - <<_ACEOF >conftest.c
+
+
+ #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;
+}
+
+_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:]]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
+
+
+ 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; }
+
+
+
+cat confdefs.h - <<_ACEOF >conftest.c
+
+
+ #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;
+}
+
+_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:]]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
+
+
+ fi
+ 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
+
+
+ fi
+ fi
+
+
+ else :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_SUPER_SETUP_BDI_NAME 1" >>confdefs.h
+
+
+ fi
+ 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; }
+
+
+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;
@@ -34350,36 +35650,236 @@ _ACEOF
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
-$as_echo "#define HAVE_VFS_ITERATE_SHARED 1" >>confdefs.h
+$as_echo "#define HAVE_VFS_ITERATE_SHARED 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->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
+
+
+
+
+
+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; }
-
- { $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 new_sync_read() is available" >&5
+$as_echo_n "checking whether new_sync_read() 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,
- };
+ #include <linux/fs.h>
int
main (void)
{
+ new_sync_read(NULL, NULL, 0, NULL);
;
return 0;
@@ -34410,88 +35910,19 @@ _ACEOF
$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_VFS_ITERATE 1" >>confdefs.h
+$as_echo "#define HAVE_NEW_SYNC_READ 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 "$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
@@ -34500,72 +35931,6 @@ fi
-
-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
@@ -35244,6 +36609,113 @@ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether current_time() exists" >&5
+$as_echo_n "checking whether current_time() exists... " >&6; }
+
+
+
+cat confdefs.h - <<_ACEOF >conftest.c
+
+
+ #include <linux/fs.h>
+
+int
+main (void)
+{
+
+ struct inode ip;
+ struct timespec now __attribute__ ((unused));
+
+ now = current_time(&ip);
+
+ ;
+ 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:]]current_time[[: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.*(current_time)" \
+ "$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_CURRENT_TIME 1" >>confdefs.h
+
+
+ fi
+ fi
+
+
if test "$LINUX_OBJ" != "$LINUX"; then :
@@ -36615,7 +38087,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# 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.5.9, which was
+This file was extended by zfs $as_me 0.6.5.10, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -36681,7 +38153,7 @@ _ACEOF
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.5.9
+zfs config.status 0.6.5.10
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/contrib/Makefile.in b/contrib/Makefile.in
index da165b6..056f3ac 100644
--- a/contrib/Makefile.in
+++ b/contrib/Makefile.in
@@ -98,7 +98,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -116,6 +116,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -137,6 +138,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/contrib/bash_completion.d/Makefile.in b/contrib/bash_completion.d/Makefile.in
index 66f06c1..e1052c2 100644
--- a/contrib/bash_completion.d/Makefile.in
+++ b/contrib/bash_completion.d/Makefile.in
@@ -99,7 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -117,6 +117,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -138,6 +139,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/contrib/dracut/90zfs/Makefile.in b/contrib/dracut/90zfs/Makefile.in
index 2d7e710..e1575a4 100644
--- a/contrib/dracut/90zfs/Makefile.in
+++ b/contrib/dracut/90zfs/Makefile.in
@@ -99,7 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -117,6 +117,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -138,6 +139,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/contrib/dracut/Makefile.in b/contrib/dracut/Makefile.in
index a159e75..1a57807 100644
--- a/contrib/dracut/Makefile.in
+++ b/contrib/dracut/Makefile.in
@@ -98,7 +98,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -116,6 +116,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -137,6 +138,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/contrib/initramfs/Makefile.in b/contrib/initramfs/Makefile.in
index d19dac3..c4d707e 100644
--- a/contrib/initramfs/Makefile.in
+++ b/contrib/initramfs/Makefile.in
@@ -99,7 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -117,6 +117,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -138,6 +139,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/etc/Makefile.in b/etc/Makefile.in
index f439ac8..424aeab 100644
--- a/etc/Makefile.in
+++ b/etc/Makefile.in
@@ -98,7 +98,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -116,6 +116,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -137,6 +138,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/etc/init.d/Makefile.in b/etc/init.d/Makefile.in
index 319cd2c..a504ba2 100644
--- a/etc/init.d/Makefile.in
+++ b/etc/init.d/Makefile.in
@@ -99,7 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -117,6 +117,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -138,6 +139,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/etc/modules-load.d/Makefile.in b/etc/modules-load.d/Makefile.in
index e28add2..2e390b6 100644
--- a/etc/modules-load.d/Makefile.in
+++ b/etc/modules-load.d/Makefile.in
@@ -99,7 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -117,6 +117,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -138,6 +139,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/etc/systemd/Makefile.in b/etc/systemd/Makefile.in
index 9aa6e78..849e0a7 100644
--- a/etc/systemd/Makefile.in
+++ b/etc/systemd/Makefile.in
@@ -98,7 +98,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -116,6 +116,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -137,6 +138,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/etc/systemd/system/Makefile.in b/etc/systemd/system/Makefile.in
index 1d029ef..22a0b4a 100644
--- a/etc/systemd/system/Makefile.in
+++ b/etc/systemd/system/Makefile.in
@@ -99,7 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -117,6 +117,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -138,6 +139,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/etc/systemd/system/zfs-mount.service.in b/etc/systemd/system/zfs-mount.service.in
index 0664fd9..36dc3be 100644
--- a/etc/systemd/system/zfs-mount.service.in
+++ b/etc/systemd/system/zfs-mount.service.in
@@ -11,6 +11,7 @@ Before=local-fs.target
Type=oneshot
RemainAfterExit=yes
ExecStart=@sbindir@/zfs mount -a
+WorkingDirectory=-/sbin/
[Install]
WantedBy=zfs-share.service
diff --git a/etc/zfs/Makefile.in b/etc/zfs/Makefile.in
index 5feec0d..3de39fe 100644
--- a/etc/zfs/Makefile.in
+++ b/etc/zfs/Makefile.in
@@ -99,7 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -117,6 +117,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -138,6 +139,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/include/Makefile.in b/include/Makefile.in
index accac33..98ec857 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -99,7 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -117,6 +117,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -138,6 +139,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/include/linux/Makefile.in b/include/linux/Makefile.in
index 436a23b..5dd9d4f 100644
--- a/include/linux/Makefile.in
+++ b/include/linux/Makefile.in
@@ -99,7 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -117,6 +117,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -138,6 +139,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/include/linux/blkdev_compat.h b/include/linux/blkdev_compat.h
index 8179aca..871506d 100644
--- a/include/linux/blkdev_compat.h
+++ b/include/linux/blkdev_compat.h
@@ -341,12 +341,12 @@ bio_set_op_attrs(struct bio *bio, unsigned rw, unsigned flags)
static inline void
bio_set_flush(struct bio *bio)
{
-#if defined(WRITE_BARRIER) /* < 2.6.37 */
- bio_set_op_attrs(bio, 0, WRITE_BARRIER);
+#if defined(REQ_PREFLUSH) /* >= 4.10 */
+ bio_set_op_attrs(bio, 0, REQ_PREFLUSH);
#elif defined(WRITE_FLUSH_FUA) /* >= 2.6.37 and <= 4.9 */
bio_set_op_attrs(bio, 0, WRITE_FLUSH_FUA);
-#elif defined(REQ_PREFLUSH) /* >= 4.10 */
- bio_set_op_attrs(bio, 0, REQ_PREFLUSH);
+#elif defined(WRITE_BARRIER) /* < 2.6.37 */
+ bio_set_op_attrs(bio, 0, WRITE_BARRIER);
#else
#error "Allowing the build will cause bio_set_flush requests to be ignored."
"Please file an issue report at: "
@@ -373,9 +373,6 @@ bio_set_flush(struct bio *bio)
* in all cases but may have a performance impact for some kernels. It
* has the advantage of minimizing kernel specific changes in the zvol code.
*
- * Note that 2.6.32 era kernels provide both BIO_RW_BARRIER and REQ_FLUSH,
- * where BIO_RW_BARRIER is the correct interface. Therefore, it is important
- * that the HAVE_BIO_RW_BARRIER check occur before the REQ_FLUSH check.
*/
static inline boolean_t
bio_is_flush(struct bio *bio)
@@ -386,10 +383,10 @@ bio_is_flush(struct bio *bio)
return (bio->bi_opf & REQ_PREFLUSH);
#elif defined(REQ_PREFLUSH) && !defined(HAVE_BIO_BI_OPF)
return (bio->bi_rw & REQ_PREFLUSH);
-#elif defined(HAVE_BIO_RW_BARRIER)
- return (bio->bi_rw & (1 << BIO_RW_BARRIER));
#elif defined(REQ_FLUSH)
return (bio->bi_rw & REQ_FLUSH);
+#elif defined(HAVE_BIO_RW_BARRIER)
+ return (bio->bi_rw & (1 << BIO_RW_BARRIER));
#else
#error "Allowing the build will cause flush requests to be ignored. Please "
"file an issue report at: https://github.com/zfsonlinux/zfs/issues/new"
diff --git a/include/linux/vfs_compat.h b/include/linux/vfs_compat.h
index 2350fa5..a4432e0 100644
--- a/include/linux/vfs_compat.h
+++ b/include/linux/vfs_compat.h
@@ -69,45 +69,115 @@ truncate_setsize(struct inode *ip, loff_t new)
/*
* 2.6.32 - 2.6.33, bdi_setup_and_register() is not available.
* 2.6.34 - 3.19, bdi_setup_and_register() takes 3 arguments.
- * 4.0 - x.y, bdi_setup_and_register() takes 2 arguments.
+ * 4.0 - 4.11, bdi_setup_and_register() takes 2 arguments.
+ * 4.12 - x.y, super_setup_bdi_name() new interface.
*/
-#if defined(HAVE_2ARGS_BDI_SETUP_AND_REGISTER)
+#if defined(HAVE_SUPER_SETUP_BDI_NAME)
+extern atomic_long_t zfs_bdi_seq;
+
+static inline int
+zpl_bdi_setup(struct super_block *sb, char *name)
+{
+ return super_setup_bdi_name(sb, "%.28s-%ld", name,
+ atomic_long_inc_return(&zfs_bdi_seq));
+}
+static inline void
+zpl_bdi_destroy(struct super_block *sb)
+{
+}
+#elif defined(HAVE_2ARGS_BDI_SETUP_AND_REGISTER)
static inline int
-zpl_bdi_setup_and_register(struct backing_dev_info *bdi, char *name)
+zpl_bdi_setup(struct super_block *sb, char *name)
+{
+ struct backing_dev_info *bdi;
+ int error;
+
+ bdi = kmem_zalloc(sizeof (struct backing_dev_info), KM_SLEEP);
+ error = bdi_setup_and_register(bdi, name);
+ if (error) {
+ kmem_free(bdi, sizeof (struct backing_dev_info));
+ return (error);
+ }
+
+ sb->s_bdi = bdi;
+
+ return (0);
+}
+static inline void
+zpl_bdi_destroy(struct super_block *sb)
{
- return (bdi_setup_and_register(bdi, name));
+ struct backing_dev_info *bdi = sb->s_bdi;
+
+ bdi_destroy(bdi);
+ kmem_free(bdi, sizeof (struct backing_dev_info));
+ sb->s_bdi = NULL;
}
#elif defined(HAVE_3ARGS_BDI_SETUP_AND_REGISTER)
static inline int
-zpl_bdi_setup_and_register(struct backing_dev_info *bdi, char *name)
+zpl_bdi_setup(struct super_block *sb, char *name)
+{
+ struct backing_dev_info *bdi;
+ int error;
+
+ bdi = kmem_zalloc(sizeof (struct backing_dev_info), KM_SLEEP);
+ error = bdi_setup_and_register(bdi, name, BDI_CAP_MAP_COPY);
+ if (error) {
+ kmem_free(sb->s_bdi, sizeof (struct backing_dev_info));
+ return (error);
+ }
+
+ sb->s_bdi = bdi;
+
+ return (0);
+}
+static inline void
+zpl_bdi_destroy(struct super_block *sb)
{
- return (bdi_setup_and_register(bdi, name, BDI_CAP_MAP_COPY));
+ struct backing_dev_info *bdi = sb->s_bdi;
+
+ bdi_destroy(bdi);
+ kmem_free(bdi, sizeof (struct backing_dev_info));
+ sb->s_bdi = NULL;
}
#else
extern atomic_long_t zfs_bdi_seq;
static inline int
-zpl_bdi_setup_and_register(struct backing_dev_info *bdi, char *name)
+zpl_bdi_setup(struct super_block *sb, char *name)
{
- char tmp[32];
+ struct backing_dev_info *bdi;
int error;
+ bdi = kmem_zalloc(sizeof (struct backing_dev_info), KM_SLEEP);
bdi->name = name;
bdi->capabilities = BDI_CAP_MAP_COPY;
error = bdi_init(bdi);
- if (error)
+ if (error) {
+ kmem_free(bdi, sizeof (struct backing_dev_info));
return (error);
+ }
- sprintf(tmp, "%.28s%s", name, "-%d");
- error = bdi_register(bdi, NULL, tmp,
+ error = bdi_register(bdi, NULL, "%.28s-%ld", name,
atomic_long_inc_return(&zfs_bdi_seq));
if (error) {
bdi_destroy(bdi);
+ kmem_free(bdi, sizeof (struct backing_dev_info));
return (error);
}
- return (error);
+ sb->s_bdi = bdi;
+
+ return (0);
+}
+static inline void
+zpl_bdi_destroy(struct super_block *sb)
+{
+ struct backing_dev_info *bdi = sb->s_bdi;
+
+ bdi_destroy(bdi);
+ kmem_free(bdi, sizeof (struct backing_dev_info));
+ sb->s_bdi = NULL;
}
#endif
@@ -368,4 +438,58 @@ setattr_prepare(struct dentry *dentry, struct iattr *ia)
}
#endif
+/*
+ * 4.11 API change
+ * These macros are defined by kernel 4.11. We define them so that the same
+ * code builds under kernels < 4.11 and >= 4.11. The macros are set to 0 so
+ * that it will create obvious failures if they are accidentally used when built
+ * against a kernel >= 4.11.
+ */
+
+#ifndef STATX_BASIC_STATS
+#define STATX_BASIC_STATS 0
+#endif
+
+#ifndef AT_STATX_SYNC_AS_STAT
+#define AT_STATX_SYNC_AS_STAT 0
+#endif
+
+/*
+ * 4.11 API change
+ * 4.11 takes struct path *, < 4.11 takes vfsmount *
+ */
+
+#ifdef HAVE_VFSMOUNT_IOPS_GETATTR
+#define ZPL_GETATTR_WRAPPER(func) \
+static int \
+func(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat) \
+{ \
+ struct path path = { .mnt = mnt, .dentry = dentry }; \
+ return func##_impl(&path, stat, STATX_BASIC_STATS, \
+ AT_STATX_SYNC_AS_STAT); \
+}
+#elif defined(HAVE_PATH_IOPS_GETATTR)
+#define ZPL_GETATTR_WRAPPER(func) \
+static int \
+func(const struct path *path, struct kstat *stat, u32 request_mask, \
+ unsigned int query_flags) \
+{ \
+ return (func##_impl(path, stat, request_mask, query_flags)); \
+}
+#else
+#error
+#endif
+
+/*
+ * 4.9 API change
+ * Preferred interface to get the current FS time.
+ */
+#if !defined(HAVE_CURRENT_TIME)
+static inline struct timespec
+current_time(struct inode *ip)
+{
+ return (timespec_trunc(current_kernel_time(), ip->i_sb->s_time_gran));
+}
+#endif
+
#endif /* _ZFS_VFS_H */
diff --git a/include/sys/Makefile.in b/include/sys/Makefile.in
index a67d757..f8996b2 100644
--- a/include/sys/Makefile.in
+++ b/include/sys/Makefile.in
@@ -99,7 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -117,6 +117,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -138,6 +139,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/include/sys/fm/Makefile.in b/include/sys/fm/Makefile.in
index 5499c30..5616dc8 100644
--- a/include/sys/fm/Makefile.in
+++ b/include/sys/fm/Makefile.in
@@ -99,7 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -117,6 +117,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -138,6 +139,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/include/sys/fm/fs/Makefile.in b/include/sys/fm/fs/Makefile.in
index 5b75abf..d1cda44 100644
--- a/include/sys/fm/fs/Makefile.in
+++ b/include/sys/fm/fs/Makefile.in
@@ -99,7 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -117,6 +117,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -138,6 +139,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/include/sys/fs/Makefile.in b/include/sys/fs/Makefile.in
index bcb2335..ec33016 100644
--- a/include/sys/fs/Makefile.in
+++ b/include/sys/fs/Makefile.in
@@ -99,7 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -117,6 +117,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -138,6 +139,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/include/sys/refcount.h b/include/sys/refcount.h
index e767a23..1d74187 100644
--- a/include/sys/refcount.h
+++ b/include/sys/refcount.h
@@ -40,6 +40,17 @@ extern "C" {
*/
#define FTAG ((char *)__func__)
+/*
+ * Starting with 4.11, torvalds/linux at f405df5, the linux kernel defines a
+ * refcount_t type of its own. The macro below effectively changes references
+ * in the ZFS code from refcount_t to zfs_refcount_t at compile time, so that
+ * existing code need not be altered, reducing conflicts when landing openZFS
+ * patches.
+ */
+
+#define refcount_t zfs_refcount_t
+#define refcount_add zfs_refcount_add
+
#ifdef ZFS_DEBUG
typedef struct reference {
list_node_t ref_link;
@@ -55,7 +66,7 @@ typedef struct refcount {
list_t rc_removed;
int64_t rc_count;
int64_t rc_removed_count;
-} refcount_t;
+} zfs_refcount_t;
/* Note: refcount_t must be initialized with refcount_create[_untracked]() */
@@ -65,7 +76,7 @@ void refcount_destroy(refcount_t *rc);
void refcount_destroy_many(refcount_t *rc, uint64_t number);
int refcount_is_zero(refcount_t *rc);
int64_t refcount_count(refcount_t *rc);
-int64_t refcount_add(refcount_t *rc, void *holder_tag);
+int64_t zfs_refcount_add(refcount_t *rc, void *holder_tag);
int64_t refcount_remove(refcount_t *rc, void *holder_tag);
int64_t refcount_add_many(refcount_t *rc, uint64_t number, void *holder_tag);
int64_t refcount_remove_many(refcount_t *rc, uint64_t number, void *holder_tag);
@@ -86,7 +97,7 @@ typedef struct refcount {
#define refcount_destroy_many(rc, number) ((rc)->rc_count = 0)
#define refcount_is_zero(rc) ((rc)->rc_count == 0)
#define refcount_count(rc) ((rc)->rc_count)
-#define refcount_add(rc, holder) atomic_add_64_nv(&(rc)->rc_count, 1)
+#define zfs_refcount_add(rc, holder) atomic_add_64_nv(&(rc)->rc_count, 1)
#define refcount_remove(rc, holder) atomic_add_64_nv(&(rc)->rc_count, -1)
#define refcount_add_many(rc, number, holder) \
atomic_add_64_nv(&(rc)->rc_count, number)
diff --git a/lib/Makefile.in b/lib/Makefile.in
index 1ef7aac..e23ff07 100644
--- a/lib/Makefile.in
+++ b/lib/Makefile.in
@@ -98,7 +98,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -116,6 +116,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -137,6 +138,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/lib/libavl/Makefile.in b/lib/libavl/Makefile.in
index de0fef0..1a043bc 100644
--- a/lib/libavl/Makefile.in
+++ b/lib/libavl/Makefile.in
@@ -98,7 +98,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -116,6 +116,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -137,6 +138,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/lib/libefi/Makefile.in b/lib/libefi/Makefile.in
index 656a67d..38df839 100644
--- a/lib/libefi/Makefile.in
+++ b/lib/libefi/Makefile.in
@@ -99,7 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -117,6 +117,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -138,6 +139,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/lib/libnvpair/Makefile.in b/lib/libnvpair/Makefile.in
index 3b831f5..9d7f356 100644
--- a/lib/libnvpair/Makefile.in
+++ b/lib/libnvpair/Makefile.in
@@ -98,7 +98,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -116,6 +116,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -137,6 +138,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/lib/libshare/Makefile.in b/lib/libshare/Makefile.in
index 30dc4c4..172f545 100644
--- a/lib/libshare/Makefile.in
+++ b/lib/libshare/Makefile.in
@@ -99,7 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -117,6 +117,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -138,6 +139,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/lib/libspl/Makefile.in b/lib/libspl/Makefile.in
index ce491fc..fd33043 100644
--- a/lib/libspl/Makefile.in
+++ b/lib/libspl/Makefile.in
@@ -98,7 +98,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -116,6 +116,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -137,6 +138,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/lib/libspl/asm-generic/Makefile.in b/lib/libspl/asm-generic/Makefile.in
index e42b35c..7ac2c09 100644
--- a/lib/libspl/asm-generic/Makefile.in
+++ b/lib/libspl/asm-generic/Makefile.in
@@ -98,7 +98,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -116,6 +116,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -137,6 +138,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/lib/libspl/asm-i386/Makefile.in b/lib/libspl/asm-i386/Makefile.in
index 7e09677..2890d1c 100644
--- a/lib/libspl/asm-i386/Makefile.in
+++ b/lib/libspl/asm-i386/Makefile.in
@@ -99,7 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -117,6 +117,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -138,6 +139,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/lib/libspl/asm-i386/atomic.S b/lib/libspl/asm-i386/atomic.S
index d3d4250..3086d55 100644
--- a/lib/libspl/asm-i386/atomic.S
+++ b/lib/libspl/asm-i386/atomic.S
@@ -507,7 +507,7 @@
movl 16(%esp), %ebx
movl 20(%esp), %ecx
subl %eax, %ebx
- adcl %edx, %ecx
+ sbbl %edx, %ecx
lock
cmpxchg8b (%edi)
jne 1b
diff --git a/lib/libspl/asm-x86_64/Makefile.in b/lib/libspl/asm-x86_64/Makefile.in
index 20c8306..0796fe7 100644
--- a/lib/libspl/asm-x86_64/Makefile.in
+++ b/lib/libspl/asm-x86_64/Makefile.in
@@ -99,7 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -117,6 +117,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -138,6 +139,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/lib/libspl/include/Makefile.in b/lib/libspl/include/Makefile.in
index 1813455..1843344 100644
--- a/lib/libspl/include/Makefile.in
+++ b/lib/libspl/include/Makefile.in
@@ -99,7 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -117,6 +117,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -138,6 +139,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/lib/libspl/include/ia32/Makefile.in b/lib/libspl/include/ia32/Makefile.in
index db6a739..d7b564b 100644
--- a/lib/libspl/include/ia32/Makefile.in
+++ b/lib/libspl/include/ia32/Makefile.in
@@ -98,7 +98,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -116,6 +116,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -137,6 +138,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/lib/libspl/include/ia32/sys/Makefile.in b/lib/libspl/include/ia32/sys/Makefile.in
index f724f5a..2644fb9 100644
--- a/lib/libspl/include/ia32/sys/Makefile.in
+++ b/lib/libspl/include/ia32/sys/Makefile.in
@@ -99,7 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -117,6 +117,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -138,6 +139,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/lib/libspl/include/rpc/Makefile.in b/lib/libspl/include/rpc/Makefile.in
index 9da06c8..9aca225 100644
--- a/lib/libspl/include/rpc/Makefile.in
+++ b/lib/libspl/include/rpc/Makefile.in
@@ -99,7 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -117,6 +117,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -138,6 +139,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/lib/libspl/include/sys/Makefile.in b/lib/libspl/include/sys/Makefile.in
index 9b0590f..3ea3c24 100644
--- a/lib/libspl/include/sys/Makefile.in
+++ b/lib/libspl/include/sys/Makefile.in
@@ -99,7 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -117,6 +117,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -138,6 +139,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/lib/libspl/include/sys/dktp/Makefile.in b/lib/libspl/include/sys/dktp/Makefile.in
index e4b104d..7362c25 100644
--- a/lib/libspl/include/sys/dktp/Makefile.in
+++ b/lib/libspl/include/sys/dktp/Makefile.in
@@ -99,7 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -117,6 +117,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -138,6 +139,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/lib/libspl/include/sys/sysevent/Makefile.in b/lib/libspl/include/sys/sysevent/Makefile.in
index 54bc450..671d84e 100644
--- a/lib/libspl/include/sys/sysevent/Makefile.in
+++ b/lib/libspl/include/sys/sysevent/Makefile.in
@@ -99,7 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -117,6 +117,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -138,6 +139,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/lib/libspl/include/util/Makefile.in b/lib/libspl/include/util/Makefile.in
index caed7d2..e7dff93 100644
--- a/lib/libspl/include/util/Makefile.in
+++ b/lib/libspl/include/util/Makefile.in
@@ -99,7 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -117,6 +117,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -138,6 +139,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/lib/libunicode/Makefile.in b/lib/libunicode/Makefile.in
index 5a2a026..d16617e 100644
--- a/lib/libunicode/Makefile.in
+++ b/lib/libunicode/Makefile.in
@@ -98,7 +98,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -116,6 +116,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -137,6 +138,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/lib/libuutil/Makefile.in b/lib/libuutil/Makefile.in
index 280e10e..3f38e8e 100644
--- a/lib/libuutil/Makefile.in
+++ b/lib/libuutil/Makefile.in
@@ -99,7 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -117,6 +117,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -138,6 +139,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/lib/libzfs/Makefile.in b/lib/libzfs/Makefile.in
index 4528ab8..d825bc1 100644
--- a/lib/libzfs/Makefile.in
+++ b/lib/libzfs/Makefile.in
@@ -100,7 +100,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -118,6 +118,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -139,6 +140,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/lib/libzfs/libzfs.pc b/lib/libzfs/libzfs.pc
index e67a298..6552f67 100644
--- a/lib/libzfs/libzfs.pc
+++ b/lib/libzfs/libzfs.pc
@@ -5,7 +5,7 @@ includedir=${prefix}/include
Name: libzfs
Description: LibZFS library
-Version: 0.6.5.9
+Version: 0.6.5.10
URL: http://zfsonlinux.org
Requires: libzfs_core
Cflags: -I${includedir}/libzfs -I${includedir}/libspl
diff --git a/lib/libzfs/libzfs_core.pc b/lib/libzfs/libzfs_core.pc
index 8bd75e2..fca5fb6 100644
--- a/lib/libzfs/libzfs_core.pc
+++ b/lib/libzfs/libzfs_core.pc
@@ -5,7 +5,7 @@ includedir=${prefix}/include
Name: libzfs_core
Description: LibZFS core library
-Version: 0.6.5.9
+Version: 0.6.5.10
URL: http://zfsonlinux.org
Cflags: -I${includedir}/libzfs -I${includedir}/libspl
Libs: -L${libdir} -lzfs_core
diff --git a/lib/libzfs/libzfs_import.c b/lib/libzfs/libzfs_import.c
index d0df9e3..0d42404 100644
--- a/lib/libzfs/libzfs_import.c
+++ b/lib/libzfs/libzfs_import.c
@@ -1337,16 +1337,33 @@ zpool_find_import_impl(libzfs_handle_t *hdl, importargs_t *iarg)
if (config != NULL) {
boolean_t matched = B_TRUE;
+ boolean_t aux = B_FALSE;
char *pname;
- if ((iarg->poolname != NULL) &&
+ /*
+ * Check if it's a spare or l2cache device. If
+ * it is, we need to skip the name and guid
+ * check since they don't exist on aux device
+ * label.
+ */
+ if (iarg->poolname != NULL ||
+ iarg->guid != 0) {
+ uint64_t state;
+ aux = nvlist_lookup_uint64(config,
+ ZPOOL_CONFIG_POOL_STATE,
+ &state) == 0 &&
+ (state == POOL_STATE_SPARE ||
+ state == POOL_STATE_L2CACHE);
+ }
+
+ if ((iarg->poolname != NULL) && !aux &&
(nvlist_lookup_string(config,
ZPOOL_CONFIG_POOL_NAME, &pname) == 0)) {
if (strcmp(iarg->poolname, pname))
matched = B_FALSE;
- } else if (iarg->guid != 0) {
+ } else if (iarg->guid != 0 && !aux) {
uint64_t this_guid;
matched = nvlist_lookup_uint64(config,
diff --git a/lib/libzfs_core/Makefile.in b/lib/libzfs_core/Makefile.in
index 41010db..fab7bde 100644
--- a/lib/libzfs_core/Makefile.in
+++ b/lib/libzfs_core/Makefile.in
@@ -99,7 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -117,6 +117,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -138,6 +139,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/lib/libzpool/Makefile.in b/lib/libzpool/Makefile.in
index 7a9cba5..e4693cc 100644
--- a/lib/libzpool/Makefile.in
+++ b/lib/libzpool/Makefile.in
@@ -98,7 +98,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -116,6 +116,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -137,6 +138,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/man/Makefile.in b/man/Makefile.in
index 308db11..0ab83ce 100644
--- a/man/Makefile.in
+++ b/man/Makefile.in
@@ -98,7 +98,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -116,6 +116,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -137,6 +138,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/man/man1/Makefile.in b/man/man1/Makefile.in
index ca8f56e..e9933d1 100644
--- a/man/man1/Makefile.in
+++ b/man/man1/Makefile.in
@@ -98,7 +98,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -116,6 +116,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -137,6 +138,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/man/man5/Makefile.in b/man/man5/Makefile.in
index d72c30f..ef578c8 100644
--- a/man/man5/Makefile.in
+++ b/man/man5/Makefile.in
@@ -98,7 +98,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -116,6 +116,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -137,6 +138,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/man/man8/Makefile.in b/man/man8/Makefile.in
index 0c260f1..48734b5 100644
--- a/man/man8/Makefile.in
+++ b/man/man8/Makefile.in
@@ -98,7 +98,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -116,6 +116,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -137,6 +138,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/module/avl/zavl.mod.c b/module/avl/zavl.mod.c
new file mode 100644
index 0000000..0b0d553
--- /dev/null
+++ b/module/avl/zavl.mod.c
@@ -0,0 +1,33 @@
+#include <linux/module.h>
+#include <linux/vermagic.h>
+#include <linux/compiler.h>
+
+MODULE_INFO(vermagic, VERMAGIC_STRING);
+
+struct module __this_module
+__attribute__((section(".gnu.linkonce.this_module"))) = {
+ .name = KBUILD_MODNAME,
+ .init = init_module,
+#ifdef CONFIG_MODULE_UNLOAD
+ .exit = cleanup_module,
+#endif
+ .arch = MODULE_ARCH_INIT,
+};
+
+static const struct modversion_info ____versions[]
+__used
+__attribute__((section("__versions"))) = {
+ { 0x28950ef1, __VMLINUX_SYMBOL_STR(module_layout) },
+ { 0x7c1372e8, __VMLINUX_SYMBOL_STR(panic) },
+ { 0xf0fdf6cb, __VMLINUX_SYMBOL_STR(__stack_chk_fail) },
+ { 0xbdfb6dbb, __VMLINUX_SYMBOL_STR(__fentry__) },
+};
+
+static const char __module_depends[]
+__used
+__attribute__((section(".modinfo"))) =
+"depends=";
+
+
+MODULE_INFO(srcversion, "5F35BA9428E63D7D177201A");
+MODULE_INFO(rhelversion, "7.3");
diff --git a/module/nvpair/znvpair.mod.c b/module/nvpair/znvpair.mod.c
new file mode 100644
index 0000000..6dfebde
--- /dev/null
+++ b/module/nvpair/znvpair.mod.c
@@ -0,0 +1,44 @@
+#include <linux/module.h>
+#include <linux/vermagic.h>
+#include <linux/compiler.h>
+
+MODULE_INFO(vermagic, VERMAGIC_STRING);
+
+struct module __this_module
+__attribute__((section(".gnu.linkonce.this_module"))) = {
+ .name = KBUILD_MODNAME,
+ .init = init_module,
+#ifdef CONFIG_MODULE_UNLOAD
+ .exit = cleanup_module,
+#endif
+ .arch = MODULE_ARCH_INIT,
+};
+
+static const struct modversion_info ____versions[]
+__used
+__attribute__((section("__versions"))) = {
+ { 0x28950ef1, __VMLINUX_SYMBOL_STR(module_layout) },
+ { 0x349cba85, __VMLINUX_SYMBOL_STR(strchr) },
+ { 0x754d539c, __VMLINUX_SYMBOL_STR(strlen) },
+ { 0xb342d16a, __VMLINUX_SYMBOL_STR(spl_kmem_alloc) },
+ { 0xbc32eee7, __VMLINUX_SYMBOL_STR(spl_panic) },
+ { 0xe2d5255a, __VMLINUX_SYMBOL_STR(strcmp) },
+ { 0xfb578fc5, __VMLINUX_SYMBOL_STR(memset) },
+ { 0x5a921311, __VMLINUX_SYMBOL_STR(strncmp) },
+ { 0xf0fdf6cb, __VMLINUX_SYMBOL_STR(__stack_chk_fail) },
+ { 0xfe172afe, __VMLINUX_SYMBOL_STR(spl_vmem_alloc) },
+ { 0xbdfb6dbb, __VMLINUX_SYMBOL_STR(__fentry__) },
+ { 0x82fe53e1, __VMLINUX_SYMBOL_STR(ddi_strtol) },
+ { 0xddd4a3d3, __VMLINUX_SYMBOL_STR(xdrmem_create) },
+ { 0xb0e602eb, __VMLINUX_SYMBOL_STR(memmove) },
+ { 0x6d16801a, __VMLINUX_SYMBOL_STR(spl_kmem_free) },
+};
+
+static const char __module_depends[]
+__used
+__attribute__((section(".modinfo"))) =
+"depends=spl";
+
+
+MODULE_INFO(srcversion, "539CDAEA0E30550B4284AAA");
+MODULE_INFO(rhelversion, "7.3");
diff --git a/module/unicode/zunicode.mod.c b/module/unicode/zunicode.mod.c
new file mode 100644
index 0000000..33472ee
--- /dev/null
+++ b/module/unicode/zunicode.mod.c
@@ -0,0 +1,35 @@
+#include <linux/module.h>
+#include <linux/vermagic.h>
+#include <linux/compiler.h>
+
+MODULE_INFO(vermagic, VERMAGIC_STRING);
+
+struct module __this_module
+__attribute__((section(".gnu.linkonce.this_module"))) = {
+ .name = KBUILD_MODNAME,
+ .init = init_module,
+#ifdef CONFIG_MODULE_UNLOAD
+ .exit = cleanup_module,
+#endif
+ .arch = MODULE_ARCH_INIT,
+};
+
+static const struct modversion_info ____versions[]
+__used
+__attribute__((section("__versions"))) = {
+ { 0x28950ef1, __VMLINUX_SYMBOL_STR(module_layout) },
+ { 0x754d539c, __VMLINUX_SYMBOL_STR(strlen) },
+ { 0xe2d5255a, __VMLINUX_SYMBOL_STR(strcmp) },
+ { 0x5a921311, __VMLINUX_SYMBOL_STR(strncmp) },
+ { 0xf0fdf6cb, __VMLINUX_SYMBOL_STR(__stack_chk_fail) },
+ { 0xbdfb6dbb, __VMLINUX_SYMBOL_STR(__fentry__) },
+};
+
+static const char __module_depends[]
+__used
+__attribute__((section(".modinfo"))) =
+"depends=";
+
+
+MODULE_INFO(srcversion, "5DC8CE3A830A36341CDAF7F");
+MODULE_INFO(rhelversion, "7.3");
diff --git a/module/zcommon/zcommon.mod.c b/module/zcommon/zcommon.mod.c
new file mode 100644
index 0000000..4875cfb
--- /dev/null
+++ b/module/zcommon/zcommon.mod.c
@@ -0,0 +1,54 @@
+#include <linux/module.h>
+#include <linux/vermagic.h>
+#include <linux/compiler.h>
+
+MODULE_INFO(vermagic, VERMAGIC_STRING);
+
+struct module __this_module
+__attribute__((section(".gnu.linkonce.this_module"))) = {
+ .name = KBUILD_MODNAME,
+ .init = init_module,
+#ifdef CONFIG_MODULE_UNLOAD
+ .exit = cleanup_module,
+#endif
+ .arch = MODULE_ARCH_INIT,
+};
+
+static const struct modversion_info ____versions[]
+__used
+__attribute__((section("__versions"))) = {
+ { 0x28950ef1, __VMLINUX_SYMBOL_STR(module_layout) },
+ { 0x4c4fef19, __VMLINUX_SYMBOL_STR(kernel_stack) },
+ { 0x754d539c, __VMLINUX_SYMBOL_STR(strlen) },
+ { 0xb342d16a, __VMLINUX_SYMBOL_STR(spl_kmem_alloc) },
+ { 0x167e7f9d, __VMLINUX_SYMBOL_STR(__get_user_1) },
+ { 0xe2d5255a, __VMLINUX_SYMBOL_STR(strcmp) },
+ { 0x71de9b3f, __VMLINUX_SYMBOL_STR(_copy_to_user) },
+ { 0xee8843fa, __VMLINUX_SYMBOL_STR(nvpair_value_uint64) },
+ { 0x11089ac7, __VMLINUX_SYMBOL_STR(_ctype) },
+ { 0x5a921311, __VMLINUX_SYMBOL_STR(strncmp) },
+ { 0xe3a53f4c, __VMLINUX_SYMBOL_STR(sort) },
+ { 0xd42a96fa, __VMLINUX_SYMBOL_STR(nvpair_name) },
+ { 0x1bfac311, __VMLINUX_SYMBOL_STR(nvlist_lookup_nvlist) },
+ { 0x5d6e0bba, __VMLINUX_SYMBOL_STR(nvlist_lookup_uint64) },
+ { 0xf0fdf6cb, __VMLINUX_SYMBOL_STR(__stack_chk_fail) },
+ { 0xd0920999, __VMLINUX_SYMBOL_STR(nvpair_value_uint32) },
+ { 0xbdfb6dbb, __VMLINUX_SYMBOL_STR(__fentry__) },
+ { 0x29c88b11, __VMLINUX_SYMBOL_STR(nvlist_next_nvpair) },
+ { 0x82027a4c, __VMLINUX_SYMBOL_STR(cmn_err) },
+ { 0x28318305, __VMLINUX_SYMBOL_STR(snprintf) },
+ { 0xec1cce40, __VMLINUX_SYMBOL_STR(nvlist_lookup_nvlist_array) },
+ { 0xb0e602eb, __VMLINUX_SYMBOL_STR(memmove) },
+ { 0x6d16801a, __VMLINUX_SYMBOL_STR(spl_kmem_free) },
+ { 0x77e2f33, __VMLINUX_SYMBOL_STR(_copy_from_user) },
+ { 0xa66a6969, __VMLINUX_SYMBOL_STR(nvpair_value_nvlist) },
+};
+
+static const char __module_depends[]
+__used
+__attribute__((section(".modinfo"))) =
+"depends=spl,znvpair";
+
+
+MODULE_INFO(srcversion, "D94B05FC2B3769899B59647");
+MODULE_INFO(rhelversion, "7.3");
diff --git a/module/zfs/arc.c b/module/zfs/arc.c
index 04fde6c..c72ced7 100644
--- a/module/zfs/arc.c
+++ b/module/zfs/arc.c
@@ -5475,11 +5475,12 @@ arc_init(void)
* If it has been set by a module parameter, take that.
* Otherwise, use a percentage of physical memory defined by
* zfs_dirty_data_max_percent (default 10%) with a cap at
- * zfs_dirty_data_max_max (default 25% of physical memory).
+ * zfs_dirty_data_max_max (default 4G or 25% of physical memory).
*/
if (zfs_dirty_data_max_max == 0)
- zfs_dirty_data_max_max = (uint64_t)physmem * PAGESIZE *
- zfs_dirty_data_max_max_percent / 100;
+ zfs_dirty_data_max_max = MIN(4ULL * 1024 * 1024 * 1024,
+ (uint64_t)physmem * PAGESIZE *
+ zfs_dirty_data_max_max_percent / 100);
if (zfs_dirty_data_max == 0) {
zfs_dirty_data_max = (uint64_t)physmem * PAGESIZE *
diff --git a/module/zfs/dmu.c b/module/zfs/dmu.c
index 5e2a1db..9baeb01 100644
--- a/module/zfs/dmu.c
+++ b/module/zfs/dmu.c
@@ -49,6 +49,7 @@
#ifdef _KERNEL
#include <sys/vmsystm.h>
#include <sys/zfs_znode.h>
+#include <linux/kmap_compat.h>
#endif
/*
@@ -1056,6 +1057,7 @@ dmu_bio_copy(void *arg_buf, int size, struct bio *bio, size_t bio_offset)
char *bv_buf;
int tocpy, bv_len, bv_offset;
int offset = 0;
+ void *paddr;
bio_for_each_segment4(bv, bvp, bio, iter) {
@@ -1080,14 +1082,15 @@ dmu_bio_copy(void *arg_buf, int size, struct bio *bio, size_t bio_offset)
tocpy = MIN(bv_len, size - offset);
ASSERT3S(tocpy, >=, 0);
- bv_buf = page_address(bvp->bv_page) + bv_offset;
- ASSERT3P(bv_buf, !=, NULL);
+ paddr = zfs_kmap_atomic(bvp->bv_page, KM_USER0);
+ bv_buf = paddr + bv_offset;
+ ASSERT3P(paddr, !=, NULL);
if (bio_data_dir(bio) == WRITE)
memcpy(arg_buf + offset, bv_buf, tocpy);
else
memcpy(bv_buf, arg_buf + offset, tocpy);
-
+ zfs_kunmap_atomic(paddr, KM_USER0);
offset += tocpy;
}
out:
diff --git a/module/zfs/refcount.c b/module/zfs/refcount.c
index 4c460a2..2587524 100644
--- a/module/zfs/refcount.c
+++ b/module/zfs/refcount.c
@@ -137,7 +137,7 @@ refcount_add_many(refcount_t *rc, uint64_t number, void *holder)
}
int64_t
-refcount_add(refcount_t *rc, void *holder)
+zfs_refcount_add(refcount_t *rc, void *holder)
{
return (refcount_add_many(rc, 1, holder));
}
diff --git a/module/zfs/spa.c b/module/zfs/spa.c
index dde909e..a6bc4e5 100644
--- a/module/zfs/spa.c
+++ b/module/zfs/spa.c
@@ -3962,12 +3962,6 @@ spa_import(char *pool, nvlist_t *config, nvlist_t *props, uint64_t flags)
VERIFY(nvlist_lookup_nvlist(config, ZPOOL_CONFIG_VDEV_TREE,
&nvroot) == 0);
- if (error == 0)
- error = spa_validate_aux(spa, nvroot, -1ULL,
- VDEV_ALLOC_SPARE);
- if (error == 0)
- error = spa_validate_aux(spa, nvroot, -1ULL,
- VDEV_ALLOC_L2CACHE);
spa_config_exit(spa, SCL_ALL, FTAG);
if (props != NULL)
diff --git a/module/zfs/vdev.c b/module/zfs/vdev.c
index 7d814a6..8095b61 100644
--- a/module/zfs/vdev.c
+++ b/module/zfs/vdev.c
@@ -1799,6 +1799,9 @@ vdev_dtl_should_excise(vdev_t *vd)
ASSERT0(scn->scn_phys.scn_errors);
ASSERT0(vd->vdev_children);
+ if (vd->vdev_state < VDEV_STATE_DEGRADED)
+ return (B_FALSE);
+
if (vd->vdev_resilver_txg == 0 ||
range_tree_space(vd->vdev_dtl[DTL_MISSING]) == 0)
return (B_TRUE);
diff --git a/module/zfs/vdev_queue.c b/module/zfs/vdev_queue.c
index 4ed62f9..c4e80d5 100644
--- a/module/zfs/vdev_queue.c
+++ b/module/zfs/vdev_queue.c
@@ -24,7 +24,7 @@
*/
/*
- * Copyright (c) 2012, 2014 by Delphix. All rights reserved.
+ * Copyright (c) 2012, 2017 by Delphix. All rights reserved.
*/
#include <sys/zfs_context.h>
@@ -545,7 +545,7 @@ vdev_queue_aggregate(vdev_queue_t *vq, zio_t *zio)
/*
* Walk backwards through sufficiently contiguous I/Os
- * recording the last non-option I/O.
+ * recording the last non-optional I/O.
*/
while ((dio = AVL_PREV(t, first)) != NULL &&
(dio->io_flags & ZIO_FLAG_AGG_INHERIT) == flags &&
@@ -567,10 +567,14 @@ vdev_queue_aggregate(vdev_queue_t *vq, zio_t *zio)
/*
* Walk forward through sufficiently contiguous I/Os.
+ * The aggregation limit does not apply to optional i/os, so that
+ * we can issue contiguous writes even if they are larger than the
+ * aggregation limit.
*/
while ((dio = AVL_NEXT(t, last)) != NULL &&
(dio->io_flags & ZIO_FLAG_AGG_INHERIT) == flags &&
- IO_SPAN(first, dio) <= zfs_vdev_aggregation_limit &&
+ (IO_SPAN(first, dio) <= zfs_vdev_aggregation_limit ||
+ (dio->io_flags & ZIO_FLAG_OPTIONAL)) &&
IO_GAP(last, dio) <= maxgap) {
last = dio;
if (!(last->io_flags & ZIO_FLAG_OPTIONAL))
@@ -605,6 +609,7 @@ vdev_queue_aggregate(vdev_queue_t *vq, zio_t *zio)
dio = AVL_NEXT(t, last);
dio->io_flags &= ~ZIO_FLAG_OPTIONAL;
} else {
+ /* do not include the optional i/o */
while (last != mandatory && last != first) {
ASSERT(last->io_flags & ZIO_FLAG_OPTIONAL);
last = AVL_PREV(t, last);
@@ -616,7 +621,6 @@ vdev_queue_aggregate(vdev_queue_t *vq, zio_t *zio)
return (NULL);
size = IO_SPAN(first, last);
- ASSERT3U(size, <=, zfs_vdev_aggregation_limit);
buf = zio_buf_alloc_flags(size, KM_NOSLEEP);
if (buf == NULL)
diff --git a/module/zfs/zfs.mod.c b/module/zfs/zfs.mod.c
new file mode 100644
index 0000000..f6bca8d
--- /dev/null
+++ b/module/zfs/zfs.mod.c
@@ -0,0 +1,481 @@
+#include <linux/module.h>
+#include <linux/vermagic.h>
+#include <linux/compiler.h>
+
+MODULE_INFO(vermagic, VERMAGIC_STRING);
+
+struct module __this_module
+__attribute__((section(".gnu.linkonce.this_module"))) = {
+ .name = KBUILD_MODNAME,
+ .init = init_module,
+#ifdef CONFIG_MODULE_UNLOAD
+ .exit = cleanup_module,
+#endif
+ .arch = MODULE_ARCH_INIT,
+};
+
+static const struct modversion_info ____versions[]
+__used
+__attribute__((section("__versions"))) = {
+ { 0x28950ef1, __VMLINUX_SYMBOL_STR(module_layout) },
+ { 0x5f953dda, __VMLINUX_SYMBOL_STR(vn_fsync) },
+ { 0xc93c34da, __VMLINUX_SYMBOL_STR(d_path) },
+ { 0x13be9977, __VMLINUX_SYMBOL_STR(nvlist_add_boolean_array) },
+ { 0x9a1dfd65, __VMLINUX_SYMBOL_STR(strpbrk) },
+ { 0xb7d1325e, __VMLINUX_SYMBOL_STR(nvlist_add_int32) },
+ { 0x30877173, __VMLINUX_SYMBOL_STR(fs_bio_set) },
+ { 0x6cc650a4, __VMLINUX_SYMBOL_STR(zfs_prop_get_type) },
+ { 0xe8e6892e, __VMLINUX_SYMBOL_STR(__kstat_install) },
+ { 0x1c90ea0e, __VMLINUX_SYMBOL_STR(nvlist_add_int64) },
+ { 0x36198a4d, __VMLINUX_SYMBOL_STR(nvpair_value_string) },
+ { 0xf9a482f9, __VMLINUX_SYMBOL_STR(msleep) },
+ { 0xd8b5eb52, __VMLINUX_SYMBOL_STR(z_uncompress) },
+ { 0x7959fc3f, __VMLINUX_SYMBOL_STR(alloc_disk) },
+ { 0xfe6fd8db, __VMLINUX_SYMBOL_STR(generic_getxattr) },
+ { 0x8b484c4c, __VMLINUX_SYMBOL_STR(fnvlist_lookup_nvpair) },
+ { 0xcf47e212, __VMLINUX_SYMBOL_STR(fnvlist_add_int32) },
+ { 0xf5893abf, __VMLINUX_SYMBOL_STR(up_read) },
+ { 0x61762346, __VMLINUX_SYMBOL_STR(blk_cleanup_queue) },
+ { 0xaada9d55, __VMLINUX_SYMBOL_STR(zfs_prop_init) },
+ { 0x4c4fef19, __VMLINUX_SYMBOL_STR(kernel_stack) },
+ { 0xb41ea00a, __VMLINUX_SYMBOL_STR(nvlist_add_uint8_array) },
+ { 0xea1f9d8a, __VMLINUX_SYMBOL_STR(blk_queue_io_opt) },
+ { 0x4be94236, __VMLINUX_SYMBOL_STR(rwsem_tryupgrade) },
+ { 0xeb862489, __VMLINUX_SYMBOL_STR(bio_alloc_bioset) },
+ { 0xdc89486b, __VMLINUX_SYMBOL_STR(zfs_name_to_prop) },
+ { 0xda3e43d1, __VMLINUX_SYMBOL_STR(_raw_spin_unlock) },
+ { 0xc821665c, __VMLINUX_SYMBOL_STR(generic_file_llseek) },
+ { 0x69c74a2b, __VMLINUX_SYMBOL_STR(__mark_inode_dirty) },
+ { 0x4b039d7, __VMLINUX_SYMBOL_STR(u8_validate) },
+ { 0x9d5b74e2, __VMLINUX_SYMBOL_STR(d_invalidate) },
+ { 0xb45a14de, __VMLINUX_SYMBOL_STR(__set_page_dirty_nobuffers) },
+ { 0xf2f1ef64, __VMLINUX_SYMBOL_STR(fnvlist_alloc) },
+ { 0x349cba85, __VMLINUX_SYMBOL_STR(strchr) },
+ { 0x9191a98c, __VMLINUX_SYMBOL_STR(nvlist_add_uint32_array) },
+ { 0x150ddbd2, __VMLINUX_SYMBOL_STR(kstat_runq_enter) },
+ { 0xb0704417, __VMLINUX_SYMBOL_STR(__remove_inode_hash) },
+ { 0xf351e0c7, __VMLINUX_SYMBOL_STR(get_gendisk) },
+ { 0x542de561, __VMLINUX_SYMBOL_STR(generic_write_checks) },
+ { 0x15692c87, __VMLINUX_SYMBOL_STR(param_ops_int) },
+ { 0x1403a15e, __VMLINUX_SYMBOL_STR(taskq_member) },
+ { 0xb0364551, __VMLINUX_SYMBOL_STR(zio_arena) },
+ { 0xf5dea0d6, __VMLINUX_SYMBOL_STR(nvpair_value_int64_array) },
+ { 0x188a3dfb, __VMLINUX_SYMBOL_STR(timespec_trunc) },
+ { 0x754d539c, __VMLINUX_SYMBOL_STR(strlen) },
+ { 0xd0ee38b8, __VMLINUX_SYMBOL_STR(schedule_timeout_uninterruptible) },
+ { 0xbd6bcd08, __VMLINUX_SYMBOL_STR(crhold) },
+ { 0x3a9b6fb9, __VMLINUX_SYMBOL_STR(blk_unregister_region) },
+ { 0x2f060b2b, __VMLINUX_SYMBOL_STR(d_set_d_op) },
+ { 0x5ef68d5c, __VMLINUX_SYMBOL_STR(blk_queue_max_hw_sectors) },
+ { 0x43bdcb52, __VMLINUX_SYMBOL_STR(vn_close) },
+ { 0x945b8886, __VMLINUX_SYMBOL_STR(filemap_write_and_wait_range) },
+ { 0x16916efb, __VMLINUX_SYMBOL_STR(nvlist_prev_nvpair) },
+ { 0x19295e53, __VMLINUX_SYMBOL_STR(taskq_create) },
+ { 0x1ba29031, __VMLINUX_SYMBOL_STR(zfs_component_namecheck) },
+ { 0xd0dbb495, __VMLINUX_SYMBOL_STR(elevator_change) },
+ { 0x2e99f239, __VMLINUX_SYMBOL_STR(kill_anon_super) },
+ { 0xce6d7d76, __VMLINUX_SYMBOL_STR(crgetruid) },
+ { 0x6a4152d5, __VMLINUX_SYMBOL_STR(nvlist_add_uint64) },
+ { 0x4672a9d9, __VMLINUX_SYMBOL_STR(fnvlist_pack_free) },
+ { 0xfe2b82d6, __VMLINUX_SYMBOL_STR(posix_acl_to_xattr) },
+ { 0x3127541f, __VMLINUX_SYMBOL_STR(vn_getattr) },
+ { 0x424ac2e1, __VMLINUX_SYMBOL_STR(nvlist_pack) },
+ { 0x930484aa, __VMLINUX_SYMBOL_STR(cpu_online_mask) },
+ { 0x79aa04a2, __VMLINUX_SYMBOL_STR(get_random_bytes) },
+ { 0x34184afe, __VMLINUX_SYMBOL_STR(current_kernel_time) },
+ { 0x1d5e717f, __VMLINUX_SYMBOL_STR(avl_nearest) },
+ { 0xb342d16a, __VMLINUX_SYMBOL_STR(spl_kmem_alloc) },
+ { 0x5d16cdc5, __VMLINUX_SYMBOL_STR(nvlist_exists) },
+ { 0x50612798, __VMLINUX_SYMBOL_STR(seq_puts) },
+ { 0x4cd6ab5c, __VMLINUX_SYMBOL_STR(rootdir) },
+ { 0x7926f6fe, __VMLINUX_SYMBOL_STR(vn_seek) },
+ { 0x73a78bc4, __VMLINUX_SYMBOL_STR(downgrade_write) },
+ { 0xf000f338, __VMLINUX_SYMBOL_STR(truncate_inode_pages_range) },
+ { 0x2ee05603, __VMLINUX_SYMBOL_STR(generic_file_open) },
+ { 0xacf4d843, __VMLINUX_SYMBOL_STR(match_strdup) },
+ { 0xffff91e3, __VMLINUX_SYMBOL_STR(taskq_init_ent) },
+ { 0xac2fe90b, __VMLINUX_SYMBOL_STR(kobj_close_file) },
+ { 0xcf24ceff, __VMLINUX_SYMBOL_STR(nvlist_remove) },
+ { 0xd488791e, __VMLINUX_SYMBOL_STR(__lock_page) },
+ { 0xb54533f7, __VMLINUX_SYMBOL_STR(usecs_to_jiffies) },
+ { 0x581b3ff3, __VMLINUX_SYMBOL_STR(zpool_prop_get_type) },
+ { 0xcde0e455, __VMLINUX_SYMBOL_STR(touch_atime) },
+ { 0xa483a8c3, __VMLINUX_SYMBOL_STR(zfs_prop_to_name) },
+ { 0xbaeceadd, __VMLINUX_SYMBOL_STR(crgetngroups) },
+ { 0x9ec5b8c6, __VMLINUX_SYMBOL_STR(kobj_get_filesize) },
+ { 0xd6f70ea0, __VMLINUX_SYMBOL_STR(nvlist_empty) },
+ { 0x187c0510, __VMLINUX_SYMBOL_STR(nvpair_value_int64) },
+ { 0x74df1d4, __VMLINUX_SYMBOL_STR(seq_printf) },
+ { 0xac095684, __VMLINUX_SYMBOL_STR(zfs_prop_inheritable) },
+ { 0xb6c2717d, __VMLINUX_SYMBOL_STR(fnvlist_lookup_uint64) },
+ { 0x44e9a829, __VMLINUX_SYMBOL_STR(match_token) },
+ { 0x769f7eae, __VMLINUX_SYMBOL_STR(avl_last) },
+ { 0xf4e84391, __VMLINUX_SYMBOL_STR(nvlist_add_nvlist) },
+ { 0xb205e7ee, __VMLINUX_SYMBOL_STR(nvpair_value_uint16_array) },
+ { 0x3098be9f, __VMLINUX_SYMBOL_STR(crgetgroups) },
+ { 0x67a76eae, __VMLINUX_SYMBOL_STR(avl_insert_here) },
+ { 0xf3e29ae0, __VMLINUX_SYMBOL_STR(zpool_prop_to_name) },
+ { 0x64913468, __VMLINUX_SYMBOL_STR(nvpair_value_uint8_array) },
+ { 0x4ed12f73, __VMLINUX_SYMBOL_STR(mutex_unlock) },
+ { 0x407478e1, __VMLINUX_SYMBOL_STR(nvpair_value_uint32_array) },
+ { 0x85df9b6c, __VMLINUX_SYMBOL_STR(strsep) },
+ { 0xccc94e8, __VMLINUX_SYMBOL_STR(nvlist_lookup_string) },
+ { 0x80f6aed7, __VMLINUX_SYMBOL_STR(vn_rdwr) },
+ { 0xb05ef89e, __VMLINUX_SYMBOL_STR(fnvlist_add_uint64) },
+ { 0x7f9ad7a0, __VMLINUX_SYMBOL_STR(generic_read_dir) },
+ { 0x1083f24f, __VMLINUX_SYMBOL_STR(zfs_prop_valid_for_type) },
+ { 0x5be9e34a, __VMLINUX_SYMBOL_STR(zfs_prop_setonce) },
+ { 0xde4fab67, __VMLINUX_SYMBOL_STR(igrab) },
+ { 0x5339da44, __VMLINUX_SYMBOL_STR(fnvlist_size) },
+ { 0x58b765b9, __VMLINUX_SYMBOL_STR(pool_namecheck) },
+ { 0x54efb5d6, __VMLINUX_SYMBOL_STR(cpu_number) },
+ { 0x61abde57, __VMLINUX_SYMBOL_STR(generic_setxattr) },
+ { 0x1ac5d3cb, __VMLINUX_SYMBOL_STR(strcspn) },
+ { 0x258b1c5, __VMLINUX_SYMBOL_STR(mount_nodev) },
+ { 0x4a6518b3, __VMLINUX_SYMBOL_STR(path_get) },
+ { 0xe7bbb60, __VMLINUX_SYMBOL_STR(redirty_page_for_writepage) },
+ { 0x91715312, __VMLINUX_SYMBOL_STR(sprintf) },
+ { 0x8eb0a41f, __VMLINUX_SYMBOL_STR(tsd_destroy) },
+ { 0x8d6ba8ae, __VMLINUX_SYMBOL_STR(spl_kmem_cache_free) },
+ { 0xbc32eee7, __VMLINUX_SYMBOL_STR(spl_panic) },
+ { 0x6bfc3d0, __VMLINUX_SYMBOL_STR(nv_alloc_init) },
+ { 0x50ea1952, __VMLINUX_SYMBOL_STR(nvlist_add_int16_array) },
+ { 0x7d11c268, __VMLINUX_SYMBOL_STR(jiffies) },
+ { 0x343a1a8, __VMLINUX_SYMBOL_STR(__list_add) },
+ { 0xc9468df0, __VMLINUX_SYMBOL_STR(lookup_bdev) },
+ { 0x2f4c181a, __VMLINUX_SYMBOL_STR(truncate_setsize) },
+ { 0xe196a9f7, __VMLINUX_SYMBOL_STR(mutex_trylock) },
+ { 0x57a6ccd0, __VMLINUX_SYMBOL_STR(down_read) },
+ { 0xe2d5255a, __VMLINUX_SYMBOL_STR(strcmp) },
+ { 0x35225ea3, __VMLINUX_SYMBOL_STR(down_write_trylock) },
+ { 0xdbe86ff6, __VMLINUX_SYMBOL_STR(end_page_writeback) },
+ { 0x7212fe43, __VMLINUX_SYMBOL_STR(cv_timedwait_hires) },
+ { 0xde9360ba, __VMLINUX_SYMBOL_STR(totalram_pages) },
+ { 0xaa65a555, __VMLINUX_SYMBOL_STR(kmem_asprintf) },
+ { 0x42585bc5, __VMLINUX_SYMBOL_STR(nvlist_add_string_array) },
+ { 0xff9d066b, __VMLINUX_SYMBOL_STR(u8_strcmp) },
+ { 0xe04a0100, __VMLINUX_SYMBOL_STR(nvlist_xalloc) },
+ { 0xcfb24408, __VMLINUX_SYMBOL_STR(nvpair_value_int32) },
+ { 0x72cf8c8b, __VMLINUX_SYMBOL_STR(crgetuid) },
+ { 0x7bae04db, __VMLINUX_SYMBOL_STR(uio_prefaultpages) },
+ { 0xba3e2d71, __VMLINUX_SYMBOL_STR(zone_get_hostid) },
+ { 0x7655f61b, __VMLINUX_SYMBOL_STR(invalidate_bdev) },
+ { 0x71de9b3f, __VMLINUX_SYMBOL_STR(_copy_to_user) },
+ { 0xa3908d18, __VMLINUX_SYMBOL_STR(avl_remove) },
+ { 0x528f1f4e, __VMLINUX_SYMBOL_STR(nvpair_value_int8_array) },
+ { 0xfe7c4287, __VMLINUX_SYMBOL_STR(nr_cpu_ids) },
+ { 0xe24d3a97, __VMLINUX_SYMBOL_STR(jiffies_64) },
+ { 0xee8843fa, __VMLINUX_SYMBOL_STR(nvpair_value_uint64) },
+ { 0xbe0a2f77, __VMLINUX_SYMBOL_STR(blk_queue_max_segments) },
+ { 0x106b6ba8, __VMLINUX_SYMBOL_STR(taskq_destroy) },
+ { 0x35b6b772, __VMLINUX_SYMBOL_STR(param_ops_charp) },
+ { 0xf9c0b663, __VMLINUX_SYMBOL_STR(strlcat) },
+ { 0xadac4d0f, __VMLINUX_SYMBOL_STR(inode_owner_or_capable) },
+ { 0xf23b2e74, __VMLINUX_SYMBOL_STR(misc_register) },
+ { 0x7023fd74, __VMLINUX_SYMBOL_STR(zfs_spa_version_map) },
+ { 0x66cb0ee2, __VMLINUX_SYMBOL_STR(nvpair_value_uint64_array) },
+ { 0x6e2e7d3f, __VMLINUX_SYMBOL_STR(kern_path) },
+ { 0xfb578fc5, __VMLINUX_SYMBOL_STR(memset) },
+ { 0xd4b1c70b, __VMLINUX_SYMBOL_STR(spl_kmem_cache_destroy) },
+ { 0xbd256438, __VMLINUX_SYMBOL_STR(nvlist_lookup_nvpair) },
+ { 0x29eec2f0, __VMLINUX_SYMBOL_STR(vmem_size) },
+ { 0xbc9dddde, __VMLINUX_SYMBOL_STR(taskq_wait_id) },
+ { 0x40e3ae7c, __VMLINUX_SYMBOL_STR(vn_getf) },
+ { 0x516b8b85, __VMLINUX_SYMBOL_STR(nvlist_add_int8_array) },
+ { 0x48f1f53d, __VMLINUX_SYMBOL_STR(d_add_ci) },
+ { 0xc810362f, __VMLINUX_SYMBOL_STR(strdup) },
+ { 0xddc65021, __VMLINUX_SYMBOL_STR(blk_alloc_queue) },
+ { 0x374a38c8, __VMLINUX_SYMBOL_STR(fnvlist_num_pairs) },
+ { 0x22c35c6c, __VMLINUX_SYMBOL_STR(fnvpair_value_nvlist) },
+ { 0x87a6cadd, __VMLINUX_SYMBOL_STR(avl_destroy) },
+ { 0x11089ac7, __VMLINUX_SYMBOL_STR(_ctype) },
+ { 0xd9977d8, __VMLINUX_SYMBOL_STR(fletcher_4_incremental_native) },
+ { 0x8f64aa4, __VMLINUX_SYMBOL_STR(_raw_spin_unlock_irqrestore) },
+ { 0xb8c7ff88, __VMLINUX_SYMBOL_STR(current_task) },
+ { 0xb26e179a, __VMLINUX_SYMBOL_STR(__cv_signal) },
+ { 0xcca5ec02, __VMLINUX_SYMBOL_STR(avl_numnodes) },
+ { 0x6127b911, __VMLINUX_SYMBOL_STR(kstat_waitq_exit) },
+ { 0xb327d49, __VMLINUX_SYMBOL_STR(check_disk_change) },
+ { 0x9a025cd5, __VMLINUX_SYMBOL_STR(__mutex_init) },
+ { 0x27e1a049, __VMLINUX_SYMBOL_STR(printk) },
+ { 0x8e864a86, __VMLINUX_SYMBOL_STR(posix_acl_chmod) },
+ { 0x30da4fbf, __VMLINUX_SYMBOL_STR(fnvlist_free) },
+ { 0x737e0781, __VMLINUX_SYMBOL_STR(find_lock_page) },
+ { 0xdba1e8a4, __VMLINUX_SYMBOL_STR(d_obtain_alias) },
+ { 0x449ad0a7, __VMLINUX_SYMBOL_STR(memcmp) },
+ { 0xbd275110, __VMLINUX_SYMBOL_STR(blk_queue_max_discard_sectors) },
+ { 0x95f82b97, __VMLINUX_SYMBOL_STR(del_gendisk) },
+ { 0x68a9f991, __VMLINUX_SYMBOL_STR(nvlist_add_uint16_array) },
+ { 0x6d934b7c, __VMLINUX_SYMBOL_STR(nv_fixed_ops) },
+ { 0x6a36f138, __VMLINUX_SYMBOL_STR(zpool_prop_feature) },
+ { 0xe0b0dd84, __VMLINUX_SYMBOL_STR(crgetfsgid) },
+ { 0x4554b079, __VMLINUX_SYMBOL_STR(bio_add_page) },
+ { 0xe8856dea, __VMLINUX_SYMBOL_STR(nvlist_remove_nvpair) },
+ { 0x35b9d4a6, __VMLINUX_SYMBOL_STR(nvlist_add_nvlist_array) },
+ { 0x75a78768, __VMLINUX_SYMBOL_STR(nvlist_alloc) },
+ { 0xa26a953e, __VMLINUX_SYMBOL_STR(fletcher_2_byteswap) },
+ { 0x27655c15, __VMLINUX_SYMBOL_STR(zfs_allocatable_devs) },
+ { 0x7c1372e8, __VMLINUX_SYMBOL_STR(panic) },
+ { 0x4c9d28b0, __VMLINUX_SYMBOL_STR(phys_base) },
+ { 0xe2fd64d6, __VMLINUX_SYMBOL_STR(nvpair_value_hrtime) },
+ { 0xa1c76e0a, __VMLINUX_SYMBOL_STR(_cond_resched) },
+ { 0xb940ee11, __VMLINUX_SYMBOL_STR(taskq_wait) },
+ { 0x9166fada, __VMLINUX_SYMBOL_STR(strncpy) },
+ { 0x19272247, __VMLINUX_SYMBOL_STR(__kstat_set_raw_ops) },
+ { 0x422932ac, __VMLINUX_SYMBOL_STR(nvlist_lookup_int32) },
+ { 0x6f3b39e8, __VMLINUX_SYMBOL_STR(blkdev_get_by_path) },
+ { 0xd34ddc39, __VMLINUX_SYMBOL_STR(security_inode_init_security) },
+ { 0x5da2ce8d, __VMLINUX_SYMBOL_STR(check_disk_size_change) },
+ { 0x78a1f8cc, __VMLINUX_SYMBOL_STR(blk_register_region) },
+ { 0x5a921311, __VMLINUX_SYMBOL_STR(strncmp) },
+ { 0x5792f848, __VMLINUX_SYMBOL_STR(strlcpy) },
+ { 0xbf8ba54a, __VMLINUX_SYMBOL_STR(vprintk) },
+ { 0x9abdea30, __VMLINUX_SYMBOL_STR(mutex_lock) },
+ { 0xfd5cf105, __VMLINUX_SYMBOL_STR(set_nlink) },
+ { 0x848a13bc, __VMLINUX_SYMBOL_STR(write_cache_pages) },
+ { 0xa340453c, __VMLINUX_SYMBOL_STR(system_taskq) },
+ { 0x13401075, __VMLINUX_SYMBOL_STR(taskq_dispatch) },
+ { 0xc8f88566, __VMLINUX_SYMBOL_STR(nvpair_value_uint16) },
+ { 0x521445b, __VMLINUX_SYMBOL_STR(list_del) },
+ { 0xebcbce8b, __VMLINUX_SYMBOL_STR(avl_insert) },
+ { 0x60df1e3b, __VMLINUX_SYMBOL_STR(posix_acl_equiv_mode) },
+ { 0x6c2c274e, __VMLINUX_SYMBOL_STR(spl_vmem_zalloc) },
+ { 0x71a50dbc, __VMLINUX_SYMBOL_STR(register_blkdev) },
+ { 0xc5fdef94, __VMLINUX_SYMBOL_STR(call_usermodehelper) },
+ { 0x9b4571df, __VMLINUX_SYMBOL_STR(nvpair_value_int32_array) },
+ { 0x299282df, __VMLINUX_SYMBOL_STR(uioskip) },
+ { 0xb7bfb080, __VMLINUX_SYMBOL_STR(insert_inode_locked) },
+ { 0xf02c7e5, __VMLINUX_SYMBOL_STR(avl_create) },
+ { 0xafa476dd, __VMLINUX_SYMBOL_STR(nvpair_value_int8) },
+ { 0x90782bf3, __VMLINUX_SYMBOL_STR(nvlist_add_string) },
+ { 0x90c7c2cd, __VMLINUX_SYMBOL_STR(wait_on_page_bit) },
+ { 0x5559ab10, __VMLINUX_SYMBOL_STR(zfs_deleg_whokey) },
+ { 0xcfba95c9, __VMLINUX_SYMBOL_STR(uiocopy) },
+ { 0x5de75127, __VMLINUX_SYMBOL_STR(unlock_page) },
+ { 0x3b4ceb4a, __VMLINUX_SYMBOL_STR(up_write) },
+ { 0x4c5e4353, __VMLINUX_SYMBOL_STR(shrink_dcache_sb) },
+ { 0x431a8a2c, __VMLINUX_SYMBOL_STR(ddi_copyout) },
+ { 0xe6e3b875, __VMLINUX_SYMBOL_STR(down_write) },
+ { 0xcc762837, __VMLINUX_SYMBOL_STR(kstat_waitq_enter) },
+ { 0x67236929, __VMLINUX_SYMBOL_STR(get_disk) },
+ { 0x1b27ac37, __VMLINUX_SYMBOL_STR(crgetgid) },
+ { 0x64623de, __VMLINUX_SYMBOL_STR(kmem_vasprintf) },
+ { 0xb653c4c5, __VMLINUX_SYMBOL_STR(avl_destroy_nodes) },
+ { 0xd16645b6, __VMLINUX_SYMBOL_STR(fnvlist_add_nvlist) },
+ { 0x89f2142a, __VMLINUX_SYMBOL_STR(nvpair_value_nvlist_array) },
+ { 0x2d03c10d, __VMLINUX_SYMBOL_STR(posix_acl_create) },
+ { 0xd42a96fa, __VMLINUX_SYMBOL_STR(nvpair_name) },
+ { 0x52778ec7, __VMLINUX_SYMBOL_STR(vcmn_err) },
+ { 0xdd5fbc2b, __VMLINUX_SYMBOL_STR(bio_endio) },
+ { 0x867c68af, __VMLINUX_SYMBOL_STR(bio_put) },
+ { 0xc0fba65a, __VMLINUX_SYMBOL_STR(generic_removexattr) },
+ { 0x97fb9a11, __VMLINUX_SYMBOL_STR(__cv_broadcast) },
+ { 0x3323ccb1, __VMLINUX_SYMBOL_STR(tsd_get) },
+ { 0xc1092877, __VMLINUX_SYMBOL_STR(mark_page_accessed) },
+ { 0x180d429, __VMLINUX_SYMBOL_STR(nvlist_add_int64_array) },
+ { 0x53bddca5, __VMLINUX_SYMBOL_STR(taskq_dispatch_ent) },
+ { 0x61651be, __VMLINUX_SYMBOL_STR(strcat) },
+ { 0x31a78843, __VMLINUX_SYMBOL_STR(vm_stat) },
+ { 0x3d276170, __VMLINUX_SYMBOL_STR(avl_first) },
+ { 0x10761aa5, __VMLINUX_SYMBOL_STR(crgetfsuid) },
+ { 0x1bc61496, __VMLINUX_SYMBOL_STR(nvpair_value_int16_array) },
+ { 0xb5a459dc, __VMLINUX_SYMBOL_STR(unregister_blkdev) },
+ { 0x44d67461, __VMLINUX_SYMBOL_STR(__cv_wait_io) },
+ { 0xb428a99c, __VMLINUX_SYMBOL_STR(zfs_deleg_verify_nvlist) },
+ { 0x4f6d74cf, __VMLINUX_SYMBOL_STR(inode_init_once) },
+ { 0x1bfac311, __VMLINUX_SYMBOL_STR(nvlist_lookup_nvlist) },
+ { 0x7479525e, __VMLINUX_SYMBOL_STR(fnvlist_add_uint64_array) },
+ { 0x9d9f80c4, __VMLINUX_SYMBOL_STR(nvlist_free) },
+ { 0x50c5246d, __VMLINUX_SYMBOL_STR(nvlist_add_uint8) },
+ { 0x5d6e0bba, __VMLINUX_SYMBOL_STR(nvlist_lookup_uint64) },
+ { 0xc4076f47, __VMLINUX_SYMBOL_STR(submit_bio) },
+ { 0xc6cbbc89, __VMLINUX_SYMBOL_STR(capable) },
+ { 0x6be0bc63, __VMLINUX_SYMBOL_STR(init_task) },
+ { 0xce900af, __VMLINUX_SYMBOL_STR(blk_finish_plug) },
+ { 0xb1c3a01a, __VMLINUX_SYMBOL_STR(oops_in_progress) },
+ { 0x9f984513, __VMLINUX_SYMBOL_STR(strrchr) },
+ { 0x55de2e28, __VMLINUX_SYMBOL_STR(z_compress_level) },
+ { 0x972d5d67, __VMLINUX_SYMBOL_STR(ilookup) },
+ { 0x81376bfd, __VMLINUX_SYMBOL_STR(vn_remove) },
+ { 0x1a86fdbf, __VMLINUX_SYMBOL_STR(blkdev_put) },
+ { 0xc50bab05, __VMLINUX_SYMBOL_STR(unregister_shrinker) },
+ { 0xe8adb6d8, __VMLINUX_SYMBOL_STR(nvpair_value_boolean_value) },
+ { 0x81483072, __VMLINUX_SYMBOL_STR(nvlist_add_uint16) },
+ { 0xe0d8ba54, __VMLINUX_SYMBOL_STR(simple_dir_operations) },
+ { 0x7fc02f17, __VMLINUX_SYMBOL_STR(generic_file_mmap) },
+ { 0x12a38747, __VMLINUX_SYMBOL_STR(usleep_range) },
+ { 0xe61d6e03, __VMLINUX_SYMBOL_STR(__cv_wait) },
+ { 0xf76b5740, __VMLINUX_SYMBOL_STR(crfree) },
+ { 0x1cd81596, __VMLINUX_SYMBOL_STR(nvlist_unpack) },
+ { 0x55610108, __VMLINUX_SYMBOL_STR(blk_queue_make_request) },
+ { 0x1e77f, __VMLINUX_SYMBOL_STR(nvlist_add_int32_array) },
+ { 0x7add44b5, __VMLINUX_SYMBOL_STR(posix_acl_valid) },
+ { 0xaeab70e4, __VMLINUX_SYMBOL_STR(zfs_prop_default_numeric) },
+ { 0x116a62b5, __VMLINUX_SYMBOL_STR(uiomove) },
+ { 0x504b2a, __VMLINUX_SYMBOL_STR(blk_queue_physical_block_size) },
+ { 0x8077db89, __VMLINUX_SYMBOL_STR(nvlist_lookup_nv_alloc) },
+ { 0xf7b48661, __VMLINUX_SYMBOL_STR(vn_set_pwd) },
+ { 0xcb59902f, __VMLINUX_SYMBOL_STR(nvlist_lookup_byte_array) },
+ { 0xf0fdf6cb, __VMLINUX_SYMBOL_STR(__stack_chk_fail) },
+ { 0xc311ec22, __VMLINUX_SYMBOL_STR(cpu_possible_mask) },
+ { 0x3bd1b1f6, __VMLINUX_SYMBOL_STR(msecs_to_jiffies) },
+ { 0xfe56e2a4, __VMLINUX_SYMBOL_STR(nvpair_value_int16) },
+ { 0xcc8e80f8, __VMLINUX_SYMBOL_STR(kstat_runq_exit) },
+ { 0x1000e51, __VMLINUX_SYMBOL_STR(schedule) },
+ { 0x958b84e3, __VMLINUX_SYMBOL_STR(tsd_create) },
+ { 0xed8a9209, __VMLINUX_SYMBOL_STR(spl_kmem_cache_create) },
+ { 0x20173f35, __VMLINUX_SYMBOL_STR(taskq_wait_outstanding) },
+ { 0xe6eac7c3, __VMLINUX_SYMBOL_STR(posix_acl_from_xattr) },
+ { 0x60695c15, __VMLINUX_SYMBOL_STR(__kstat_create) },
+ { 0x9b0973c0, __VMLINUX_SYMBOL_STR(kobj_read_file) },
+ { 0x58390d3, __VMLINUX_SYMBOL_STR(put_disk) },
+ { 0xdc2cbf2b, __VMLINUX_SYMBOL_STR(do_sync_read) },
+ { 0xeebd4852, __VMLINUX_SYMBOL_STR(unlock_new_inode) },
+ { 0x2bbdb1d2, __VMLINUX_SYMBOL_STR(nvlist_add_uint32) },
+ { 0xb4fd1b24, __VMLINUX_SYMBOL_STR(deactivate_super) },
+ { 0x6d6d5de2, __VMLINUX_SYMBOL_STR(bdi_setup_and_register) },
+ { 0x447bea0b, __VMLINUX_SYMBOL_STR(fnvpair_value_uint64) },
+ { 0x2e36ff5c, __VMLINUX_SYMBOL_STR(nvlist_remove_all) },
+ { 0x6dc38171, __VMLINUX_SYMBOL_STR(fnvlist_add_boolean) },
+ { 0xd94959c7, __VMLINUX_SYMBOL_STR(fletcher_4_native) },
+ { 0x5e95b1cd, __VMLINUX_SYMBOL_STR(current_umask) },
+ { 0xb948e867, __VMLINUX_SYMBOL_STR(zfs_prop_userquota) },
+ { 0xd0920999, __VMLINUX_SYMBOL_STR(nvpair_value_uint32) },
+ { 0xc5ca5da8, __VMLINUX_SYMBOL_STR(nvlist_merge) },
+ { 0xfe172afe, __VMLINUX_SYMBOL_STR(spl_vmem_alloc) },
+ { 0xdeea79ca, __VMLINUX_SYMBOL_STR(nvlist_add_int8) },
+ { 0x723294f9, __VMLINUX_SYMBOL_STR(d_prune_aliases) },
+ { 0xa66d5be1, __VMLINUX_SYMBOL_STR(spl_kmem_cache_alloc) },
+ { 0xbdfb6dbb, __VMLINUX_SYMBOL_STR(__fentry__) },
+ { 0x6b63f55e, __VMLINUX_SYMBOL_STR(heap_arena) },
+ { 0x2e1a09e1, __VMLINUX_SYMBOL_STR(clear_page_dirty_for_io) },
+ { 0xe4a8abdd, __VMLINUX_SYMBOL_STR(inode_change_ok) },
+ { 0xa3a77c69, __VMLINUX_SYMBOL_STR(down_read_trylock) },
+ { 0x123f82f3, __VMLINUX_SYMBOL_STR(getrawmonotonic64) },
+ { 0x65f3602b, __VMLINUX_SYMBOL_STR(vn_releasef) },
+ { 0x39fba8f8, __VMLINUX_SYMBOL_STR(path_put) },
+ { 0x4b88e0e9, __VMLINUX_SYMBOL_STR(zpool_get_rewind_policy) },
+ { 0x41fdac38, __VMLINUX_SYMBOL_STR(__cv_init) },
+ { 0xd52bf1ce, __VMLINUX_SYMBOL_STR(_raw_spin_lock) },
+ { 0x2168361b, __VMLINUX_SYMBOL_STR(fnvlist_add_nvlist_array) },
+ { 0xf194dd6f, __VMLINUX_SYMBOL_STR(read_cache_pages) },
+ { 0xb6445021, __VMLINUX_SYMBOL_STR(zpool_prop_init) },
+ { 0x9327f5ce, __VMLINUX_SYMBOL_STR(_raw_spin_lock_irqsave) },
+ { 0xe9167510, __VMLINUX_SYMBOL_STR(fnvpair_value_string) },
+ { 0x7521d525, __VMLINUX_SYMBOL_STR(fnvlist_lookup_string) },
+ { 0x1b8f1d1e, __VMLINUX_SYMBOL_STR(strfree) },
+ { 0x97e1f970, __VMLINUX_SYMBOL_STR(register_filesystem) },
+ { 0xdafb8f63, __VMLINUX_SYMBOL_STR(zpool_name_to_prop) },
+ { 0x29c88b11, __VMLINUX_SYMBOL_STR(nvlist_next_nvpair) },
+ { 0x99195078, __VMLINUX_SYMBOL_STR(vsnprintf) },
+ { 0x191c2770, __VMLINUX_SYMBOL_STR(u8_textprep_str) },
+ { 0x54f92a75, __VMLINUX_SYMBOL_STR(__cv_wait_sig) },
+ { 0x88163724, __VMLINUX_SYMBOL_STR(zfs_prop_user) },
+ { 0xcc2d3792, __VMLINUX_SYMBOL_STR(__test_set_page_writeback) },
+ { 0x48ece843, __VMLINUX_SYMBOL_STR(vn_open) },
+ { 0xa456b044, __VMLINUX_SYMBOL_STR(zfs_prop_readonly) },
+ { 0x82027a4c, __VMLINUX_SYMBOL_STR(cmn_err) },
+ { 0x30450b4d, __VMLINUX_SYMBOL_STR(avl_find) },
+ { 0xc43ab895, __VMLINUX_SYMBOL_STR(nvlist_add_boolean_value) },
+ { 0xe6990065, __VMLINUX_SYMBOL_STR(fletcher_4_incremental_byteswap) },
+ { 0x4123990a, __VMLINUX_SYMBOL_STR(__cv_timedwait_sig) },
+ { 0x8dfdd77d, __VMLINUX_SYMBOL_STR(fnvpair_value_int32) },
+ { 0x4c82bcb5, __VMLINUX_SYMBOL_STR(nvlist_add_byte) },
+ { 0xe644f4ea, __VMLINUX_SYMBOL_STR(iput) },
+ { 0xa0ed48c9, __VMLINUX_SYMBOL_STR(fnvlist_lookup_nvlist) },
+ { 0x6db955bf, __VMLINUX_SYMBOL_STR(nvpair_type) },
+ { 0xd8e07779, __VMLINUX_SYMBOL_STR(ddi_copyin) },
+ { 0x1285cb78, __VMLINUX_SYMBOL_STR(tsd_set) },
+ { 0x3896a905, __VMLINUX_SYMBOL_STR(__thread_exit) },
+ { 0x37a0cba, __VMLINUX_SYMBOL_STR(kfree) },
+ { 0x531d58c3, __VMLINUX_SYMBOL_STR(zpool_prop_index_to_string) },
+ { 0xd234c7f7, __VMLINUX_SYMBOL_STR(nvlist_add_nvpair) },
+ { 0x9559e8eb, __VMLINUX_SYMBOL_STR(do_sync_write) },
+ { 0x69acdf38, __VMLINUX_SYMBOL_STR(memcpy) },
+ { 0xaca70cba, __VMLINUX_SYMBOL_STR(spl_kmem_cache_set_move) },
+ { 0x5ecf6f91, __VMLINUX_SYMBOL_STR(vn_mode_to_vtype) },
+ { 0x4470a79b, __VMLINUX_SYMBOL_STR(param_ops_long) },
+ { 0x18b8916c, __VMLINUX_SYMBOL_STR(d_splice_alias) },
+ { 0x9518b623, __VMLINUX_SYMBOL_STR(register_shrinker) },
+ { 0xbc28fd2e, __VMLINUX_SYMBOL_STR(add_disk) },
+ { 0x4b2cb038, __VMLINUX_SYMBOL_STR(zfs_prop_index_to_string) },
+ { 0xd1c1752d, __VMLINUX_SYMBOL_STR(zfs_zpl_version_map) },
+ { 0xe81f35f9, __VMLINUX_SYMBOL_STR(avl_walk) },
+ { 0xf715d7e4, __VMLINUX_SYMBOL_STR(fletcher_4_byteswap) },
+ { 0x86f43149, __VMLINUX_SYMBOL_STR(zfs_userquota_prop_prefixes) },
+ { 0xf68905fd, __VMLINUX_SYMBOL_STR(ddi_strtoull) },
+ { 0xa66275ba, __VMLINUX_SYMBOL_STR(generic_readlink) },
+ { 0x334c1f75, __VMLINUX_SYMBOL_STR(put_page) },
+ { 0xfb5e53dc, __VMLINUX_SYMBOL_STR(d_make_root) },
+ { 0x669a7116, __VMLINUX_SYMBOL_STR(bdi_destroy) },
+ { 0x4cbbd171, __VMLINUX_SYMBOL_STR(__bitmap_weight) },
+ { 0x4b69abe5, __VMLINUX_SYMBOL_STR(nvpair_value_byte) },
+ { 0x730e1886, __VMLINUX_SYMBOL_STR(nvlist_size) },
+ { 0xd7e6464c, __VMLINUX_SYMBOL_STR(fletcher_2_native) },
+ { 0x213f7bd5, __VMLINUX_SYMBOL_STR(ioctl_by_bdev) },
+ { 0x8ab99acf, __VMLINUX_SYMBOL_STR(fnvlist_pack) },
+ { 0xd235532c, __VMLINUX_SYMBOL_STR(unregister_filesystem) },
+ { 0x971f06a3, __VMLINUX_SYMBOL_STR(init_special_inode) },
+ { 0x3445acf6, __VMLINUX_SYMBOL_STR(kobj_open_file) },
+ { 0x6fd040ec, __VMLINUX_SYMBOL_STR(generic_segment_checks) },
+ { 0xa09e6d9c, __VMLINUX_SYMBOL_STR(avl_add) },
+ { 0x8a51e16a, __VMLINUX_SYMBOL_STR(groupmember) },
+ { 0x4ea06afa, __VMLINUX_SYMBOL_STR(nvlist_add_byte_array) },
+ { 0x28318305, __VMLINUX_SYMBOL_STR(snprintf) },
+ { 0x28423f49, __VMLINUX_SYMBOL_STR(bdget) },
+ { 0x925e00bb, __VMLINUX_SYMBOL_STR(blk_queue_max_segment_size) },
+ { 0xe78ff332, __VMLINUX_SYMBOL_STR(__kstat_delete) },
+ { 0xa3de192d, __VMLINUX_SYMBOL_STR(fnvlist_add_string) },
+ { 0x504be4f9, __VMLINUX_SYMBOL_STR(nvlist_add_int16) },
+ { 0xec1cce40, __VMLINUX_SYMBOL_STR(nvlist_lookup_nvlist_array) },
+ { 0xd434cca4, __VMLINUX_SYMBOL_STR(new_inode) },
+ { 0xb0e602eb, __VMLINUX_SYMBOL_STR(memmove) },
+ { 0x43c69f9a, __VMLINUX_SYMBOL_STR(zpool_prop_default_numeric) },
+ { 0x18e6b5cd, __VMLINUX_SYMBOL_STR(vmalloc_to_page) },
+ { 0x6d16801a, __VMLINUX_SYMBOL_STR(spl_kmem_free) },
+ { 0x8eb2664d, __VMLINUX_SYMBOL_STR(fnvlist_remove_nvpair) },
+ { 0x9165990f, __VMLINUX_SYMBOL_STR(follow_down_one) },
+ { 0xf10c9794, __VMLINUX_SYMBOL_STR(spl_kmem_cache_reap_now) },
+ { 0xaa9db9bb, __VMLINUX_SYMBOL_STR(nvlist_add_uint64_array) },
+ { 0xad3e6d7f, __VMLINUX_SYMBOL_STR(blkdev_get) },
+ { 0xc236e29a, __VMLINUX_SYMBOL_STR(zfs_prop_default_string) },
+ { 0xa549c7f5, __VMLINUX_SYMBOL_STR(simple_dir_inode_operations) },
+ { 0x47805038, __VMLINUX_SYMBOL_STR(__thread_create) },
+ { 0xff749bc, __VMLINUX_SYMBOL_STR(spl_vmem_free) },
+ { 0x77e2f33, __VMLINUX_SYMBOL_STR(_copy_from_user) },
+ { 0xb3e56341, __VMLINUX_SYMBOL_STR(taskq_cancel_id) },
+ { 0xe5d95985, __VMLINUX_SYMBOL_STR(param_ops_ulong) },
+ { 0x903e74ba, __VMLINUX_SYMBOL_STR(nv_alloc_fini) },
+ { 0x6d044c26, __VMLINUX_SYMBOL_STR(param_ops_uint) },
+ { 0x9f249c9a, __VMLINUX_SYMBOL_STR(bdget_disk) },
+ { 0xa66a6969, __VMLINUX_SYMBOL_STR(nvpair_value_nvlist) },
+ { 0x913c50e8, __VMLINUX_SYMBOL_STR(clear_inode) },
+ { 0x925520d2, __VMLINUX_SYMBOL_STR(blk_start_plug) },
+ { 0xa1012e43, __VMLINUX_SYMBOL_STR(misc_deregister) },
+ { 0xf91d3b5a, __VMLINUX_SYMBOL_STR(nvlist_dup) },
+ { 0xc041d114, __VMLINUX_SYMBOL_STR(bdput) },
+ { 0x26709638, __VMLINUX_SYMBOL_STR(d_instantiate) },
+ { 0x2a6e6109, __VMLINUX_SYMBOL_STR(__init_rwsem) },
+ { 0xb8a102e9, __VMLINUX_SYMBOL_STR(taskq_dispatch_delay) },
+ { 0x2821e0b2, __VMLINUX_SYMBOL_STR(nvlist_lookup_uint64_array) },
+ { 0xbccac85e, __VMLINUX_SYMBOL_STR(p0) },
+ { 0x1d464809, __VMLINUX_SYMBOL_STR(__cv_destroy) },
+ { 0x38dbd03a, __VMLINUX_SYMBOL_STR(dataset_namecheck) },
+ { 0x5fb4b61d, __VMLINUX_SYMBOL_STR(fnvlist_dup) },
+ { 0x5f883970, __VMLINUX_SYMBOL_STR(generic_fillattr) },
+ { 0xb07671f9, __VMLINUX_SYMBOL_STR(vn_openat) },
+ { 0xe914e41e, __VMLINUX_SYMBOL_STR(strcpy) },
+ { 0xaee2ce2a, __VMLINUX_SYMBOL_STR(set_disk_ro) },
+ { 0x9b0325e8, __VMLINUX_SYMBOL_STR(spl_kmem_zalloc) },
+ { 0x75907276, __VMLINUX_SYMBOL_STR(kmem_debugging) },
+ { 0xc3ff0fa1, __VMLINUX_SYMBOL_STR(nvpair_value_uint8) },
+};
+
+static const char __module_depends[]
+__used
+__attribute__((section(".modinfo"))) =
+"depends=spl,znvpair,zcommon,zunicode,zavl";
+
+
+MODULE_INFO(srcversion, "D1D789E4C7DAA00271A861B");
+MODULE_INFO(rhelversion, "7.3");
diff --git a/module/zfs/zfs_ctldir.c b/module/zfs/zfs_ctldir.c
index 2767b23..2e1aa75 100644
--- a/module/zfs/zfs_ctldir.c
+++ b/module/zfs/zfs_ctldir.c
@@ -455,7 +455,7 @@ static struct inode *
zfsctl_inode_alloc(zfs_sb_t *zsb, uint64_t id,
const struct file_operations *fops, const struct inode_operations *ops)
{
- struct timespec now = current_fs_time(zsb->z_sb);
+ struct timespec now;
struct inode *ip;
znode_t *zp;
@@ -463,6 +463,7 @@ zfsctl_inode_alloc(zfs_sb_t *zsb, uint64_t id,
if (ip == NULL)
return (NULL);
+ now = current_time(ip);
zp = ITOZ(ip);
ASSERT3P(zp->z_dirlocks, ==, NULL);
ASSERT3P(zp->z_acl_cached, ==, NULL);
@@ -498,6 +499,9 @@ zfsctl_inode_alloc(zfs_sb_t *zsb, uint64_t id,
ip->i_ctime = now;
ip->i_fop = fops;
ip->i_op = ops;
+#if defined(IOP_XATTR)
+ ip->i_opflags &= ~IOP_XATTR;
+#endif
if (insert_inode_locked(ip)) {
unlock_new_inode(ip);
diff --git a/module/zfs/zfs_vfsops.c b/module/zfs/zfs_vfsops.c
index d7786f6..9989e5d 100644
--- a/module/zfs/zfs_vfsops.c
+++ b/module/zfs/zfs_vfsops.c
@@ -1406,10 +1406,12 @@ zfs_domount(struct super_block *sb, zfs_mntopts_t *zmo, int silent)
zsb->z_bdi.ra_pages = 0;
sb->s_bdi = &zsb->z_bdi;
- error = -zpl_bdi_setup_and_register(&zsb->z_bdi, "zfs");
+ error = -zpl_bdi_setup(sb, "zfs");
if (error)
goto out;
+ sb->s_bdi->ra_pages = 0;
+
/* Set callback operations for the file system. */
sb->s_op = &zpl_super_operations;
sb->s_xattr = zpl_xattr_handlers;
@@ -1505,7 +1507,7 @@ zfs_umount(struct super_block *sb)
arc_remove_prune_callback(zsb->z_arc_prune);
VERIFY(zfs_sb_teardown(zsb, B_TRUE) == 0);
os = zsb->z_os;
- bdi_destroy(sb->s_bdi);
+ zpl_bdi_destroy(sb);
/*
* z_os will be NULL if there was an error in
diff --git a/module/zfs/zfs_vnops.c b/module/zfs/zfs_vnops.c
index 384a37f..437a63a 100644
--- a/module/zfs/zfs_vnops.c
+++ b/module/zfs/zfs_vnops.c
@@ -1602,13 +1602,13 @@ top:
error = dmu_tx_assign(tx, waited ? TXG_WAITED : TXG_NOWAIT);
if (error) {
zfs_dirent_unlock(dl);
- iput(ip);
- if (xzp)
- iput(ZTOI(xzp));
if (error == ERESTART) {
waited = B_TRUE;
dmu_tx_wait(tx);
dmu_tx_abort(tx);
+ iput(ip);
+ if (xzp)
+ iput(ZTOI(xzp));
goto top;
}
#ifdef HAVE_PN_UTILS
@@ -1616,6 +1616,9 @@ top:
pn_free(realnmp);
#endif /* HAVE_PN_UTILS */
dmu_tx_abort(tx);
+ iput(ip);
+ if (xzp)
+ iput(ZTOI(xzp));
ZFS_EXIT(zsb);
return (error);
}
@@ -1944,14 +1947,15 @@ top:
rw_exit(&zp->z_parent_lock);
rw_exit(&zp->z_name_lock);
zfs_dirent_unlock(dl);
- iput(ip);
if (error == ERESTART) {
waited = B_TRUE;
dmu_tx_wait(tx);
dmu_tx_abort(tx);
+ iput(ip);
goto top;
}
dmu_tx_abort(tx);
+ iput(ip);
ZFS_EXIT(zsb);
return (error);
}
@@ -3025,8 +3029,6 @@ out:
ASSERT(err2 == 0);
}
- if (attrzp)
- iput(ZTOI(attrzp));
if (aclp)
zfs_acl_free(aclp);
@@ -3037,11 +3039,15 @@ out:
if (err) {
dmu_tx_abort(tx);
+ if (attrzp)
+ iput(ZTOI(attrzp));
if (err == ERESTART)
goto top;
} else {
err2 = sa_bulk_update(zp->z_sa_hdl, bulk, count, tx);
dmu_tx_commit(tx);
+ if (attrzp)
+ iput(ZTOI(attrzp));
zfs_inode_update(zp);
}
@@ -3074,7 +3080,7 @@ zfs_rename_unlock(zfs_zlock_t **zlpp)
while ((zl = *zlpp) != NULL) {
if (zl->zl_znode != NULL)
- iput(ZTOI(zl->zl_znode));
+ zfs_iput_async(ZTOI(zl->zl_znode));
rw_exit(zl->zl_rwlock);
*zlpp = zl->zl_next;
kmem_free(zl, sizeof (*zl));
@@ -3411,16 +3417,19 @@ top:
if (sdzp == tdzp)
rw_exit(&sdzp->z_name_lock);
- iput(ZTOI(szp));
- if (tzp)
- iput(ZTOI(tzp));
if (error == ERESTART) {
waited = B_TRUE;
dmu_tx_wait(tx);
dmu_tx_abort(tx);
+ iput(ZTOI(szp));
+ if (tzp)
+ iput(ZTOI(tzp));
goto top;
}
dmu_tx_abort(tx);
+ iput(ZTOI(szp));
+ if (tzp)
+ iput(ZTOI(tzp));
ZFS_EXIT(zsb);
return (error);
}
diff --git a/module/zfs/zio.c b/module/zfs/zio.c
index 2bc88c5..e06b7da 100644
--- a/module/zfs/zio.c
+++ b/module/zfs/zio.c
@@ -139,10 +139,10 @@ zio_init(void)
if (arc_watch && !IS_P2ALIGNED(size, PAGESIZE))
continue;
#endif
- if (size <= 4 * SPA_MINBLOCKSIZE) {
+ if (size < PAGESIZE) {
align = SPA_MINBLOCKSIZE;
} else if (IS_P2ALIGNED(size, p2 >> 2)) {
- align = MIN(p2 >> 2, PAGESIZE);
+ align = PAGESIZE;
}
if (align != 0) {
diff --git a/module/zfs/zpl_ctldir.c b/module/zfs/zpl_ctldir.c
index d691f67..50fb06b 100644
--- a/module/zfs/zpl_ctldir.c
+++ b/module/zfs/zpl_ctldir.c
@@ -100,16 +100,17 @@ zpl_root_readdir(struct file *filp, void *dirent, filldir_t filldir)
*/
/* ARGSUSED */
static int
-zpl_root_getattr(struct vfsmount *mnt, struct dentry *dentry,
- struct kstat *stat)
+zpl_root_getattr_impl(const struct path *path, struct kstat *stat,
+ u32 request_mask, unsigned int query_flags)
{
- int error;
+ struct inode *ip = path->dentry->d_inode;
- error = simple_getattr(mnt, dentry, stat);
- stat->atime = CURRENT_TIME;
+ generic_fillattr(ip, stat);
+ stat->atime = current_time(ip);
- return (error);
+ return (0);
}
+ZPL_GETATTR_WRAPPER(zpl_root_getattr);
static struct dentry *
#ifdef HAVE_LOOKUP_NAMEIDATA
@@ -375,21 +376,22 @@ zpl_snapdir_mkdir(struct inode *dip, struct dentry *dentry, zpl_umode_t mode)
*/
/* ARGSUSED */
static int
-zpl_snapdir_getattr(struct vfsmount *mnt, struct dentry *dentry,
- struct kstat *stat)
+zpl_snapdir_getattr_impl(const struct path *path, struct kstat *stat,
+ u32 request_mask, unsigned int query_flags)
{
- zfs_sb_t *zsb = ITOZSB(dentry->d_inode);
- int error;
+ struct inode *ip = path->dentry->d_inode;
+ zfs_sb_t *zsb = ITOZSB(path->dentry->d_inode);
ZFS_ENTER(zsb);
- error = simple_getattr(mnt, dentry, stat);
+ generic_fillattr(path->dentry->d_inode, stat);
stat->nlink = stat->size = 2;
stat->ctime = stat->mtime = dmu_objset_snap_cmtime(zsb->z_os);
- stat->atime = CURRENT_TIME;
+ stat->atime = current_time(ip);
ZFS_EXIT(zsb);
- return (error);
+ return (0);
}
+ZPL_GETATTR_WRAPPER(zpl_snapdir_getattr);
/*
* The '.zfs/snapshot' directory file operations. These mainly control
@@ -509,10 +511,10 @@ zpl_shares_readdir(struct file *filp, void *dirent, filldir_t filldir)
/* ARGSUSED */
static int
-zpl_shares_getattr(struct vfsmount *mnt, struct dentry *dentry,
- struct kstat *stat)
+zpl_shares_getattr_impl(const struct path *path, struct kstat *stat,
+ u32 request_mask, unsigned int query_flags)
{
- struct inode *ip = dentry->d_inode;
+ struct inode *ip = path->dentry->d_inode;
zfs_sb_t *zsb = ITOZSB(ip);
znode_t *dzp;
int error;
@@ -520,11 +522,11 @@ zpl_shares_getattr(struct vfsmount *mnt, struct dentry *dentry,
ZFS_ENTER(zsb);
if (zsb->z_shares_dir == 0) {
- error = simple_getattr(mnt, dentry, stat);
+ generic_fillattr(path->dentry->d_inode, stat);
stat->nlink = stat->size = 2;
- stat->atime = CURRENT_TIME;
+ stat->atime = current_time(ip);
ZFS_EXIT(zsb);
- return (error);
+ return (0);
}
error = -zfs_zget(zsb, zsb->z_shares_dir, &dzp);
@@ -538,6 +540,7 @@ zpl_shares_getattr(struct vfsmount *mnt, struct dentry *dentry,
return (error);
}
+ZPL_GETATTR_WRAPPER(zpl_shares_getattr);
/*
* The '.zfs/shares' directory file operations.
diff --git a/module/zfs/zpl_file.c b/module/zfs/zpl_file.c
index 19e8a62..8781d8c 100644
--- a/module/zfs/zpl_file.c
+++ b/module/zfs/zpl_file.c
@@ -857,9 +857,15 @@ const struct file_operations zpl_file_operations = {
.release = zpl_release,
.llseek = zpl_llseek,
#ifdef HAVE_VFS_RW_ITERATE
+#ifdef HAVE_NEW_SYNC_READ
+ .read = new_sync_read,
+ .write = new_sync_write,
+#endif
.read_iter = zpl_iter_read,
.write_iter = zpl_iter_write,
#else
+ .read = do_sync_read,
+ .write = do_sync_write,
.aio_read = zpl_aio_read,
.aio_write = zpl_aio_write,
#endif
diff --git a/module/zfs/zpl_inode.c b/module/zfs/zpl_inode.c
index 1714aa2..18401fe 100644
--- a/module/zfs/zpl_inode.c
+++ b/module/zfs/zpl_inode.c
@@ -50,7 +50,7 @@ zpl_lookup(struct inode *dir, struct dentry *dentry, unsigned int flags)
int zfs_flags = 0;
zfs_sb_t *zsb = dentry->d_sb->s_fs_info;
- if (dlen(dentry) > ZFS_MAXNAMELEN)
+ if (dlen(dentry) >= ZAP_MAXNAMELEN)
return (ERR_PTR(-ENAMETOOLONG));
crhold(cr);
@@ -302,18 +302,25 @@ zpl_rmdir(struct inode * dir, struct dentry *dentry)
}
static int
-zpl_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat)
+zpl_getattr_impl(const struct path *path, struct kstat *stat, u32 request_mask,
+ unsigned int query_flags)
{
int error;
fstrans_cookie_t cookie;
cookie = spl_fstrans_mark();
- error = -zfs_getattr_fast(dentry->d_inode, stat);
+
+ /*
+ * XXX request_mask and query_flags currently ignored.
+ */
+
+ error = -zfs_getattr_fast(path->dentry->d_inode, stat);
spl_fstrans_unmark(cookie);
ASSERT3S(error, <=, 0);
return (error);
}
+ZPL_GETATTR_WRAPPER(zpl_getattr);
static int
zpl_setattr(struct dentry *dentry, struct iattr *ia)
@@ -550,7 +557,7 @@ zpl_link(struct dentry *old_dentry, struct inode *dir, struct dentry *dentry)
return (-EMLINK);
crhold(cr);
- ip->i_ctime = CURRENT_TIME_SEC;
+ ip->i_ctime = current_time(ip);
igrab(ip); /* Use ihold() if available */
cookie = spl_fstrans_mark();
diff --git a/module/zfs/zpl_xattr.c b/module/zfs/zpl_xattr.c
index 5896207..b74b53a 100644
--- a/module/zfs/zpl_xattr.c
+++ b/module/zfs/zpl_xattr.c
@@ -938,7 +938,6 @@ xattr_handler_t zpl_xattr_security_handler = {
int
zpl_set_acl(struct inode *ip, struct posix_acl *acl, int type)
{
- struct super_block *sb = ITOZSB(ip)->z_sb;
char *name, *value = NULL;
int error = 0;
size_t size = 0;
@@ -964,7 +963,7 @@ zpl_set_acl(struct inode *ip, struct posix_acl *acl, int type)
*/
if (ip->i_mode != mode) {
ip->i_mode = mode;
- ip->i_ctime = current_fs_time(sb);
+ ip->i_ctime = current_time(ip);
zfs_mark_inode_dirty(ip);
}
@@ -1130,7 +1129,7 @@ zpl_init_acl(struct inode *ip, struct inode *dir)
if (!acl) {
ip->i_mode &= ~current_umask();
- ip->i_ctime = current_fs_time(ITOZSB(ip)->z_sb);
+ ip->i_ctime = current_time(ip);
zfs_mark_inode_dirty(ip);
return (0);
}
diff --git a/module/zpios/zpios.mod.c b/module/zpios/zpios.mod.c
new file mode 100644
index 0000000..deaeebe
--- /dev/null
+++ b/module/zpios/zpios.mod.c
@@ -0,0 +1,85 @@
+#include <linux/module.h>
+#include <linux/vermagic.h>
+#include <linux/compiler.h>
+
+MODULE_INFO(vermagic, VERMAGIC_STRING);
+
+struct module __this_module
+__attribute__((section(".gnu.linkonce.this_module"))) = {
+ .name = KBUILD_MODNAME,
+ .init = init_module,
+#ifdef CONFIG_MODULE_UNLOAD
+ .exit = cleanup_module,
+#endif
+ .arch = MODULE_ARCH_INIT,
+};
+
+static const struct modversion_info ____versions[]
+__used
+__attribute__((section("__versions"))) = {
+ { 0x28950ef1, __VMLINUX_SYMBOL_STR(module_layout) },
+ { 0x6023ff19, __VMLINUX_SYMBOL_STR(dmu_tx_hold_free) },
+ { 0x8297790d, __VMLINUX_SYMBOL_STR(dmu_objset_create) },
+ { 0xe1a07d40, __VMLINUX_SYMBOL_STR(dmu_object_set_blocksize) },
+ { 0xda3e43d1, __VMLINUX_SYMBOL_STR(_raw_spin_unlock) },
+ { 0xee176c65, __VMLINUX_SYMBOL_STR(dmu_tx_abort) },
+ { 0xc8b57c27, __VMLINUX_SYMBOL_STR(autoremove_wake_function) },
+ { 0x79aa04a2, __VMLINUX_SYMBOL_STR(get_random_bytes) },
+ { 0x34184afe, __VMLINUX_SYMBOL_STR(current_kernel_time) },
+ { 0xb46da392, __VMLINUX_SYMBOL_STR(dmu_tx_wait) },
+ { 0xb342d16a, __VMLINUX_SYMBOL_STR(spl_kmem_alloc) },
+ { 0x4ed12f73, __VMLINUX_SYMBOL_STR(mutex_unlock) },
+ { 0xc35e4b4e, __VMLINUX_SYMBOL_STR(kthread_create_on_node) },
+ { 0xbc32eee7, __VMLINUX_SYMBOL_STR(spl_panic) },
+ { 0x35c2dc4c, __VMLINUX_SYMBOL_STR(dmu_tx_commit) },
+ { 0xf432dd3d, __VMLINUX_SYMBOL_STR(__init_waitqueue_head) },
+ { 0x71de9b3f, __VMLINUX_SYMBOL_STR(_copy_to_user) },
+ { 0xf23b2e74, __VMLINUX_SYMBOL_STR(misc_register) },
+ { 0xfb578fc5, __VMLINUX_SYMBOL_STR(memset) },
+ { 0xb8c7ff88, __VMLINUX_SYMBOL_STR(current_task) },
+ { 0x9a025cd5, __VMLINUX_SYMBOL_STR(__mutex_init) },
+ { 0x27e1a049, __VMLINUX_SYMBOL_STR(printk) },
+ { 0x42f90a31, __VMLINUX_SYMBOL_STR(kthread_stop) },
+ { 0x9e68e189, __VMLINUX_SYMBOL_STR(dmu_objset_disown) },
+ { 0x9166fada, __VMLINUX_SYMBOL_STR(strncpy) },
+ { 0x9abdea30, __VMLINUX_SYMBOL_STR(mutex_lock) },
+ { 0x6c2c274e, __VMLINUX_SYMBOL_STR(spl_vmem_zalloc) },
+ { 0xc5fdef94, __VMLINUX_SYMBOL_STR(call_usermodehelper) },
+ { 0x96f73dc7, __VMLINUX_SYMBOL_STR(dmu_write) },
+ { 0x952664c5, __VMLINUX_SYMBOL_STR(do_exit) },
+ { 0x7da403ec, __VMLINUX_SYMBOL_STR(dsl_destroy_head) },
+ { 0x99d9f249, __VMLINUX_SYMBOL_STR(dmu_objset_own) },
+ { 0xc0fdaa0f, __VMLINUX_SYMBOL_STR(dmu_object_free) },
+ { 0xf0fdf6cb, __VMLINUX_SYMBOL_STR(__stack_chk_fail) },
+ { 0xd62c833f, __VMLINUX_SYMBOL_STR(schedule_timeout) },
+ { 0x1000e51, __VMLINUX_SYMBOL_STR(schedule) },
+ { 0x4b2a14f9, __VMLINUX_SYMBOL_STR(dmu_object_alloc) },
+ { 0xfe172afe, __VMLINUX_SYMBOL_STR(spl_vmem_alloc) },
+ { 0xe65cdceb, __VMLINUX_SYMBOL_STR(wake_up_process) },
+ { 0x23bd73ce, __VMLINUX_SYMBOL_STR(dmu_tx_create) },
+ { 0xbdfb6dbb, __VMLINUX_SYMBOL_STR(__fentry__) },
+ { 0xd52bf1ce, __VMLINUX_SYMBOL_STR(_raw_spin_lock) },
+ { 0xcf21d241, __VMLINUX_SYMBOL_STR(__wake_up) },
+ { 0x69acdf38, __VMLINUX_SYMBOL_STR(memcpy) },
+ { 0x5c8b5ce8, __VMLINUX_SYMBOL_STR(prepare_to_wait) },
+ { 0xfa66f77c, __VMLINUX_SYMBOL_STR(finish_wait) },
+ { 0x1acff3a1, __VMLINUX_SYMBOL_STR(dmu_tx_assign) },
+ { 0x28318305, __VMLINUX_SYMBOL_STR(snprintf) },
+ { 0x6d16801a, __VMLINUX_SYMBOL_STR(spl_kmem_free) },
+ { 0x5648b508, __VMLINUX_SYMBOL_STR(dmu_read) },
+ { 0xff749bc, __VMLINUX_SYMBOL_STR(spl_vmem_free) },
+ { 0x77e2f33, __VMLINUX_SYMBOL_STR(_copy_from_user) },
+ { 0x2482e688, __VMLINUX_SYMBOL_STR(vsprintf) },
+ { 0xa1012e43, __VMLINUX_SYMBOL_STR(misc_deregister) },
+ { 0xd920669e, __VMLINUX_SYMBOL_STR(dmu_tx_hold_write) },
+ { 0x9b0325e8, __VMLINUX_SYMBOL_STR(spl_kmem_zalloc) },
+};
+
+static const char __module_depends[]
+__used
+__attribute__((section(".modinfo"))) =
+"depends=zfs,spl";
+
+
+MODULE_INFO(srcversion, "6224A8554C1154556C8A26B");
+MODULE_INFO(rhelversion, "7.3");
diff --git a/rpm/Makefile.in b/rpm/Makefile.in
index a227e56..f000abc 100644
--- a/rpm/Makefile.in
+++ b/rpm/Makefile.in
@@ -98,7 +98,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -116,6 +116,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -137,6 +138,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/rpm/generic/Makefile.in b/rpm/generic/Makefile.in
index c451904..3668627 100644
--- a/rpm/generic/Makefile.in
+++ b/rpm/generic/Makefile.in
@@ -98,7 +98,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -116,6 +116,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -137,6 +138,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/rpm/generic/zfs-kmod.spec.in b/rpm/generic/zfs-kmod.spec.in
index 99496a6..fa9db93 100644
--- a/rpm/generic/zfs-kmod.spec.in
+++ b/rpm/generic/zfs-kmod.spec.in
@@ -186,6 +186,29 @@ chmod u+x ${RPM_BUILD_ROOT}%{kmodinstdir_prefix}/*/extra/*/*/*
rm -rf $RPM_BUILD_ROOT
%changelog
+* Mon Jun 12 2017 Tony Hutter <hutter2 at llnl.gov> - 0.6.5.10-1
+- OpenZFS 8005 - poor performance of 1MB writes on certain RAID-Z configurations zfsonlinux/zfs#5931
+- Add MS_MANDLOCK mount failure message zfsonlinux/zfs#4729 zfsonlinux/zfs#6199
+- Fix import wrong spare/l2 device when path change zfsonlinux/zfs#6158
+- Fix import finding spare/l2cache when path changes zfsonlinux/zfs#6158
+- Linux 4.9 compat: fix zfs_ctldir xattr handling zfsonlinux/zfs#6189
+- Linux 4.12 compat: fix super_setup_bdi_name() call zfsonlinux/zfs#6147
+- Linux 4.12 compat: CURRENT_TIME removed zfsonlinux/zfs#6114
+- Linux 4.12 compat: super_setup_bdi_name() zfsonlinux/zfs#6089
+- Limit zfs_dirty_data_max_max to 4G zfsonlinux/zfs#6072 zfsonlinux/zfs#6081
+- OpenZFS 8166 - zpool scrub thinks it repaired offline device zfsonlinux/zfs#5806 zfsonlinux/zfs#6103
+- vdev_id: fix failure due to multipath -l bug zfsonlinux/zfs#6039
+- Guarantee PAGESIZE alignment for large zio buffers zfsonlinux/zfs#6084
+- Fix harmless "BARRIER is deprecated" kernel warning on Centos 6.8 zfsonlinux/zfs#5739 zfsonlinux/zfs#5828
+- Add kmap_atomic in dmu_bio_copy- zdb: segfault in dump_bpobj_subobjs() zfsonlinux/zfs#3905
+- Fix atomic_sub_64() i386 assembly implementation zfsonlinux/zfs#5671 zfsonlinux/zfs#5717
+- Fix loop device becomes read-only zfsonlinux/zfs#5776 zfsonlinux/zfs#5855
+- Allow ZVOL bookmarks to be listed recursively zfsonlinux/zfs#4503 zfsonlinux/zfs#5072
+- Fix zfs-mount.service failure on boot zfsonlinux/zfs#5719
+- Fix iput() calls within a tx zfsonlinux/zfs#5758
+- Fix off by one in zpl_lookup zfsonlinux/zfs#5768
+- Linux 4.11 compat: iops.getattr and friends zfsonlinux/zfs#5875
+- Linux 4.11 compat: avoid refcount_t name conflict zfsonlinux/zfs#5823 zfsonlinux/zfs#5842
* Fri Feb 3 2017 Brian Behlendorf <behlendorf1 at llnl.gov> - 0.6.5.9-1
- Use large stacks when available zfsonlinux/zfs#4059
- Use set_cached_acl() and forget_cached_acl() when possible zfsonlinux/zfs#5378
diff --git a/rpm/generic/zfs.spec.in b/rpm/generic/zfs.spec.in
index f1f8095..ac00233 100644
--- a/rpm/generic/zfs.spec.in
+++ b/rpm/generic/zfs.spec.in
@@ -328,6 +328,29 @@ exit 0
%endif
%changelog
+* Mon Jun 12 2017 Tony Hutter <hutter2 at llnl.gov> - 0.6.5.10-1
+- OpenZFS 8005 - poor performance of 1MB writes on certain RAID-Z configurations zfsonlinux/zfs#5931
+- Add MS_MANDLOCK mount failure message zfsonlinux/zfs#4729 zfsonlinux/zfs#6199
+- Fix import wrong spare/l2 device when path change zfsonlinux/zfs#6158
+- Fix import finding spare/l2cache when path changes zfsonlinux/zfs#6158
+- Linux 4.9 compat: fix zfs_ctldir xattr handling zfsonlinux/zfs#6189
+- Linux 4.12 compat: fix super_setup_bdi_name() call zfsonlinux/zfs#6147
+- Linux 4.12 compat: CURRENT_TIME removed zfsonlinux/zfs#6114
+- Linux 4.12 compat: super_setup_bdi_name() zfsonlinux/zfs#6089
+- Limit zfs_dirty_data_max_max to 4G zfsonlinux/zfs#6072 zfsonlinux/zfs#6081
+- OpenZFS 8166 - zpool scrub thinks it repaired offline device zfsonlinux/zfs#5806 zfsonlinux/zfs#6103
+- vdev_id: fix failure due to multipath -l bug zfsonlinux/zfs#6039
+- Guarantee PAGESIZE alignment for large zio buffers zfsonlinux/zfs#6084
+- Fix harmless "BARRIER is deprecated" kernel warning on Centos 6.8 zfsonlinux/zfs#5739 zfsonlinux/zfs#5828
+- Add kmap_atomic in dmu_bio_copy- zdb: segfault in dump_bpobj_subobjs() zfsonlinux/zfs#3905
+- Fix atomic_sub_64() i386 assembly implementation zfsonlinux/zfs#5671 zfsonlinux/zfs#5717
+- Fix loop device becomes read-only zfsonlinux/zfs#5776 zfsonlinux/zfs#5855
+- Allow ZVOL bookmarks to be listed recursively zfsonlinux/zfs#4503 zfsonlinux/zfs#5072
+- Fix zfs-mount.service failure on boot zfsonlinux/zfs#5719
+- Fix iput() calls within a tx zfsonlinux/zfs#5758
+- Fix off by one in zpl_lookup zfsonlinux/zfs#5768
+- Linux 4.11 compat: iops.getattr and friends zfsonlinux/zfs#5875
+- Linux 4.11 compat: avoid refcount_t name conflict zfsonlinux/zfs#5823 zfsonlinux/zfs#5842
* Fri Feb 3 2017 Brian Behlendorf <behlendorf1 at llnl.gov> - 0.6.5.9-1
- Use large stacks when available zfsonlinux/zfs#4059
- Use set_cached_acl() and forget_cached_acl() when possible zfsonlinux/zfs#5378
diff --git a/rpm/redhat/Makefile.in b/rpm/redhat/Makefile.in
index a7edee9..5448ee1 100644
--- a/rpm/redhat/Makefile.in
+++ b/rpm/redhat/Makefile.in
@@ -98,7 +98,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -116,6 +116,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -137,6 +138,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/rpm/redhat/zfs.spec.in b/rpm/redhat/zfs.spec.in
index f1f8095..ac00233 100644
--- a/rpm/redhat/zfs.spec.in
+++ b/rpm/redhat/zfs.spec.in
@@ -328,6 +328,29 @@ exit 0
%endif
%changelog
+* Mon Jun 12 2017 Tony Hutter <hutter2 at llnl.gov> - 0.6.5.10-1
+- OpenZFS 8005 - poor performance of 1MB writes on certain RAID-Z configurations zfsonlinux/zfs#5931
+- Add MS_MANDLOCK mount failure message zfsonlinux/zfs#4729 zfsonlinux/zfs#6199
+- Fix import wrong spare/l2 device when path change zfsonlinux/zfs#6158
+- Fix import finding spare/l2cache when path changes zfsonlinux/zfs#6158
+- Linux 4.9 compat: fix zfs_ctldir xattr handling zfsonlinux/zfs#6189
+- Linux 4.12 compat: fix super_setup_bdi_name() call zfsonlinux/zfs#6147
+- Linux 4.12 compat: CURRENT_TIME removed zfsonlinux/zfs#6114
+- Linux 4.12 compat: super_setup_bdi_name() zfsonlinux/zfs#6089
+- Limit zfs_dirty_data_max_max to 4G zfsonlinux/zfs#6072 zfsonlinux/zfs#6081
+- OpenZFS 8166 - zpool scrub thinks it repaired offline device zfsonlinux/zfs#5806 zfsonlinux/zfs#6103
+- vdev_id: fix failure due to multipath -l bug zfsonlinux/zfs#6039
+- Guarantee PAGESIZE alignment for large zio buffers zfsonlinux/zfs#6084
+- Fix harmless "BARRIER is deprecated" kernel warning on Centos 6.8 zfsonlinux/zfs#5739 zfsonlinux/zfs#5828
+- Add kmap_atomic in dmu_bio_copy- zdb: segfault in dump_bpobj_subobjs() zfsonlinux/zfs#3905
+- Fix atomic_sub_64() i386 assembly implementation zfsonlinux/zfs#5671 zfsonlinux/zfs#5717
+- Fix loop device becomes read-only zfsonlinux/zfs#5776 zfsonlinux/zfs#5855
+- Allow ZVOL bookmarks to be listed recursively zfsonlinux/zfs#4503 zfsonlinux/zfs#5072
+- Fix zfs-mount.service failure on boot zfsonlinux/zfs#5719
+- Fix iput() calls within a tx zfsonlinux/zfs#5758
+- Fix off by one in zpl_lookup zfsonlinux/zfs#5768
+- Linux 4.11 compat: iops.getattr and friends zfsonlinux/zfs#5875
+- Linux 4.11 compat: avoid refcount_t name conflict zfsonlinux/zfs#5823 zfsonlinux/zfs#5842
* Fri Feb 3 2017 Brian Behlendorf <behlendorf1 at llnl.gov> - 0.6.5.9-1
- Use large stacks when available zfsonlinux/zfs#4059
- Use set_cached_acl() and forget_cached_acl() when possible zfsonlinux/zfs#5378
diff --git a/scripts/Makefile.in b/scripts/Makefile.in
index df05a7b..d776115 100644
--- a/scripts/Makefile.in
+++ b/scripts/Makefile.in
@@ -98,7 +98,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -116,6 +116,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -137,6 +138,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/scripts/zpios-profile/Makefile.in b/scripts/zpios-profile/Makefile.in
index 8658cb1..e8f303e 100644
--- a/scripts/zpios-profile/Makefile.in
+++ b/scripts/zpios-profile/Makefile.in
@@ -99,7 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -117,6 +117,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -138,6 +139,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/scripts/zpios-test/Makefile.in b/scripts/zpios-test/Makefile.in
index fd0005d..0a0025d 100644
--- a/scripts/zpios-test/Makefile.in
+++ b/scripts/zpios-test/Makefile.in
@@ -99,7 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -117,6 +117,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -138,6 +139,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/scripts/zpool-config/Makefile.in b/scripts/zpool-config/Makefile.in
index 8d4a9b6..e939229 100644
--- a/scripts/zpool-config/Makefile.in
+++ b/scripts/zpool-config/Makefile.in
@@ -99,7 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -117,6 +117,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -138,6 +139,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/udev/Makefile.in b/udev/Makefile.in
index 6744f6b..3312f68 100644
--- a/udev/Makefile.in
+++ b/udev/Makefile.in
@@ -98,7 +98,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -116,6 +116,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -137,6 +138,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/udev/rules.d/Makefile.in b/udev/rules.d/Makefile.in
index 3cbe910..a2fa048 100644
--- a/udev/rules.d/Makefile.in
+++ b/udev/rules.d/Makefile.in
@@ -99,7 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-bdev-block-device-operations.m4 \
$(top_srcdir)/config/kernel-bdev-logical-size.m4 \
$(top_srcdir)/config/kernel-bdev-physical-size.m4 \
- $(top_srcdir)/config/kernel-bdi-setup-and-register.m4 \
+ $(top_srcdir)/config/kernel-bdi.m4 \
$(top_srcdir)/config/kernel-bio-bvec-iter.m4 \
$(top_srcdir)/config/kernel-bio-end-io-t-args.m4 \
$(top_srcdir)/config/kernel-bio-failfast.m4 \
@@ -117,6 +117,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-clear-inode.m4 \
$(top_srcdir)/config/kernel-commit-metadata.m4 \
$(top_srcdir)/config/kernel-create-nameidata.m4 \
+ $(top_srcdir)/config/kernel-current-time.m4 \
$(top_srcdir)/config/kernel-current_bio_tail.m4 \
$(top_srcdir)/config/kernel-d-make-root.m4 \
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
@@ -138,6 +139,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/always-no-bool-compare.m4 \
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
$(top_srcdir)/config/kernel-get-gendisk.m4 \
$(top_srcdir)/config/kernel-get-link.m4 \
+ $(top_srcdir)/config/kernel-inode-getattr.m4 \
$(top_srcdir)/config/kernel-insert-inode-locked.m4 \
$(top_srcdir)/config/kernel-invalidate-bdev-args.m4 \
$(top_srcdir)/config/kernel-is_owner_or_cap.m4 \
diff --git a/zfs_config.h.in b/zfs_config.h.in
index 7b9a0e2..2304191 100644
--- a/zfs_config.h.in
+++ b/zfs_config.h.in
@@ -129,6 +129,9 @@
/* current->bio_tail exists */
#undef HAVE_CURRENT_BIO_TAIL
+/* current_time() exists */
+#undef HAVE_CURRENT_TIME
+
/* DECLARE_EVENT_CLASS() is available */
#undef HAVE_DECLARE_EVENT_CLASS
@@ -285,12 +288,18 @@
/* mount_nodev() is available */
#undef HAVE_MOUNT_NODEV
+/* new_sync_read() is available */
+#undef HAVE_NEW_SYNC_READ
+
/* sops->nr_cached_objects() exists */
#undef HAVE_NR_CACHED_OBJECTS
/* open_bdev_exclusive() is available */
#undef HAVE_OPEN_BDEV_EXCLUSIVE
+/* iops->getattr() takes a path */
+#undef HAVE_PATH_IOPS_GETATTR
+
/* iops->permission() exists */
#undef HAVE_PERMISSION
@@ -369,6 +378,9 @@
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
+/* super_setup_bdi_name() exits */
+#undef HAVE_SUPER_SETUP_BDI_NAME
+
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
@@ -387,6 +399,9 @@
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
+/* iops->getattr() takes a vfsmount */
+#undef HAVE_VFSMOUNT_IOPS_GETATTR
+
/* fops->iterate() is available */
#undef HAVE_VFS_ITERATE
--
UNNAMED PROJECT
More information about the Pkg-zfsonlinux-devel
mailing list