zfs/config
Pavel Snajdr 5a6ac4cffc Remove zpl_revalidate
This patch removes the need for zpl_revalidate altogether.

There were 3 main reasons why we used d_revalidate:

1. periodic automounted snapshots umount deferral
2. negative dentries created before snapshot rollback
3. stale inodes referenced by dentry cache after snapshot rollback

Periodic snapshots deferral solution introduces zfs_exit_fs function,
which is called as a part of ZFS_EXIT(zfsvfs_t) macro.

Negative dentries and stale inodes are solved by flushing the dcache
for the particular dataset on zfs_resume_fs call.

This patch also removes now unused HAVE_S_D_OP configure test.

Reviewed-by: Aleksa Sarai <cyphar@cyphar.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Pavel Snajdr <snajpa@snajpa.net>
Closes #8774 
Closes #9549
2019-11-11 09:34:21 -08:00
..
.gitignore Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
Rules.am OpenZFS restructuring - libspl 2019-10-02 10:39:48 -07:00
always-arch.m4 Illumos Crypto Port module added to enable native encryption in zfs 2016-07-20 10:43:30 -07:00
always-compiler-options.m4 compile with -fno-omit-frame-pointer 2019-04-14 11:04:54 -07:00
always-python.m4 Python config cleanup 2019-06-13 13:15:46 -07:00
always-pyzfs.m4 Python config cleanup 2019-06-13 13:15:46 -07:00
always-sed.m4 Detect if sed supports --in-place 2019-10-16 19:19:48 -07:00
always-system.m4 OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
ax_code_coverage.m4 Fix typos in config/ 2019-08-30 09:40:30 -07:00
ax_python_devel.m4 Adopt pyzfs from ClusterHQ 2018-05-01 10:33:35 -07:00
ax_restore_flags.m4 config: better libtirpc detection 2019-03-02 16:19:05 -08:00
ax_save_flags.m4 config: better libtirpc detection 2019-03-02 16:19:05 -08:00
config.awk Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
config.rpath Prevent `make distclean` removing config/config.rpath 2019-04-26 11:22:14 -07:00
deb.am Fix dracut Debian/Ubuntu packaging 2019-07-09 09:28:05 -07:00
find_system_library.m4 config: better libtirpc detection 2019-03-02 16:19:05 -08:00
gettext.m4 config: libintl/libiconv for gettext() detection 2019-04-19 12:09:29 -07:00
host-cpu-c-abi.m4 config: libintl/libiconv for gettext() detection 2019-04-19 12:09:29 -07:00
iconv.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
intlmacosx.m4 config: libintl/libiconv for gettext() detection 2019-04-19 12:09:29 -07:00
kernel-access-ok-type.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-acl-refcount.m4 Linux 4.16 compat: use correct *_dec_and_test() 2018-02-22 09:02:06 -08:00
kernel-acl.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-aio-fsync.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-automount.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-bdev-logical-size.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-bdev-physical-size.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-bdi.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-bio-bvec-iter.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-bio-end-io-t-args.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-bio-failfast.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-bio-op.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-bio-rw-barrier.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-bio-rw-discard.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-bio_set_dev.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-blk-queue-bdi.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-blk-queue-discard.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-blk-queue-flags.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-blk-queue-flush.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-blk-queue-max-hw-sectors.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-blk-queue-max-segments.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-blk-queue-unplug.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-blkdev-get-by-path.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-blkdev-reread-part.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-block-device-operations.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-clear-inode.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-commit-metadata.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-config-defined.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-create-nameidata.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-ctl-table-name.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-current-time.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-current_bio_tail.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-declare-event-class.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-dentry-operations.m4 Remove zpl_revalidate 2019-11-11 09:34:21 -08:00
kernel-dirty-inode.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-discard-granularity.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-elevator-change.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-encode-fh-inode.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-evict-inode.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-fallocate.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-file-dentry.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-file-inode.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-fmode-t.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-follow-down-one.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-fpu.m4 Linux 4.14, 4.19, 5.0+ compat: SIMD save/restore 2019-10-24 10:17:33 -07:00
kernel-fst-mount.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-fsync.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-generic_io_acct.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-generic_readlink.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-get-disk-and-module.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-get-disk-ro.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-get-link.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-global_page_state.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-group-info.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-in-compat-syscall.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-inode-getattr.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-inode-lock.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-inode-set-flags.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-inode-set-iversion.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-inode-times.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-insert-inode-locked.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-invalidate-bdev-args.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-is_owner_or_cap.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-kmap-atomic-args.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-kmem-cache.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-kmem.m4 Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
kernel-kstrtoul.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-ktime_get_coarse_real_ts64.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-kuid-helpers.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-kuidgid.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-lookup-bdev.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-lookup-nameidata.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-lseek-execute.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-make-request-fn.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-misc-minor.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-mkdir-umode-t.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-mod-param.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-objtool.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-open-bdev-exclusive.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-pde-data.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-put-link.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-rename.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-rw.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-rwsem.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-sched.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-security-inode-init.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-set-nlink.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-setattr-prepare.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-sget-args.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-show-options.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-shrink.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-submit_bio.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-super-userns.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-timer.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-tmpfile.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-totalhigh_pages.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-totalram-pages-func.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-truncate-range.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-truncate-setsize.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-userns-capabilities.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-usleep_range.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-vfs-direct_IO.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-vfs-fsync.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-vfs-getattr.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-vfs-iterate.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-vfs-rw-iterate.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-wait.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-xattr-handler.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-zlib.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
lib-ld.m4 config: libintl/libiconv for gettext() detection 2019-04-19 12:09:29 -07:00
lib-link.m4 Fix typos in config/ 2019-08-30 09:40:30 -07:00
lib-prefix.m4 config: libintl/libiconv for gettext() detection 2019-04-19 12:09:29 -07:00
mount-helper.m4 The mount helper mount.zfs MUST be in /sbin (not '$sbindir'). 2015-05-18 16:54:36 -07:00
nls.m4 config: libintl/libiconv for gettext() detection 2019-04-19 12:09:29 -07:00
pkg.m4 Fix typos in config/ 2019-08-30 09:40:30 -07:00
po.m4 config: libintl/libiconv for gettext() detection 2019-04-19 12:09:29 -07:00
progtest.m4 config: libintl/libiconv for gettext() detection 2019-04-19 12:09:29 -07:00
rpm.am Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
suppressed-warnings.txt Suppress packaging warning 2011-11-08 11:32:04 -08:00
tgz.am Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
toolchain-simd.m4 Add support for selecting encryption backend 2018-08-02 11:59:24 -07:00
user-dracut.m4 Accept udev and dracut paths specified by ./configure 2014-06-11 16:32:57 -07:00
user-gettext.m4 config: libintl/libiconv for gettext() detection 2019-04-19 12:09:29 -07:00
user-libaio.m4 Fix mmap / libaio deadlock 2018-03-28 10:19:22 -07:00
user-libblkid.m4 Fix config issues: frame size and headers 2018-02-15 12:58:23 -08:00
user-libexec.m4 Tunable directory for zfs runtime scripts 2018-06-07 09:59:59 -07:00
user-libssl.m4 Fix config issues: frame size and headers 2018-02-15 12:58:23 -08:00
user-libtirpc.m4 config: better libtirpc detection 2019-03-02 16:19:05 -08:00
user-libudev.m4 Fix WANT_DEVNAME2DEVID configure error 2016-04-01 09:06:54 -07:00
user-libuuid.m4 Cleanup linking 2016-03-18 13:31:11 -07:00
user-makedev.m4 glibc 2.5 compat: use correct header for makedev() et al. 2017-03-31 09:32:00 -07:00
user-runstatedir.m4 Add defs for makefile installation dir vars 2014-03-31 16:11:13 -07:00
user-systemd.m4 Fix systemd spec file macros 2018-11-11 18:06:36 -08:00
user-sysvinit.m4 Add systemd unit files for ZFS startup 2014-02-05 12:25:30 -08:00
user-udev.m4 Accept udev and dracut paths specified by ./configure 2014-06-11 16:32:57 -07:00
user-zlib.m4 Cleanup linking 2016-03-18 13:31:11 -07:00
user.m4 Fix typos in config/ 2019-08-30 09:40:30 -07:00
zfs-build.m4 Detect if sed supports --in-place 2019-10-16 19:19:48 -07:00
zfs-meta.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00