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>