On 2024/2/8 16:11, Wu Bo wrote:
On 2024/2/5 11:54, Chao Yu wrote:
How about calling f2fs_balance_fs() to double check and make sure there is enough free space for following allocation.
if (has_not_enough_free_secs(sbi, 0, GET_SEC_FROM_SEG(sbi, overprovision_segments(sbi)))) { f2fs_down_write(&sbi->gc_lock); stat_inc_gc_call_count(sbi, FOREGROUND); err = f2fs_gc(sbi, &gc_control); if (err == -EAGAIN) f2fs_balance_fs(sbi, true); if (err && err != -ENODATA) goto out_err; }
Thanks,
f2fs_balance_fs() here will not change procedure branch and may just trigger another GC.
I'm afraid this is a bit redundant.
Okay.
I guess maybe Jaegeuk has concern which is the reason to commit 2e42b7f817ac ("f2fs: stop allocating pinned sections if EAGAIN happens").
Thanks,