Re: [PATCH v3] f2fs: introduce flush_policy sysfs entry
From: Chao Yu
Date: Tue Aug 12 2025 - 02:29:02 EST
On 8/11/25 18:52, Christoph Hellwig wrote:
> On Thu, Aug 07, 2025 at 11:48:38AM +0800, Chao Yu wrote:
>> This patch introduces a new sysfs entry /sys/fs/f2fs/<disk>/flush_policy
>> in order to tune performance of f2fs data flush flow.
>>
>> For example, checkpoint will use REQ_FUA to persist CP metadata, however,
>> some kind device has bad performance on REQ_FUA command, result in that
>> checkpoint being blocked for long time, w/ this sysfs entry, we can give
>> an option to use REQ_PREFLUSH command instead of REQ_FUA during checkpoint,
>> it can help to mitigate long latency of checkpoint.
>
> That's and odd place to deal with this. If that's a real issue it
> should be a block layer tweak to disable FUA, potentially with a quirk
> entry in the driver to disable it rather than having to touch a file
> system sysfs attribute.
Okay, it makes sense to control how FUA be handled inside block layer, so
let's drop this patch.
BTW, I suffered extremely long latency of checkpoint which may block every
update operations when testing generic/299 w/ mode=lfs mount option in qemu,
then I propose to use PREFLUSH instead of FUA to resolve this issue.
"F2FS-fs (vdc): checkpoint was blocked for 24495 ms"
I just realize that using cache=directsync option in qemu can avoid FUA hang
issue, anyway, let me test more w/ this option.
Thanks,