Commit e76a2b65 authored by Kent Overstreet's avatar Kent Overstreet

bcachefs: add might_sleep() annotations for fsck_err()

Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
parent 546b6537
...@@ -210,6 +210,8 @@ int bch2_fsck_err(struct bch_fs *c, ...@@ -210,6 +210,8 @@ int bch2_fsck_err(struct bch_fs *c,
int ret = -BCH_ERR_fsck_ignore; int ret = -BCH_ERR_fsck_ignore;
const char *action_orig = "fix?", *action = action_orig; const char *action_orig = "fix?", *action = action_orig;
might_sleep();
if (!WARN_ON(err >= ARRAY_SIZE(fsck_flags_extra))) if (!WARN_ON(err >= ARRAY_SIZE(fsck_flags_extra)))
flags |= fsck_flags_extra[err]; flags |= fsck_flags_extra[err];
......
...@@ -136,7 +136,10 @@ void bch2_flush_fsck_errs(struct bch_fs *); ...@@ -136,7 +136,10 @@ void bch2_flush_fsck_errs(struct bch_fs *);
/* XXX: mark in superblock that filesystem contains errors, if we ignore: */ /* XXX: mark in superblock that filesystem contains errors, if we ignore: */
#define __fsck_err_on(cond, c, _flags, _err_type, ...) \ #define __fsck_err_on(cond, c, _flags, _err_type, ...) \
(unlikely(cond) ? __fsck_err(c, _flags, _err_type, __VA_ARGS__) : false) ({ \
might_sleep(); \
(unlikely(cond) ? __fsck_err(c, _flags, _err_type, __VA_ARGS__) : false);\
}) \
#define need_fsck_err_on(cond, c, _err_type, ...) \ #define need_fsck_err_on(cond, c, _err_type, ...) \
__fsck_err_on(cond, c, FSCK_CAN_IGNORE|FSCK_NEED_FSCK, _err_type, __VA_ARGS__) __fsck_err_on(cond, c, FSCK_CAN_IGNORE|FSCK_NEED_FSCK, _err_type, __VA_ARGS__)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment