aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorSemen Ustimenko <semenu@FreeBSD.org>2002-05-21 18:07:33 +0000
committerSemen Ustimenko <semenu@FreeBSD.org>2002-05-21 18:07:33 +0000
commit96b825e7ca98a03e3922e60b1ceabfbc824e3db5 (patch)
treef8e62dd5502830a6529330428ccb8c5d049d1c15 /sys
parent69cc776cd60565f0bc5c1d0a0600d445ebccd0f4 (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/fs/nullfs/null_vnops.c8
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);