diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2019-03-21 19:12:52 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2019-03-21 19:12:52 -0400 |
commit | 2e1894388d20bbc9397248daf39c62d36d2f86ea (patch) | |
tree | 7306b9b6b8ce6e79e78a8d4711e1307cb1803819 | |
parent | 8c0fe88ca2ca8dae7f5723ffb89a069743974279 (diff) |
bcachefs: Fix error handling in gc
-rw-r--r-- | fs/bcachefs/btree_gc.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/fs/bcachefs/btree_gc.c b/fs/bcachefs/btree_gc.c index 634b69a4dcb0..af75878c06bd 100644 --- a/fs/bcachefs/btree_gc.c +++ b/fs/bcachefs/btree_gc.c @@ -258,15 +258,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) |