Re: [PATCH v2] Introduce the end_syncfs option

Damien Le Moal <[email protected]> Tue, 27 Jan 2026 11:05:34 +0900
Newsgroups org.kernel.vger.fio
Organization Western Digital Research
Message-ID <[email protected]>
On 1/27/26 10:01, Vincent Fu wrote:
> On Mon, Jan 26, 2026 at 1:22 AM Damien Le Moal <[email protected]> wrote:
>>
> <snip>
>>                 }
>> +
>> +               if (td->o.end_syncfs) {
>> +                       td_set_runstate(td, TD_FSYNCING);
>> +
>> +                       for_each_file(td, f, i) {
>> +                               if (fio_file_syncfs(td, f))
>> +                                       log_err("fio: end_syncfs failed\n");
>> +                               break;
> 
> This seems like it will break out of the loop after syncfs-ing the first file.
> Is this intentional or should fio break only if there is an error?

It is intentional and it is the entire point of this patch: doing syncfs for the
first file will sync the entire FS, so all the other files will be sync-ed as
well. We thus avoid the entire loop on all files which is extremely slow when
running with a large number of files. We only need to do syncfs() once for the
first file. Ideally, we should do it for the directory specified for the files,
but that is a little more involved as a change.


-- 
Damien Le Moal
Western Digital Research