The if condition was broken, ret was always assigned to BCH_ERR_fsck_delete_bkey
Signed-off-by: Alan Huang <mmpgour...@gmail.com> --- fs/bcachefs/error.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/bcachefs/error.h b/fs/bcachefs/error.h index 0c3c3a24fc6f..213814787dd6 100644 --- a/fs/bcachefs/error.h +++ b/fs/bcachefs/error.h @@ -173,7 +173,8 @@ do { \ if (!bch2_err_matches(_ret, BCH_ERR_fsck_fix) && \ !bch2_err_matches(_ret, BCH_ERR_fsck_ignore)) \ ret = _ret; \ - ret = bch_err_throw(c, fsck_delete_bkey); \ + else \ + ret = bch_err_throw(c, fsck_delete_bkey); \ goto fsck_err; \ } while (0) -- 2.49.0