From 8b2b9d11b9d0aea6401546780e84adcf51e27ba4 Mon Sep 17 00:00:00 2001 From: Kent Overstreet Date: Thu, 21 Mar 2019 19:12:52 -0400 Subject: [PATCH] bcachefs: Fix error handling in gc Signed-off-by: Kent Overstreet --- fs/bcachefs/btree_gc.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/fs/bcachefs/btree_gc.c b/fs/bcachefs/btree_gc.c index 0069d6cb6e5dd..302793d84b929 100644 --- a/fs/bcachefs/btree_gc.c +++ b/fs/bcachefs/btree_gc.c @@ -261,15 +261,14 @@ static int bch2_gc_btree(struct bch_fs *c, enum btree_id btree_id, return ret; mutex_lock(&c->btree_root_lock); - b = c->btree_roots[btree_id].b; if (!btree_node_fake(b)) - bch2_gc_mark_key(c, bkey_i_to_s_c(&b->key), - &max_stale, initial); + ret = bch2_gc_mark_key(c, bkey_i_to_s_c(&b->key), + &max_stale, initial); gc_pos_set(c, gc_pos_btree_root(b->btree_id)); - mutex_unlock(&c->btree_root_lock); - return 0; + + return ret; } static inline int btree_id_gc_phase_cmp(enum btree_id l, enum btree_id r) -- 2.30.2