Re: [PATCH] jbd2: add a missing data flush during file and fs synchronization
From: Theodore Ts'o
Date: Fri Mar 21 2025 - 23:37:35 EST
On Fri, 06 Dec 2024 19:13:27 +0800, Zhang Yi wrote:
> When the filesystem performs file or filesystem synchronization (e.g.,
> ext4_sync_file()), it queries the journal to determine whether to flush
> the file device through jbd2_trans_will_send_data_barrier(). If the
> target transaction has not started committing, it assumes that the
> journal will submit the flush command, allowing the filesystem to bypass
> a redundant flush command. However, this assumption is not always valid.
> If the journal is not located on the filesystem device, the journal
> commit thread will not submit the flush command unless the variable
> ->t_need_data_flush is set to 1. Consequently, the flush may be missed,
> and data may be lost following a power failure or system crash, even if
> the synchronization appears to succeed.
>
> [...]
Applied, thanks!
[1/1] jbd2: add a missing data flush during file and fs synchronization
commit: aac45075f6d79a63ac8dff93b3e1d7053a6ba628
Best regards,
--
Theodore Ts'o <tytso@xxxxxxx>