bcachefs: trans_for_each_path_safe()
authorKent Overstreet <kent.overstreet@linux.dev>
Sat, 27 May 2023 23:55:54 +0000 (19:55 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:10:02 +0000 (17:10 -0400)
commitf154c3eb429a340d66a06e8f8d2221d28d25ab45
tree5a6e74c7c6518c6415797097f8344524c39e9b2a
parente7ffda565a762a6bdf782b4978af5ccfe4ab5d0d
bcachefs: trans_for_each_path_safe()

bch2_btree_trans_to_text() is used on btree_trans objects that are owned
by different threads - when printing out deadlock cycles - so we need a
safe version of trans_for_each_path(), else we race with seeing a
btree_path that was just allocated and not fully initialized:

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