Don't try to unlock the directory vnode in null_lookup() if the lock is

shared with the underlying file system and the lookup in the underlying
file system did the unlock for us.
This commit is contained in:
truckman 2004-01-11 23:44:32 +00:00
parent d6c0154728
commit 5be717c021

View File

@ -392,7 +392,7 @@ null_lookup(ap)
* Rely only on the PDIRUNLOCK flag which should be carefully
* tracked by underlying filesystem.
*/
if (cnp->cn_flags & PDIRUNLOCK)
if ((cnp->cn_flags & PDIRUNLOCK) && dvp->v_vnlock != ldvp->v_vnlock)
VOP_UNLOCK(dvp, LK_THISLAYER, td);
if ((error == 0 || error == EJUSTRETURN) && lvp != NULL) {
if (ldvp == lvp) {