summaryrefslogtreecommitdiff
path: root/sys/miscfs/union
diff options
context:
space:
mode:
authorConstantine Sapuntzakis <csapuntz@cvs.openbsd.org>1998-07-13 02:52:02 +0000
committerConstantine Sapuntzakis <csapuntz@cvs.openbsd.org>1998-07-13 02:52:02 +0000
commitaf5295e511fdb7c6a166874d715526556c71d65a (patch)
tree3e59b4d76153ac5851af1199eab77dff9c65789d /sys/miscfs/union
parent32141c31099fa92560ad8307960f56dc5eac21e0 (diff)
Fix locking discipline snafu with UNIONFS. Thanks to Don Schmid (yensid@imsa.edu) for the original fix and Todd Miller.
Diffstat (limited to 'sys/miscfs/union')
-rw-r--r--sys/miscfs/union/union_vnops.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/miscfs/union/union_vnops.c b/sys/miscfs/union/union_vnops.c
index 835da8d8518..e0c76bf9d74 100644
--- a/sys/miscfs/union/union_vnops.c
+++ b/sys/miscfs/union/union_vnops.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: union_vnops.c,v 1.9 1997/11/06 05:58:54 csapuntz Exp $ */
+/* $OpenBSD: union_vnops.c,v 1.10 1998/07/13 02:52:01 csapuntz Exp $ */
/* $NetBSD: union_vnops.c,v 1.30.4.1 1996/05/25 22:10:14 jtc Exp $ */
/*
@@ -1591,8 +1591,10 @@ union_inactive(v)
union_diruncache(un);
+ VOP_UNLOCK(ap->a_vp, 0, ap->a_p);
+
if ((un->un_flags & UN_CACHED) == 0)
- vgone(ap->a_vp);
+ vrecycle(ap->a_vp, (struct simplelock *)0, ap->a_p);
return (0);
}