diff options
| author | Semen Ustimenko <semenu@FreeBSD.org> | 2002-05-21 18:07:33 +0000 |
|---|---|---|
| committer | Semen Ustimenko <semenu@FreeBSD.org> | 2002-05-21 18:07:33 +0000 |
| commit | 96b825e7ca98a03e3922e60b1ceabfbc824e3db5 (patch) | |
| tree | f8e62dd5502830a6529330428ccb8c5d049d1c15 /sys | |
| parent | 69cc776cd60565f0bc5c1d0a0600d445ebccd0f4 (diff) | |
Notes
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/fs/nullfs/null_vnops.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/fs/nullfs/null_vnops.c b/sys/fs/nullfs/null_vnops.c index f22e8704eb85..74b1ff2d8e80 100644 --- a/sys/fs/nullfs/null_vnops.c +++ b/sys/fs/nullfs/null_vnops.c @@ -591,8 +591,12 @@ null_lock(ap) int error; if (flags & LK_THISLAYER) { - if (vp->v_vnlock != NULL) - return 0; /* lock is shared across layers */ + if (vp->v_vnlock != NULL) { + /* lock is shared across layers */ + if (flags & LK_INTERLOCK) + mtx_unlock(&vp->v_interlock); + return 0; + } error = lockmgr(&vp->v_lock, flags & ~LK_THISLAYER, &vp->v_interlock, td); return (error); |
