HomeFreeBSD

Handle possible vnode reclamation after ncl_vinvalbuf() call.

Description

Handle possible vnode reclamation after ncl_vinvalbuf() call.

ncl_vinvalbuf() might need to upgrade vnode lock, allowing the vnode
to be reclaimed by other thread. Handle the situation, indicated by
the returned error zero and VI_DOOMED iflag set, converting it into
EBADF. Handle all calls, even where the vnode is exclusively locked
right now.

Reviewed by: markj, rmacklem
Tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 2 weeks
X-Differential revision: https://reviews.freebsd.org/D10241

Details

Provenance
kibAuthored on
Reviewer
markj
Parents
rS316528: Add V_VMIO flag for vinvalbuf(9) to indicate that the flush request
Branches
Unknown
Tags
Unknown