]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
Merge patch series "fs: fully sync all fsese even for an emergency sync"
authorChristian Brauner <brauner@kernel.org>
Wed, 5 Nov 2025 11:30:05 +0000 (12:30 +0100)
committerChristian Brauner <brauner@kernel.org>
Wed, 5 Nov 2025 11:30:05 +0000 (12:30 +0100)
commita4db63b88f16b8a0dae0bf1d8651f7d3c0d24072
treee81270cfece793b233e6aacb65db227d3b87b7b4
parent20052f2ef08a74e09a655e70e41abe648b63a9e1
parent2706659d642eb6b2d659aab52c122d6170e59dd0
Merge patch series "fs: fully sync all fsese even for an emergency sync"

Qu Wenruo <wqu@suse.com> says:

The first patch is a cleanup related to sync_inodes_one_sb() callback.
Since it always wait for the writeback, there is no need to pass any
parameter for it.

The second patch is a fix mostly affecting btrfs, as btrfs requires a
explicit sync_fc() call with wait == 1, to commit its super blocks,
and sync_bdevs() won't cut it at all.

However the current emergency sync never passes wait == 1, it means
btrfs will writeback all dirty data and metadata, but still no super
block update, resulting everything still pointing back to the old
data/metadata.

This lead to a problem where btrfs doesn't seem to do anything during
emergency sync.

The second patch fixes the problem by passing wait == 1 for the second
iteration of sync_fs_one_sb().

* patches from https://patch.msgid.link/cover.1762142636.git.wqu@suse.com:
  fs: fully sync all fses even for an emergency sync
  fs: do not pass a parameter for sync_inodes_one_sb()

Link: https://patch.msgid.link/cover.1762142636.git.wqu@suse.com
Signed-off-by: Christian Brauner <brauner@kernel.org>