From 88ae33f9e0f7ad5a41c2256db9cb64b65426ebed Mon Sep 17 00:00:00 2001 From: yamt Date: Sun, 29 Dec 2002 07:05:55 +0000 Subject: [PATCH] backout assertions in lfs_inactive. they can be false when unmounting forcibly. --- sys/ufs/lfs/lfs_vnops.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/sys/ufs/lfs/lfs_vnops.c b/sys/ufs/lfs/lfs_vnops.c index e88aa920408e..757bcf12b5cb 100644 --- a/sys/ufs/lfs/lfs_vnops.c +++ b/sys/ufs/lfs/lfs_vnops.c @@ -1,4 +1,4 @@ -/* $NetBSD: lfs_vnops.c,v 1.74 2002/12/28 20:08:36 christos Exp $ */ +/* $NetBSD: lfs_vnops.c,v 1.75 2002/12/29 07:05:55 yamt Exp $ */ /*- * Copyright (c) 1999, 2000 The NetBSD Foundation, Inc. @@ -71,7 +71,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: lfs_vnops.c,v 1.74 2002/12/28 20:08:36 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: lfs_vnops.c,v 1.75 2002/12/29 07:05:55 yamt Exp $"); #include #include @@ -337,11 +337,12 @@ lfs_inactive(void *v) struct vnode *a_vp; struct proc *a_p; } */ *ap = v; + struct inode *ip = VTOI(ap->a_vp); - KASSERT(!(ap->a_vp->v_flag & VDIROP)); - KASSERT(!(VTOI(ap->a_vp)->i_flag & IN_ADIROP)); - - return ufs_inactive(ap); + if (ip->i_flag & IN_ADIROP) + --ip->i_lfs->lfs_nadirop; + ip->i_flag &= ~IN_ADIROP; + return ufs_inactive(v); } /*