zfs/lib
Chunwei Chen 9b77d1c958 Fix nfs snapdir automount
The current implementation for allowing nfs to access snapdir is very buggy.
It uses a special fh for snapdirs, such that the next time nfsd does
fh_to_dentry, it actually returns the root inode inside the snapshot. So nfsd
never knows it cross a mountpoint.

The problem is that nfsd will not hold a reference on the vfsmount of the
snapshot. This cause auto unmounter to unmount the snapshot even though nfs is
still holding dentries in it.

To fix this, we return the inode for the snapdirs themselves. However, we also
trigger automount upon fh_to_dentry, and return ESTALE so nfsd will revalidate
and see the mountpoint and do crossmnt.

Because nfsd will now be aware that these are different filesystems users
must add crossmnt to their export options to access snapshot directories.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Chunwei Chen <david.chen@osnexus.com>
Closes #3794
Closes #4716
Closes #5810 
Closes #5833
2017-03-08 09:26:33 -08:00
..
libavl Support parallel build trees (VPATH builds) 2015-07-17 13:42:51 -07:00
libefi Fixes for issues found with cppcheck tool 2016-07-27 13:31:22 -07:00
libicp OpenZFS 4185 - add new cryptographic checksums to ZFS: SHA-512, Skein, Edon-R 2016-10-03 14:51:15 -07:00
libnvpair codebase style improvements for OpenZFS 6459 port 2017-01-22 13:25:40 -08:00
libshare Fix nfs snapdir automount 2017-03-08 09:26:33 -08:00
libspl Fix powerpc build 2017-03-06 09:17:24 -08:00
libunicode Support parallel build trees (VPATH builds) 2015-07-17 13:42:51 -07:00
libuutil Fix coverity defects: CID 147629 2016-11-08 16:41:31 -08:00
libzfs Fix checksumflags assignment in cksummer 2017-02-24 11:29:47 -08:00
libzfs_core OpenZFS 7745 - print error if lzc_* is called before libzfs_core_init 2017-01-31 10:48:45 -08:00
libzpool OpenZFS 7280 - Allow changing global libzpool variables in zdb and ztest through command line 2017-01-31 10:13:10 -08:00
Makefile.am Illumos Crypto Port module added to enable native encryption in zfs 2016-07-20 10:43:30 -07:00