1#ifndef __XFS_MESSAGE_H 2#define __XFS_MESSAGE_H 1 3 4struct xfs_mount; 5 6extern __printf(2, 3) 7void xfs_emerg(const struct xfs_mount *mp, const char *fmt, ...); 8extern __printf(2, 3) 9void xfs_alert(const struct xfs_mount *mp, const char *fmt, ...); 10extern __printf(3, 4) 11void xfs_alert_tag(const struct xfs_mount *mp, int tag, const char *fmt, ...); 12extern __printf(2, 3) 13void xfs_crit(const struct xfs_mount *mp, const char *fmt, ...); 14extern __printf(2, 3) 15void xfs_err(const struct xfs_mount *mp, const char *fmt, ...); 16extern __printf(2, 3) 17void xfs_warn(const struct xfs_mount *mp, const char *fmt, ...); 18extern __printf(2, 3) 19void xfs_notice(const struct xfs_mount *mp, const char *fmt, ...); 20extern __printf(2, 3) 21void xfs_info(const struct xfs_mount *mp, const char *fmt, ...); 22 23#ifdef DEBUG 24extern __printf(2, 3) 25void xfs_debug(const struct xfs_mount *mp, const char *fmt, ...); 26#else 27static inline __printf(2, 3) 28void xfs_debug(const struct xfs_mount *mp, const char *fmt, ...) 29{ 30} 31#endif 32 33#define xfs_printk_ratelimited(func, dev, fmt, ...) \ 34do { \ 35 static DEFINE_RATELIMIT_STATE(_rs, \ 36 DEFAULT_RATELIMIT_INTERVAL, \ 37 DEFAULT_RATELIMIT_BURST); \ 38 if (__ratelimit(&_rs)) \ 39 func(dev, fmt, ##__VA_ARGS__); \ 40} while (0) 41 42#define xfs_emerg_ratelimited(dev, fmt, ...) \ 43 xfs_printk_ratelimited(xfs_emerg, dev, fmt, ##__VA_ARGS__) 44#define xfs_alert_ratelimited(dev, fmt, ...) \ 45 xfs_printk_ratelimited(xfs_alert, dev, fmt, ##__VA_ARGS__) 46#define xfs_crit_ratelimited(dev, fmt, ...) \ 47 xfs_printk_ratelimited(xfs_crit, dev, fmt, ##__VA_ARGS__) 48#define xfs_err_ratelimited(dev, fmt, ...) \ 49 xfs_printk_ratelimited(xfs_err, dev, fmt, ##__VA_ARGS__) 50#define xfs_warn_ratelimited(dev, fmt, ...) \ 51 xfs_printk_ratelimited(xfs_warn, dev, fmt, ##__VA_ARGS__) 52#define xfs_notice_ratelimited(dev, fmt, ...) \ 53 xfs_printk_ratelimited(xfs_notice, dev, fmt, ##__VA_ARGS__) 54#define xfs_info_ratelimited(dev, fmt, ...) \ 55 xfs_printk_ratelimited(xfs_info, dev, fmt, ##__VA_ARGS__) 56#define xfs_debug_ratelimited(dev, fmt, ...) \ 57 xfs_printk_ratelimited(xfs_debug, dev, fmt, ##__VA_ARGS__) 58 59extern void assfail(char *expr, char *f, int l); 60extern void asswarn(char *expr, char *f, int l); 61 62extern void xfs_hex_dump(void *p, int length); 63 64#endif /* __XFS_MESSAGE_H */ 65