Fix the handling of dotdot in lookup for the experimental nfs client

in a manner analagous to the change in r195294 for the regular nfs client.

Approved by:	re (kensmith), kib (mentor)
This commit is contained in:
rmacklem 2009-07-12 17:02:17 +00:00
parent 8233306b4d
commit 049621beb5

View File

@ -1111,9 +1111,11 @@ nfs_lookup(struct vop_lookup_args *ap)
ltype = VOP_ISLOCKED(dvp);
error = vfs_busy(mp, MBF_NOWAIT);
if (error != 0) {
vfs_ref(mp);
VOP_UNLOCK(dvp, 0);
error = vfs_busy(mp, 0);
vn_lock(dvp, ltype | LK_RETRY);
vfs_rel(mp);
if (error == 0 && (dvp->v_iflag & VI_DOOMED)) {
vfs_unbusy(mp);
error = ENOENT;