From fae89dce3e2e7fcea87cf217df75e82222754fbf Mon Sep 17 00:00:00 2001 From: Jeff Roberson Date: Tue, 7 Jun 2005 22:05:32 +0000 Subject: [PATCH] - Clear OWEINACT prior to calling VOP_INACTIVE to remove the possibility of a vget causing another call to INACTIVE before we're finished. --- sys/kern/vfs_subr.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index dee3a1b5507..9a612a4bd83 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -2033,12 +2033,13 @@ vinactive(struct vnode *vp, struct thread *td) VNASSERT((vp->v_iflag & VI_DOINGINACT) == 0, vp, ("vinactive: recursed on VI_DOINGINACT")); vp->v_iflag |= VI_DOINGINACT; + vp->v_iflag &= ~VI_OWEINACT; VI_UNLOCK(vp); VOP_INACTIVE(vp, td); VI_LOCK(vp); VNASSERT(vp->v_iflag & VI_DOINGINACT, vp, ("vinactive: lost VI_DOINGINACT")); - vp->v_iflag &= ~(VI_DOINGINACT|VI_OWEINACT); + vp->v_iflag &= ~VI_DOINGINACT; } /*