Re: [PATCH v6 3/3] xfs: add support for FALLOC_FL_WRITE_ZEROES
From: Zhang Yi <hidden>
Date: 2026-06-18 10:26:20
Also in:
linux-fsdevel, linux-xfs
On 6/18/2026 4:59 PM, Christoph Hellwig wrote:
On Thu, Jun 18, 2026 at 11:22:45AM +0800, Zhang Yi wrote:quoted
1) if the two blocks straddling the boundaries have not yet been allocated, or allocated as unwritten, we should round outward the allocation range and zero out all allocated blocks, including those two boundary blocks. 2) if the blocks at the boundaries are already in the written state — which can occur when we call FALLOC_FL_WRITE_ZEROES within the file size. We should be careful here: we should only zero the ranges [offset, offset_ru) and [end_rd, end) for the boundary blocks, leaving the already-written portions of the boundary blocks intact. Thoughs?Yes.quoted
Regarding the second point, the current ext4 implementation has an issue — it zeroes out the entire boundary blocks. I overlooked this previously, and I appreciate you pointing it out.Which means we're missing test coverage for this as well..
Ha, I just re-checked the ext4 implementation and found that scenario 2 is actually fine, Sorry I misread the code earlier. Fortunately, no data corruption occurred. :-) The real issue is in scenario 1, where the boundary blocks are not correctly converted to written-type extents. As for testing the unaligned case, I also agree that we should explicitly add a dedicated test for it. Relying on existing fsstress and fsx is not reliable enough in this regard. Thanks, Yi.