summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2022-09-22 21:27:42 -0400
committerKent Overstreet <kent.overstreet@linux.dev>2022-10-03 23:55:11 -0400
commit3acf8ab3c234ed26eee4ceda4c881e3be034588a (patch)
treebbc45450833e806349b3c388aac5d14372165397
parenta32c53b455e34f2eacdde453ce3b6bcc9fe9373a (diff)
bcachefs: Fix error handling in bch2_btree_update_start()
We were checking for -EAGAIN, but we're not returned that when we didn't pass a closure to wait with - oops. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
-rw-r--r--fs/bcachefs/btree_update_interior.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/bcachefs/btree_update_interior.c b/fs/bcachefs/btree_update_interior.c
index 02e0497abad9..ce0a47f248e9 100644
--- a/fs/bcachefs/btree_update_interior.c
+++ b/fs/bcachefs/btree_update_interior.c
@@ -1108,8 +1108,8 @@ bch2_btree_update_start(struct btree_trans *trans, struct btree_path *path,
goto err;
ret = bch2_btree_reserve_get(trans, as, nr_nodes, flags, NULL);
- if (ret == -EAGAIN ||
- ret == -ENOMEM) {
+ if (bch2_err_matches(ret, ENOSPC) ||
+ bch2_err_matches(ret, ENOMEM)) {
struct closure cl;
closure_init_stack(&cl);