nfsclient: fix panic in cache_enter_time()
Juraj Lutter (otis@) reported a panic "dvp != vp not true" in cache_enter_time() called from the NFS client's nfsrpc_readdirplus() function. This is specific to an NFSv3 mount with the "rdirplus" mount option. Unlike NFSv4, NFSv3 replies to ReaddirPlus includes entries for the current directory. This trivial patch avoids doing a cache_enter_time() call for the current directory to avoid the panic. Reported by: otis Tested by: otis Reviewed by: mjg MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D28969
This commit is contained in:
parent
b5449c92b4
commit
3fe2c68ba2
@ -3761,6 +3761,7 @@ nfsrpc_readdirplus(vnode_t vp, struct uio *uiop, nfsuint64 *cookiep,
|
||||
ndp->ni_vp = newvp;
|
||||
NFSCNHASH(cnp, HASHINIT);
|
||||
if (cnp->cn_namelen <= NCHNAMLEN &&
|
||||
ndp->ni_dvp != ndp->ni_vp &&
|
||||
(newvp->v_type != VDIR ||
|
||||
dctime.tv_sec != 0)) {
|
||||
cache_enter_time(ndp->ni_dvp,
|
||||
|
Loading…
Reference in New Issue
Block a user