]> www.infradead.org Git - users/jedix/linux-maple.git/commit
bcachefs: backpointers fsck no longer uses BTREE_ITER_ALL_LEVELS
authorKent Overstreet <kent.overstreet@linux.dev>
Mon, 13 Nov 2023 01:20:35 +0000 (20:20 -0500)
committerKent Overstreet <kent.overstreet@linux.dev>
Mon, 1 Jan 2024 16:47:37 +0000 (11:47 -0500)
commitcd404e5b05eb40f3ff27ab9d796f41f0a3b5a2c4
tree46942bb5a52cb5c9d3ed781fa72e50d7267191db
parenteb54e81f27b56ba101e277029b153a7c892317f1
bcachefs: backpointers fsck no longer uses BTREE_ITER_ALL_LEVELS

It appears that BTREE_ITER_ALL_LEVELS is racy with concurrent interior
node btree updates; unfortunate but not terribly surprising it's a
difficult problem - that was the original reason for gc_lock.

BTREE_ITER_ALL_LEVELS will probably be deleted in a subsequent patch,
this changes backpointers fsck to instead walk keys at one level of the
btree at a time.

This fixes the tiering_drop_alloc test, which stopped working with the
patch to not flush the journal after journal replay.

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