]> git.ipfire.org Git - thirdparty/linux.git/commit
bcachefs: Fix missing commit in backpointer to missing target
authorKent Overstreet <kent.overstreet@linux.dev>
Fri, 9 May 2025 19:05:19 +0000 (15:05 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Wed, 14 May 2025 21:05:19 +0000 (17:05 -0400)
commitd1041d8eab31f9b4c696ee060141d1b0d156f84d
treea93b3278e1c0cdc268f77ab247e59660ab829a2f
parenta12cb6f758177fcf9bdb7d18b4724eaa29023740
bcachefs: Fix missing commit in backpointer to missing target

Fsck wants to do transaction commits from an outer context; it may have
other repair to do (i.e. duplicate backpointers).

But when calling backpointer_not_found() from runtime code, i.e. runtime
self healing, we should be doing the commit - the outer context expects
to just be doing lookups.

This fixes bugs where we get stuck spinning, reported as "RCU lock hold
time warnings.

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