]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
vinvalbuf: do not panic if we were unable to flush dirty buffers
authorKonstantin Belousov <kib@FreeBSD.org>
Sun, 30 May 2021 16:52:42 +0000 (19:52 +0300)
committerAlan Somers <asomers@FreeBSD.org>
Thu, 7 Oct 2021 19:34:19 +0000 (13:34 -0600)
commit7dcb5db451b66aa277bd59c61c18a5053c658915
treefb73a404a16ede1a90d868e48c216ddeef9aa46f
parent09be14a7b80d75e39faf01596583ad4ed18e3232
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
Differential revision: https://reviews.freebsd.org/D30555

(cherry picked from commit 27006229f7a40a18a61a0e8fd270bc583326b690)

fusefs: reenable the WriteCluster.cluster_write_err test

The underlying panic was just fixed by
revision 27006229f7a40a18a61a0e8fd270bc583326b690

PR: 238565
(cherry picked from commit 425bbe9e64f7af6bdb30a099bd90a32885de1ab8)
sys/kern/vfs_subr.c
tests/sys/fs/fusefs/write.cc