summaryrefslogtreecommitdiffstats
path: root/sys/miscfs
diff options
context:
space:
mode:
authorkato <kato@FreeBSD.org>1997-04-26 13:43:25 +0000
committerkato <kato@FreeBSD.org>1997-04-26 13:43:25 +0000
commitf90d800c9a8b8cedf55d38176b3a8d5384b1ef9f (patch)
tree3450d78eaa76cdb65138a7706b827bb152c4d057 /sys/miscfs
parente7ce274b1e26b60138ec47a1a74e8b7ca87f2231 (diff)
downloadFreeBSD-src-f90d800c9a8b8cedf55d38176b3a8d5384b1ef9f.zip
FreeBSD-src-f90d800c9a8b8cedf55d38176b3a8d5384b1ef9f.tar.gz
Do nothing instead of adjusting un_flags when (uppervp is locked) &&
(UN_ULOCK is not set) in union_lock. This condition may indicate race. DIAGNOSTIC kernel still panic here.
Diffstat (limited to 'sys/miscfs')
-rw-r--r--sys/miscfs/union/union_vnops.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/sys/miscfs/union/union_vnops.c b/sys/miscfs/union/union_vnops.c
index cc632a2..f80a07f 100644
--- a/sys/miscfs/union/union_vnops.c
+++ b/sys/miscfs/union/union_vnops.c
@@ -35,7 +35,7 @@
* SUCH DAMAGE.
*
* @(#)union_vnops.c 8.32 (Berkeley) 6/23/95
- * $Id: union_vnops.c,v 1.27 1997/04/21 15:32:24 kato Exp $
+ * $Id: union_vnops.c,v 1.28 1997/04/26 04:09:40 kato Exp $
*/
#include <sys/param.h>
@@ -1479,21 +1479,13 @@ start:
(vp->v_usecount != 0)) {
if (VOP_ISLOCKED(un->un_uppervp)) {
/*
- * XXX - Dirty!
- * Though UN_ULOCK is not set, upper vnode is locked. This
- * indicates a locking violation. If this case happens,
- * we will get `lock against myself' panic.
- *
- * SHOULD BE FIXED! But I couldn't find a fix. If you are
- * a kernel hacker, pleas try DIAGNOSTIC kernel, that causes
- * panic here.
+ * Erm, we find race!
+ * Do nothing here.
*/
#ifdef DIAGNOSTIC
panic("union_link: upper vnode is locked, "
"but UN_UNLOCK is not set.");
#endif
- printf("union_lock: adjust un_flags\n");
- un->un_flags |= UN_ULOCK; /* Adjust -- dirty */
} else {
error = vn_lock(un->un_uppervp, flags, p);
if (error)
OpenPOWER on IntegriCloud