diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2018-07-20 23:42:06 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2018-07-20 23:42:06 -0400 |
commit | b5094ee8546ab9dbe099ee5fb0ef91af16b47f96 (patch) | |
tree | 0e7b85b480f2b982771036210825c8c122961b9a | |
parent | 76a549d82d1383c02e4aa6f7d9eda2df9f2196b3 (diff) |
Return errors from fsck properly
-rw-r--r-- | cmd_fsck.c | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -23,7 +23,7 @@ static void usage(void) int cmd_fsck(int argc, char *argv[]) { struct bch_opts opts = bch2_opts_empty(); - int opt; + int opt, ret = 0; opt_set(opts, degraded, true); opt_set(opts, fix_errors, FSCK_OPT_ASK); @@ -60,6 +60,11 @@ int cmd_fsck(int argc, char *argv[]) if (IS_ERR(c)) die("error opening %s: %s", argv[0], strerror(-PTR_ERR(c))); + if (test_bit(BCH_FS_FSCK_FIXED_ERRORS, &c->flags)) + ret = 2; + if (test_bit(BCH_FS_FSCK_UNFIXED_ERRORS, &c->flags)) + ret = 4; + bch2_fs_stop(c); - return 0; + return ret; } |