On Wed, 12 Feb 2025 at 21:01, Daphne Shaw <dshaw@xxxxxxxxxxxxxxx> wrote: > Can anyone help explain why one of the 4000-byte writes is being split into a 96-byte and then 3904-byte write? Commit 4f06dd92b5d0 ("fuse: fix write deadlock") introduced this behavior change and has a good description of the problem and the solution. Here's an excerpt: "...serialize the synchronous write with reads from the partial pages. The easiest way to do this is to keep the partial pages locked. The problem is that a write() may involve two such pages (one head and one tail). This patch fixes it by only locking the partial tail page. If there's a partial head page as well, then split that off as a separate WRITE request." Your example triggered exactly this "two partial pages" case. One way out of this is to switch to writeback_cache mode. Would that work for your case? Thanks, Miklos