diff options
author | rmacklem <rmacklem@FreeBSD.org> | 2013-12-31 22:00:25 +0000 |
---|---|---|
committer | rmacklem <rmacklem@FreeBSD.org> | 2013-12-31 22:00:25 +0000 |
commit | 0b3ac62883e350fd41c5565331525f6ba9ff38c0 (patch) | |
tree | d519dc0789cf9e55c52721342231b59f0464d159 /sys/fs/nfs | |
parent | 0d5a6b8a1adda2edb7fe84dd123097c69cf85dd8 (diff) | |
download | FreeBSD-src-0b3ac62883e350fd41c5565331525f6ba9ff38c0.zip FreeBSD-src-0b3ac62883e350fd41c5565331525f6ba9ff38c0.tar.gz |
MFC: r259845
An intermittent problem with NFSv4 exporting of ZFS snapshots was
reported to the freebsd-fs mailing list. I believe the problem was
caused by the Readdir operation using VFS_VGET() for a snapshot file entry
instead of VOP_LOOKUP(). This would not occur for NFSv3, since it
will do a VFS_VGET() of "." which fails with ENOTSUPP at the beginning
of the directory, whereas NFSv4 does not check "." or "..". This
patch adds a call to VFS_VGET() for the directory being read to check
for ENOTSUPP.
I also observed that the mount_on_fileid and fsid attributes were
not correct at the snapshot's auto mountpoints when looking at packet
traces for the Readdir. This patch fixes the attributes by doing a check
for different v_mount structure, even if the vnode v_mountedhere is not
set.
Diffstat (limited to 'sys/fs/nfs')
0 files changed, 0 insertions, 0 deletions