Re: [f2fs-dev] [PATCH 1/2] f2fs: flush SIT journal during filesystem resize
From: Daeho Jeong
Date: Thu Sep 24 2026 - 12:05:47 EST
On Fri, Aug 28, 2026 at 7:15 AM Wenjie Qi <qwjhust@xxxxxxxxx> wrote:
>
> During a filesystem resize, SBI_IS_RESIZEFS prevents new SIT entries
> from being added to the journal and forces existing entries to the SIT
> area. However, f2fs_flush_sit_entries() returns early when there are no
> new dirty sentries, leaving existing journal entries behind.
>
> After the main area shrinks, a later checkpoint can access a journal
> entry whose segment number is outside the new geometry and trigger
> f2fs_bug_on().
>
> Only take the zero-dirty fast path when entries may be written back to
> the journal. This lets resize drain existing entries through
> remove_sits_in_journal() even when there are no new dirty sentries.
>
> Fixes: 04f0b2eaa3b3 ("f2fs: ioctl for removing a range from F2FS")
> Signed-off-by: Wenjie Qi <qiwenjie@xxxxxxxxxx>
> ---
> fs/f2fs/segment.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
> index 1e7e745be71d..9f9ce25dd07e 100644
> --- a/fs/f2fs/segment.c
> +++ b/fs/f2fs/segment.c
> @@ -4816,7 +4816,7 @@ void f2fs_flush_sit_entries(struct f2fs_sb_info *sbi, struct cp_control *cpc)
>
> down_write(&sit_i->sentry_lock);
>
> - if (!sit_i->dirty_sentries)
> + if (!sit_i->dirty_sentries && to_journal)
> goto out;
>
> /*
> --
> 2.43.0
>
Reviewed-by: Daeho Jeong <daehojeong@xxxxxxxxxx>
Thanks,
>
>
> _______________________________________________
> Linux-f2fs-devel mailing list
> Linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx
> https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel