summaryrefslogtreecommitdiff
path: root/libbcachefs/error.c
diff options
context:
space:
mode:
Diffstat (limited to 'libbcachefs/error.c')
-rw-r--r--libbcachefs/error.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/libbcachefs/error.c b/libbcachefs/error.c
index e33f3166..a16f55d9 100644
--- a/libbcachefs/error.c
+++ b/libbcachefs/error.c
@@ -394,7 +394,7 @@ int bch2_fsck_err_opt(struct bch_fs *c,
flags |= fsck_flags_extra[err];
if (test_bit(BCH_FS_in_fsck, &c->flags) ||
- test_bit(BCH_FS_in_recovery, &c->flags)) {
+ c->opts.fix_errors != FSCK_FIX_exit) {
if (!(flags & (FSCK_CAN_FIX|FSCK_CAN_IGNORE)))
return bch_err_throw(c, fsck_repair_unimplemented);
@@ -468,10 +468,10 @@ int __bch2_fsck_err(struct bch_fs *c,
if ((flags & FSCK_ERR_SILENT) ||
test_bit(err, c->sb.errors_silent)) {
- ret = flags & FSCK_CAN_FIX
+ set_bit(BCH_FS_errors_fixed_silent, &c->flags);
+ return flags & FSCK_CAN_FIX
? bch_err_throw(c, fsck_fix)
: bch_err_throw(c, fsck_ignore);
- goto err;
}
printbuf_indent_add_nextline(out, 2);