diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2022-08-18 12:32:10 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2022-08-18 12:49:48 -0400 |
commit | dded444b20dd3f47393937315b8217535ff3c51d (patch) | |
tree | c6f6b3973b5de757b458bb9e0f4c7d81e4fbef4d /libbcachefs/fsck.c | |
parent | 51ffcc699369deaa0fb4333a68bbbdf523afba11 (diff) |
Update bcachefs sources to dfaf9a6ee2 lib/printbuf: Clean up headers
Diffstat (limited to 'libbcachefs/fsck.c')
-rw-r--r-- | libbcachefs/fsck.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/libbcachefs/fsck.c b/libbcachefs/fsck.c index c93e177a..1a841146 100644 --- a/libbcachefs/fsck.c +++ b/libbcachefs/fsck.c @@ -290,7 +290,7 @@ err: if (bch2_err_matches(ret, BCH_ERR_transaction_restart)) goto retry; - return ret; + return ret ?: -BCH_ERR_transaction_restart_nested; } static int __remove_dirent(struct btree_trans *trans, struct bpos pos) @@ -914,7 +914,7 @@ static int check_inode(struct btree_trans *trans, bch2_fs_lazy_rw(c); ret = fsck_inode_rm(trans, u.bi_inum, iter->pos.snapshot); - if (ret) + if (ret && !bch2_err_matches(ret, BCH_ERR_transaction_restart)) bch_err(c, "error in fsck: error while deleting inode: %s", bch2_err_str(ret)); return ret; @@ -1149,13 +1149,11 @@ static int check_i_sectors(struct btree_trans *trans, struct inode_walker *w) } } fsck_err: - if (ret) { + if (ret) bch_err(c, "error from check_i_sectors(): %s", bch2_err_str(ret)); - return ret; - } - if (trans_was_restarted(trans, restart_count)) - return -BCH_ERR_transaction_restart_nested; - return 0; + if (!ret && trans_was_restarted(trans, restart_count)) + ret = -BCH_ERR_transaction_restart_nested; + return ret; } static int check_extent(struct btree_trans *trans, struct btree_iter *iter, |