Re: [PATCH] f2fs: fix to record both APPEND and UPDATE ino entries
From: Chao Yu
Date: Thu Sep 10 2026 - 02:40:54 EST
On 9/10/26 11:02, Zhiguo Niu wrote:
> In f2fs_post_evict_inode(), record_bits is assigned with BIT(APPEND_INO)
> and BIT(UPDATE_INO) respectively, so the second assignment overwrites
> the first one: when both FI_APPEND_WRITE and FI_UPDATE_WRITE are set,
> only the UPDATE_INO entry is recorded.
>
> The two flags are not mutually exclusive.Once the APPEND_INO entry is
> lost after the inode eviction, the shortcut in f2fs_do_sync_file() can
> take the flush_out path in the next fsync(), skipping f2fs_fsync_node_pages().
> As a result, the dnodes holding the newly allocated blocks are not
> fsync-marked, and after a sudden power loss, the data appended before the
> eviction is silently lost.
>
> This restores the previous behavior where the two ino entries were
> added independently.
>
> Fixes: 314c9e476ffc ("f2fs: call __add_ino_entry out of the eviction path")
> Signed-off-by: Zhiguo Niu <zhiguo.niu@xxxxxxxxxx>
Reviewed-by: Chao Yu <chao@xxxxxxxxxx>
Thanks,