On 2024/9/6 16:31, Wu Bo wrote:
On Tue, Feb 20, 2024 at 02:50:11PM +0800, Chao Yu wrote:
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").
Hi Jaegeuk,
We occasionally receive user complaints about OTA failures caused by this issue.
Please consider merging this patch.
I'm fine w/ this patch, but one another quick fix will be triggering
background GC via f2fs ioctl after fallocate() failure, once
has_not_enough_free_secs(, ovp_segs) returns false, fallocate() will
succeed.
Reviewed-by: Chao Yu <chao@xxxxxxxxxx>
Thanks,
Thanks
Thanks,
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel