HomeFreeBSD

Fix a racy VI_DOOMED check in MNT_VNODE_FOREACH_ALL().

Description

Fix a racy VI_DOOMED check in MNT_VNODE_FOREACH_ALL().

MNT_VNODE_FOREACH_ALL() is supposed to avoid returning doomed vnodes,
but the VI_DOOMED check it used was done without the vnode interlock
held, so it could race with a concurrent vgone().

Submitted by: Don Morris <don.morris@isilon.com>
Reviewed by: kib, mckusick
MFC after: 1 week
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D12704

Details

Provenance
markjAuthored on
Reviewer
kib
Differential Revision
D12704: Fix a racy VI_DOOMED check in MNT_VNODE_FOREACH_ALL()
Parents
rS324703: loader.mk: clean md.o even if MD_IMAGE_SIZE not defined
Branches
Unknown
Tags
Unknown