]> www.infradead.org Git - users/jedix/linux-maple.git/commit
bcachefs: Issue a transaction restart after commit in repair
authorKent Overstreet <kent.overstreet@linux.dev>
Thu, 28 Nov 2024 03:09:29 +0000 (22:09 -0500)
committerKent Overstreet <kent.overstreet@linux.dev>
Sat, 21 Dec 2024 06:36:20 +0000 (01:36 -0500)
commitf9e0a9be70c8f790fe721ee2796995b06a314b7f
tree72f87f52aa83b2445f19c07fc70e8809aab52fb8
parentb3d82c2f27611c897c3877a51de8f8df755165af
bcachefs: Issue a transaction restart after commit in repair

transaction commits invalidate pointers to btree values, and they also
downgrade intent locks.

This breaks the interior btree update path, which takes intent locks and
then calls into the allocator.

This isn't an ideal solution: we can't unconditionally issue a restart
after a transaction commit, because that would break other codepaths.

Reported-by: syzbot+78d82470c16a49702682@syzkaller.appspotmail.com
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/alloc_background.c
fs/bcachefs/errcode.h