]> www.infradead.org Git - users/jedix/linux-maple.git/commit
jbd2: flush filesystem device before updating tail sequence
authorZhang Yi <yi.zhang@huawei.com>
Tue, 3 Dec 2024 01:44:07 +0000 (09:44 +0800)
committerChristian Brauner <brauner@kernel.org>
Wed, 4 Dec 2024 11:00:05 +0000 (12:00 +0100)
commita0851ea9cd555c333795b85ddd908898b937c4e1
tree2a5bc7c5e39801a39e7de76cde586e6f32828d05
parentac1e21bd8c883aeac2f1835fc93b39c1e6838b35
jbd2: flush filesystem device before updating tail sequence

When committing transaction in jbd2_journal_commit_transaction(), the
disk caches for the filesystem device should be flushed before updating
the journal tail sequence. However, this step is missed if the journal
is not located on the filesystem device. As a result, the filesystem may
become inconsistent following a power failure or system crash. Fix it by
ensuring that the filesystem device is flushed appropriately.

Fixes: 3339578f0578 ("jbd2: cleanup journal tail after transaction commit")
Signed-off-by: Zhang Yi <yi.zhang@huawei.com>
Link: https://lore.kernel.org/r/20241203014407.805916-3-yi.zhang@huaweicloud.com
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/jbd2/commit.c