HomeFreeBSD

vinvalbuf: do not panic if we were unable to flush dirty buffers

Description

vinvalbuf: do not panic if we were unable to flush dirty buffers

Return EBUSY instead and let caller to handle the issue.

For vgone()/vnode reclamation, caller first does vinvalbuf(V_SAVE),
which return EBUSY in case dirty buffers where not flushed. Then caller
calls vinvalbuf(0) due to non-zero return, which gets rid of all dirty
buffers without dependencies.

PR: 238565
Reviewed by: asomers, mckusick
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D30555

Details

Provenance
kibAuthored on May 30 2021, 4:52 PM
Reviewer
asomers
Differential Revision
D30555: vinvalbuf: do not panic if we were unable to flush dirty buffers
Parents
rGa4b07a2701f5: VFS_QUOTACTL(9): allow implementation to indicate busy state changes
Branches
Unknown
Tags
Unknown