diff options
| author | Kent Overstreet <kent.overstreet@linux.dev> | 2025-05-28 11:27:59 -0400 |
|---|---|---|
| committer | Kent Overstreet <kent.overstreet@linux.dev> | 2025-05-30 11:20:18 -0400 |
| commit | dc43f6a70b9685acabfda210f7cbb0520e952510 (patch) | |
| tree | e9d4883f5473e09032924bf45ff5d3d5bf519bbf | |
| parent | bcachefs: Add missing printbuf_reset() in bch2_check_dirent_inode_dirent() (diff) | |
| download | linux-dc43f6a70b9685acabfda210f7cbb0520e952510.tar.gz linux-dc43f6a70b9685acabfda210f7cbb0520e952510.zip | |
bcachefs: Mark bch_errcode helpers __attribute__((const))
These don't access global memory or defer pointer arguments - this
enables CSE optimizations.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
| -rw-r--r-- | fs/bcachefs/errcode.c | 4 | ||||
| -rw-r--r-- | fs/bcachefs/errcode.h | 6 |
2 files changed, 7 insertions, 3 deletions
diff --git a/fs/bcachefs/errcode.c b/fs/bcachefs/errcode.c index 43557bebd0f8..c39cf304c681 100644 --- a/fs/bcachefs/errcode.c +++ b/fs/bcachefs/errcode.c @@ -13,12 +13,13 @@ static const char * const bch2_errcode_strs[] = { NULL }; -static unsigned bch2_errcode_parents[] = { +static const unsigned bch2_errcode_parents[] = { #define x(class, err) [BCH_ERR_##err - BCH_ERR_START] = class, BCH_ERRCODES() #undef x }; +__attribute__((const)) const char *bch2_err_str(int err) { const char *errstr; @@ -36,6 +37,7 @@ const char *bch2_err_str(int err) return errstr ?: "(Invalid error)"; } +__attribute__((const)) bool __bch2_err_matches(int err, int class) { err = abs(err); diff --git a/fs/bcachefs/errcode.h b/fs/bcachefs/errcode.h index 62843e772b2c..6b0791e1e64d 100644 --- a/fs/bcachefs/errcode.h +++ b/fs/bcachefs/errcode.h @@ -357,9 +357,11 @@ enum bch_errcode { BCH_ERR_MAX }; -const char *bch2_err_str(int); -bool __bch2_err_matches(int, int); +__attribute__((const)) const char *bch2_err_str(int); +__attribute__((const)) bool __bch2_err_matches(int, int); + +__attribute__((const)) static inline bool _bch2_err_matches(int err, int class) { return err < 0 && __bch2_err_matches(err, class); |
