diff options
| author | Poul-Henning Kamp <phk@FreeBSD.org> | 2002-03-08 13:43:43 +0000 |
|---|---|---|
| committer | Poul-Henning Kamp <phk@FreeBSD.org> | 2002-03-08 13:43:43 +0000 |
| commit | f58932f2377846f6a89b37b930ec692132d88e60 (patch) | |
| tree | 49e5c3d9d4a9afc9b1cac0d7c356678999386d65 | |
| parent | c850bf03ed3c66d14bd658fa8857aab3dfa4d372 (diff) | |
Notes
| -rw-r--r-- | sys/nfsclient/nfs_vnops.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/nfsclient/nfs_vnops.c b/sys/nfsclient/nfs_vnops.c index 9d40b89fbe3f..d9bdcea63dab 100644 --- a/sys/nfsclient/nfs_vnops.c +++ b/sys/nfsclient/nfs_vnops.c @@ -776,6 +776,7 @@ nfs_lookup(struct vop_lookup_args *ap) return (error); } + vhold(*vpp); newvp = *vpp; vpid = newvp->v_id; /* @@ -809,6 +810,7 @@ nfs_lookup(struct vop_lookup_args *ap) if (cnp->cn_nameiop != LOOKUP && (flags & ISLASTCN)) cnp->cn_flags |= SAVENAME; + vdrop(newvp); return (0); } cache_purge(newvp); @@ -817,6 +819,7 @@ nfs_lookup(struct vop_lookup_args *ap) if (lockparent && dvp != newvp && (flags & ISLASTCN)) VOP_UNLOCK(dvp, 0, td); } + vdrop(newvp); error = vn_lock(dvp, LK_EXCLUSIVE, td); *vpp = NULLVP; if (error) { |
