From bd0506446be2b8186975c1edce51db30a20274cf Mon Sep 17 00:00:00 2001 From: Darafei Praliaskouski Date: Tue, 30 Jun 2026 01:05:57 +0400 Subject: [PATCH] bcachefs: use SRCU-aware waits after dropping locks --- fs/btree/commit.c | 2 +- fs/btree/interior.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/fs/btree/commit.c b/fs/btree/commit.c index da2931716..cf7733921 100644 --- a/fs/btree/commit.c +++ b/fs/btree/commit.c @@ -1320,7 +1320,7 @@ static noinline int bch2_trans_commit_btree_write_ratelimit(struct btree_trans * struct bch_fs_btree_cache *bc = &c->btree.cache; return drop_locks_do(trans, ({ - closure_wait_event(&bc->nr_in_flight_wait, + trans_wait_event(trans, &bc->nr_in_flight_wait, atomic_long_read(&bc->nr_in_flight_inner) < BTREE_WRITE_IO_LIMIT(c) * 3 / 4 && !bch2_btree_cache_should_throttle(c)); 0; diff --git a/fs/btree/interior.c b/fs/btree/interior.c index 9d6edeb69..773da9a16 100644 --- a/fs/btree/interior.c +++ b/fs/btree/interior.c @@ -1435,8 +1435,8 @@ bch2_btree_update_start(struct btree_trans *trans, struct btree_path *path, return ERR_PTR(-BCH_ERR_journal_reclaim_would_deadlock); ret = drop_locks_do(trans, - ({ closure_wait_event(&c->journal.async_wait, - !journal_low_on_space(&c->journal)); 0; })); + ({ trans_wait_event(trans, &c->journal.async_wait, + !journal_low_on_space(&c->journal)); 0; })); if (ret) return ERR_PTR(ret); }