diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2017-12-03 20:29:09 -0500 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2018-02-18 21:14:59 -0500 |
commit | b28b848e8b8041908525b1ff837f0fc274633cb1 (patch) | |
tree | 207f118ef1a5974c15b3af02477fde5ffb16c89b /fs/bcachefs/error.c | |
parent | 640c2782d855d237bfe3df5443f0e611d4ae1fee (diff) |
error handlingbcachefs_disk_groups
Diffstat (limited to 'fs/bcachefs/error.c')
-rw-r--r-- | fs/bcachefs/error.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/fs/bcachefs/error.c b/fs/bcachefs/error.c index ca2a06e2e4eb..d75e1ef9a675 100644 --- a/fs/bcachefs/error.c +++ b/fs/bcachefs/error.c @@ -3,6 +3,22 @@ #include "io.h" #include "super.h" +void __bch2_fs_bug(struct bch_fs *c) +{ + set_bit(BCH_FS_ERROR, &c->flags); + + switch (c->opts.errors) { + case BCH_ON_ERROR_CONTINUE: + case BCH_ON_ERROR_RO: + if (bch2_fs_emergency_read_only(c)) + bch_err(c, "emergency read only"); + break; + case BCH_ON_ERROR_PANIC: + panic(bch2_fmt(c, "panic after error")); + break; + } +} + void bch2_inconsistent_error(struct bch_fs *c) { set_bit(BCH_FS_ERROR, &c->flags); |