bcachefs: BCH_WATERMARK_interior_updates
authorKent Overstreet <kent.overstreet@linux.dev>
Mon, 1 Apr 2024 23:20:36 +0000 (19:20 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Tue, 2 Apr 2024 01:14:02 +0000 (21:14 -0400)
commite2a316b3cc45a1198f3feb18707403bb7f0cbc15
tree9e274feee0dcebf4ef57203e2cfe2e7399e9da08
parentba947ecd39ea0e6a6f6f1101f99611fc30943bcb
bcachefs: BCH_WATERMARK_interior_updates

This adds a new watermark, higher priority than BCH_WATERMARK_reclaim,
for interior btree updates. We've seen a deadlock where journal replay
triggers a ton of btree node merges, and these use up all available open
buckets and then interior updates get stuck.

One cause of this is that we're currently lacking btree node merging on
write buffer btrees - that needs to be fixed as well.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/alloc_foreground.c
fs/bcachefs/alloc_types.h
fs/bcachefs/btree_io.c
fs/bcachefs/btree_trans_commit.c
fs/bcachefs/btree_update_interior.c
fs/bcachefs/buckets.h