diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-25 15:51:16 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-11-01 21:11:08 -0400 |
commit | f5d26fa31ed2e260589f0bc8af010bb742f1231e (patch) | |
tree | 3d80b5c4ea7ac0a01bf1dba58a104d84d5a70e9b /fs/bcachefs/sb-errors.h | |
parent | 94119eeb02d114aa1f78dcfaabdca50b9b626790 (diff) | |
download | linux-stable-f5d26fa31ed2e260589f0bc8af010bb742f1231e.tar.gz linux-stable-f5d26fa31ed2e260589f0bc8af010bb742f1231e.tar.bz2 linux-stable-f5d26fa31ed2e260589f0bc8af010bb742f1231e.zip |
bcachefs: bch_sb_field_errors
Add a new superblock section to keep counts of errors seen since
filesystem creation: we'll be addingcounters for every distinct fsck
error.
The new superblock section has entries of the for [ id, count,
time_of_last_error ]; this is intended to let us see what errors are
occuring - and getting fixed - via show-super output.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/sb-errors.h')
-rw-r--r-- | fs/bcachefs/sb-errors.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/fs/bcachefs/sb-errors.h b/fs/bcachefs/sb-errors.h new file mode 100644 index 000000000000..7f8172821240 --- /dev/null +++ b/fs/bcachefs/sb-errors.h @@ -0,0 +1,26 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _BCACHEFS_SB_ERRORS_H +#define _BCACHEFS_SB_ERRORS_H + +#include "sb-errors_types.h" + +#define BCH_SB_ERRS() + +enum bch_sb_error_id { +#define x(t, n) BCH_FSCK_ERR_##t = n, + BCH_SB_ERRS() +#undef x + BCH_SB_ERR_MAX +}; + +extern const struct bch_sb_field_ops bch_sb_field_ops_errors; + +void bch2_sb_error_count(struct bch_fs *, enum bch_sb_error_id); + +void bch2_sb_errors_from_cpu(struct bch_fs *); + +void bch2_fs_sb_errors_exit(struct bch_fs *); +void bch2_fs_sb_errors_init_early(struct bch_fs *); +int bch2_fs_sb_errors_init(struct bch_fs *); + +#endif /* _BCACHEFS_SB_ERRORS_H */ |