- Clear OWEINACT prior to calling VOP_INACTIVE to remove the possibility
of a vget causing another call to INACTIVE before we're finished.
This commit is contained in:
parent
c951593ab8
commit
4a9af33a3f
@ -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;
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
x
Reference in New Issue
Block a user