]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commit
ext4: Fix warnings when freezing filesystem with journaled data
authorJan Kara <jack@suse.cz>
Wed, 8 Mar 2023 14:25:28 +0000 (15:25 +0100)
committerTheodore Ts'o <tytso@mit.edu>
Fri, 24 Mar 2023 02:53:00 +0000 (22:53 -0400)
commite6c28a26b799c7640b77daff3e4a67808c74381c
treea1b6a6d1875437cc7eecae49456d881654ebacee
parent3f079114bf522f27f3680238b6429f3dd45535b6
ext4: Fix warnings when freezing filesystem with journaled data

Test generic/390 in data=journal mode often triggers a warning that
ext4_do_writepages() tries to start a transaction on frozen filesystem.
This happens because although all dirty data is properly written, jbd2
checkpointing code writes data through submit_bh() and as a result only
buffer dirty bits are cleared but page dirty bits stay set. Later when
the filesystem is frozen, writeback code comes, tries to write
supposedly dirty pages and the warning triggers. Fix the problem by
calling sync_filesystem() once more after flushing the whole journal to
clear stray page dirty bits.

[ Applied fixup patches to address crashes when running data=journal
  tests; see links for more details -- TYT ]

Signed-off-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20230308142528.12384-1-jack@suse.cz
Reported-by: Eric Biggers <ebiggers@kernel.org>
Link: https://lore.kernel.org/all/20230319183617.GA896@sol.localdomain
Link: https://lore.kernel.org/r/20230323145404.21381-1-jack@suse.cz
Link: https://lore.kernel.org/r/20230323145404.21381-2-jack@suse.cz
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/inode.c
fs/ext4/super.c