Commit e76a2b65 authored by Kent Overstreet's avatar Kent Overstreet
Browse files

bcachefs: add might_sleep() annotations for fsck_err()

parent 546b6537
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -210,6 +210,8 @@ int bch2_fsck_err(struct bch_fs *c,
	int ret = -BCH_ERR_fsck_ignore;
	const char *action_orig = "fix?", *action = action_orig;

	might_sleep();

	if (!WARN_ON(err >= ARRAY_SIZE(fsck_flags_extra)))
		flags |= fsck_flags_extra[err];

+4 −1
Original line number Diff line number Diff line
@@ -136,7 +136,10 @@ void bch2_flush_fsck_errs(struct bch_fs *);
/* XXX: mark in superblock that filesystem contains errors, if we ignore: */

#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, ...)				\
	__fsck_err_on(cond, c, FSCK_CAN_IGNORE|FSCK_NEED_FSCK, _err_type, __VA_ARGS__)