Re: [f2fs-dev] [PATCH v2] f2fs: accurately adjust free_sections during free_segment_range
Chao Yu <[email protected]>
| Newsgroups | org.kernel.vger.stable,net.sourceforge.lists.linux-f2fs-devel,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On 8/25/26 09:53, Daeho Jeong wrote: > From: Daeho Jeong <[email protected]> > > In free_segment_range(), MAIN_SECS(sbi) is temporarily reduced by `secs` > to restrict block allocation to the safe remaining main area while valid > blocks in the truncated range are evacuated by GC. > > However, FREE_I(sbi)->free_sections tracks the total number of free > sections across the whole filesystem. If any sections within the > truncated range were already free upon entering free_segment_range(), > failing to deduct them from free_sections causes the filesystem to > overestimate available free sections in the active, reduced main area. > This leads to inconsistent free section accounting during GC data > migration and can trigger unexpected allocation failures or assertion > errors when space is tight. > > Fix this by calculating the number of already-free sections in the > truncated range, deducting them from free_sections upon entering > free_segment_range(), and restoring them on exit. > > Fixes: b4b10061ef98 ("f2fs: refactor resize_fs to avoid meta updates in progress") > Cc: [email protected] > Signed-off-by: Daeho Jeong <[email protected]> > Signed-off-by: Sunmin Jeong <[email protected]> Reviewed-by: Chao Yu <[email protected]> Thanks,