diff options
Diffstat (limited to 'libbcachefs/fsck.c')
-rw-r--r-- | libbcachefs/fsck.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/libbcachefs/fsck.c b/libbcachefs/fsck.c index 144f074b..f48033be 100644 --- a/libbcachefs/fsck.c +++ b/libbcachefs/fsck.c @@ -5,6 +5,7 @@ #include "btree_cache.h" #include "btree_update.h" #include "buckets.h" +#include "darray.h" #include "dirent.h" #include "error.h" #include "fs-common.h" @@ -17,7 +18,6 @@ #include "xattr.h" #include <linux/bsearch.h> -#include <linux/darray.h> #include <linux/dcache.h> /* struct qstr */ /* @@ -849,12 +849,9 @@ static int check_inode_deleted_list(struct btree_trans *trans, struct bpos p) { struct btree_iter iter; struct bkey_s_c k = bch2_bkey_get_iter(trans, &iter, BTREE_ID_deleted_inodes, p, 0); - int ret = bkey_err(k); - if (ret) - return ret; - + int ret = bkey_err(k) ?: k.k->type == KEY_TYPE_set; bch2_trans_iter_exit(trans, &iter); - return k.k->type == KEY_TYPE_set; + return ret; } static int check_inode_dirent_inode(struct btree_trans *trans, struct bkey_s_c inode_k, @@ -970,7 +967,7 @@ static int check_inode(struct btree_trans *trans, if (ret < 0) return ret; - fsck_err_on(ret, c, unlinked_inode_not_on_deleted_list, + fsck_err_on(!ret, c, unlinked_inode_not_on_deleted_list, "inode %llu:%u unlinked, but not on deleted list", u.bi_inum, k.k->p.snapshot); ret = 0; |