diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2021-03-31 15:21:37 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-22 17:08:58 -0400 |
commit | e264b2f62a8fdf571e9ca9a741719a9b567573f5 (patch) | |
tree | cd550ab79ce1cef0357bba2444c11b014fb505fe /fs/bcachefs/btree_update_interior.h | |
parent | ba5f03d362a8c7a32fd63c54cd3aeea0c9f3d7cc (diff) | |
download | linux-e264b2f62a8fdf571e9ca9a741719a9b567573f5.tar.gz linux-e264b2f62a8fdf571e9ca9a741719a9b567573f5.tar.bz2 linux-e264b2f62a8fdf571e9ca9a741719a9b567573f5.zip |
bcachefs: Improve bch2_btree_update_start()
bch2_btree_update_start() is now responsible for taking gc_lock and
upgrading the iterator to lock parent nodes - greatly simplifying error
handling and all of the callers.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/btree_update_interior.h')
-rw-r--r-- | fs/bcachefs/btree_update_interior.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/bcachefs/btree_update_interior.h b/fs/bcachefs/btree_update_interior.h index 45d212730fd7..2a6b51ece0f8 100644 --- a/fs/bcachefs/btree_update_interior.h +++ b/fs/bcachefs/btree_update_interior.h @@ -48,6 +48,7 @@ struct btree_update { } mode; unsigned nodes_written:1; + unsigned took_gc_lock:1; enum btree_id btree_id; @@ -120,8 +121,7 @@ struct btree *__bch2_btree_node_alloc_replacement(struct btree_update *, void bch2_btree_update_done(struct btree_update *); struct btree_update * -bch2_btree_update_start(struct btree_trans *, enum btree_id, unsigned, - unsigned, struct closure *); +bch2_btree_update_start(struct btree_iter *, unsigned, unsigned, unsigned); void bch2_btree_interior_update_will_free_node(struct btree_update *, struct btree *); |