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:
parent
d6c0154728
commit
5be717c021
@ -392,7 +392,7 @@ null_lookup(ap)
|
|||||||
* Rely only on the PDIRUNLOCK flag which should be carefully
|
* Rely only on the PDIRUNLOCK flag which should be carefully
|
||||||
* tracked by underlying filesystem.
|
* 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);
|
VOP_UNLOCK(dvp, LK_THISLAYER, td);
|
||||||
if ((error == 0 || error == EJUSTRETURN) && lvp != NULL) {
|
if ((error == 0 || error == EJUSTRETURN) && lvp != NULL) {
|
||||||
if (ldvp == lvp) {
|
if (ldvp == lvp) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user