vtryrecycle: Don't rely on type VBAD alone to mean that we don't need
to clean the vnode. If v_data is set, we still need to clean it. This code change should catch all incidents of the previous commit (INVARIANTS only).
This commit is contained in:
parent
f2154b33d2
commit
57259f2864
@ -708,7 +708,7 @@ vtryrecycle(struct vnode *vp)
|
||||
vp->v_iflag &= ~VI_FREE;
|
||||
mtx_unlock(&vnode_free_list_mtx);
|
||||
vp->v_iflag |= VI_DOOMED;
|
||||
if (vp->v_type != VBAD) {
|
||||
if ((vp->v_type != VBAD) || (vp->v_data != NULL)) {
|
||||
VOP_UNLOCK(vp, 0, td);
|
||||
vgonel(vp, td);
|
||||
VI_LOCK(vp);
|
||||
|
Loading…
x
Reference in New Issue
Block a user