diff options
author | kato <kato@FreeBSD.org> | 1998-02-06 02:42:21 +0000 |
---|---|---|
committer | kato <kato@FreeBSD.org> | 1998-02-06 02:42:21 +0000 |
commit | 3dee08370051ac4e72fbdc8c64f3558ed832e8ba (patch) | |
tree | 04c989b6290ae686e1374c0e9d497b7e7ad033c2 /sys/miscfs/union | |
parent | 5b999ea00cf06f4dfbcc8953dd07c062cbc66699 (diff) | |
download | FreeBSD-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.c | 8 |
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( |