Re: [PATCH] generic/064: allow 50 extents on F2FS after fcollapse
Zorro Lang <[email protected]> Tue, 30 Jun 2026 00:37:29 +0800
| Newsgroups | org.kernel.vger.fstests,net.sourceforge.lists.linux-f2fs-devel |
|---|---|
| Message-ID | <akKd2IImO7bRjVV2@zlang-mailbox> |
On Wed, Jun 24, 2026 at 12:46:01AM -0700, Christoph Hellwig wrote: > On Mon, Jun 22, 2026 at 07:04:38AM +0000, Jan Prusakowski wrote: > > On F2FS, generic/064 fails with "extents mismatched before = 1 after = > > 50" following multiple fcollapse (collapse range) operations. > > > > To ensure crash consistency and checkpoint integrity, F2FS forbids > > in-place SSR (Summary Standalone Replacement) overwrites on valid > > checkpointed blocks. When collapse range shifts blocks, F2FS allocates > > new data pages in LFS mode (out-of-place log writes). As a result, > > sequential collapse range calls rewrite shifted blocks at new log > > locations, intentionally leaving the file with 50 extents. > > This sounds odd. The test allocates a contigous range and then just does > insert/collapse on it, which should not lead to any new data block > allocations. Given that the test works fine on zoned XFS and btrfs > with strict out of place write policies we know it does not require > overwriting blocks to work as well. > > So I think something is fishy in f2fs if needs to allocate data blocks > here. I have the same question with Christoph. Shouldn't fcollapse in F2FS just remap the metadata instead of allocating new data blocks? >