Re: [f2fs-dev] [PATCH] f2fs: avoid f2fs_map_blocks() for consecutive holes in readpages
From: Chao Yu
Date: Mon Jan 19 2026 - 08:44:54 EST
On 1/19/2026 3:43 PM, Nanzhe Zhao wrote:
Hi Chao:
At 2026-01-16 16:52:02, "Chao Yu" <chao@xxxxxxxxxx> wrote:
Do we have plans to also support reducing f2fs_map_blocks() calls for
consectives holes in logical file postion with dnode have already been
allocated in buffered large folio read?
Such as consective NULL_ADDR or NEW_ADDR?
Nanzhe,
We have supported that for large folio read w/ this patch?
Thanks,
Sorry, I'm a bit confused.
In the condition of F2FS_MAP_BLOCK_DEFAULT, the default: case will only
set map->m_next_pgofs to pgofs + 1 then sync out. When we enter
next iteration and the index advanced, currrent index now turns to pgofs + 1
and index < next_pgofs become false.In consequence, we won't reduce
f2fs_map_blocks() calls for hole with dnode allocated.
Also, for NEW_ADDR, the default: case will directly go to sync out and bypass
map_is_mergeable, so it will also not reduce f2fs_map_blocks calls.
Or am I missing something?
I guess f2fs_map_no_dnode() will update map->m_next_pgofs to pgofs of next
potential valid dnode.
Thanks,
Thanks,
Nanzhe Zhao