mirror of
https://github.com/freebsd/freebsd-src
synced 2024-10-18 14:23:55 +00:00
- 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
73a1c67d03
commit
fae89dce3e
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=147113
|
@ -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…
Reference in a new issue