Re: [f2fs-dev] [PATCH] f2fs: fix to migrate all curseg types during free_segment_range

Chao Yu via Linux-f2fs-devel <[email protected]>
Newsgroups net.sourceforge.lists.linux-f2fs-devel,org.kernel.vger.linux-kernel,org.kernel.vger.stable
Message-ID <[email protected]>
On 8/20/26 02:06, Daeho Jeong wrote:
> From: Daeho Jeong <[email protected]>
> 
> In free_segment_range(), the curseg evacuation loop only iterates up to
> NR_CURSEG_PERSIST_TYPE (0..5), missing non-persistent in-memory curseg
> types such as CURSEG_COLD_DATA_PINNED and CURSEG_ALL_DATA_ATGC.
> 
> Even though these in-memory curseg types are not saved in the on-disk
> checkpoint header, they still occupy active physical segments at runtime.
> If an active in-memory curseg happens to be allocated within the segment
> range being truncated during filesystem shrink, failing to evacuate it
> will cause subsequent writes to the curseg attempting out-of-bounds I/O
> on the truncated storage range.
> 
> Fix this by expanding the curseg evacuation loop upper bound to
> NR_CURSEG_TYPE to ensure all active curseg types are safely migrated
> out of the target range.
> 
> Fixes: d0b9e42ab615 ("f2fs: introduce inmem curseg")
> Cc: [email protected]
> Signed-off-by: Daeho Jeong <[email protected]>
> Signed-off-by: Sunmin Jeong <[email protected]>

Reviewed-by: Chao Yu <[email protected]>

Thanks,


_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.