bcachefs; Don't use btree write buffer until journal replay is finished
authorKent Overstreet <kent.overstreet@linux.dev>
Sat, 2 Dec 2023 03:31:23 +0000 (22:31 -0500)
committerKent Overstreet <kent.overstreet@linux.dev>
Mon, 4 Dec 2023 20:46:31 +0000 (15:46 -0500)
commitef6fae4a13aecfa7966edff0445e5c920ad2ddd9
treef14c9afe6f520241ef0b480a2ba0e00f63d4d5ea
parent0117591e69d1edff46bc87061e533a1e25a8c500
bcachefs; Don't use btree write buffer until journal replay is finished

The keys being replayed by journal replay have to be synchronized with
updates by other threads that overwrite them. We rely on btree node
locks for synchronizing - but since btree write buffer updates take no
btree locks, that won't work.

Instead, simply disable using the btree write buffer until journal
replay is finished.

This fixes a rare backpointers error in the merge_torture_flakey test.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/btree_update.c