summaryrefslogtreecommitdiffstats
path: root/sys/miscfs/union
diff options
context:
space:
mode:
authorkato <kato@FreeBSD.org>1998-02-06 02:42:21 +0000
committerkato <kato@FreeBSD.org>1998-02-06 02:42:21 +0000
commit3dee08370051ac4e72fbdc8c64f3558ed832e8ba (patch)
tree04c989b6290ae686e1374c0e9d497b7e7ad033c2 /sys/miscfs/union
parent5b999ea00cf06f4dfbcc8953dd07c062cbc66699 (diff)
downloadFreeBSD-src-3dee08370051ac4e72fbdc8c64f3558ed832e8ba.zip
FreeBSD-src-3dee08370051ac4e72fbdc8c64f3558ed832e8ba.tar.gz
Workarround for DIAGNOSTIC kernel's panic in union_lookup().
Union_removed_upper() clobbers cache when file is removed. Upper vp will be removed by union_reclaim().
Diffstat (limited to 'sys/miscfs/union')
-rw-r--r--sys/miscfs/union/union_vnops.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/miscfs/union/union_vnops.c b/sys/miscfs/union/union_vnops.c
index b3441ef..ca415f0 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.50 1998/01/22 02:14:59 kato Exp $
+ * $Id: union_vnops.c,v 1.51 1998/02/04 22:32:55 eivind Exp $
*/
#include "opt_diagnostic.h"
@@ -1087,8 +1087,11 @@ union_remove(ap)
if (union_dowhiteout(un, cnp->cn_cred, cnp->cn_proc))
cnp->cn_flags |= DOWHITEOUT;
error = VOP_REMOVE(dvp, vp, cnp);
+#if 0
+ /* XXX */
if (!error)
union_removed_upper(un);
+#endif
} else {
FIXUP(dun, p);
error = union_mkwhiteout(
@@ -1332,8 +1335,11 @@ union_rmdir(ap)
if (union_dowhiteout(un, cnp->cn_cred, cnp->cn_proc))
cnp->cn_flags |= DOWHITEOUT;
error = VOP_RMDIR(dvp, vp, ap->a_cnp);
+#if 0
+ /* XXX */
if (!error)
union_removed_upper(un);
+#endif
} else {
FIXUP(dun, p);
error = union_mkwhiteout(
OpenPOWER on IntegriCloud