From eb4694e4013441ac1842713a705437c394e2e21c Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Fri, 12 Feb 2016 19:28:03 -0800 Subject: [PATCH] Add simple message printing Add a message printing function whose output includes the device and major:minor and which handles the kernel level string prefix. Signed-off-by: Zach Brown --- kmod/src/msg.c | 20 ++++++++++++++++++++ kmod/src/msg.h | 16 ++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 kmod/src/msg.c create mode 100644 kmod/src/msg.h diff --git a/kmod/src/msg.c b/kmod/src/msg.c new file mode 100644 index 00000000..e177af07 --- /dev/null +++ b/kmod/src/msg.c @@ -0,0 +1,20 @@ +#include +#include + +void scoutfs_msg(struct super_block *sb, const char *prefix, const char *str, + const char *fmt, ...) +{ + struct va_format vaf; + va_list args; + + va_start(args, fmt); + + vaf.fmt = fmt; + vaf.va = &args; + + printk("%sscoutfs (%s %u:%u)%s: %pV\n", prefix, + sb->s_id, MAJOR(sb->s_bdev->bd_dev), MINOR(sb->s_bdev->bd_dev), + str, &vaf); + + va_end(args); +} diff --git a/kmod/src/msg.h b/kmod/src/msg.h new file mode 100644 index 00000000..64376f9a --- /dev/null +++ b/kmod/src/msg.h @@ -0,0 +1,16 @@ +#ifndef _SCOUTFS_MSG_H_ +#define _SCOUTFS_MSG_H_ + +void scoutfs_msg(struct super_block *sb, const char *prefix, const char *str, + const char *fmt, ...); + +#define scoutfs_err(sb, fmt, args...) \ + scoutfs_msg(sb, KERN_ERR, " error", fmt, ##args) + +#define scoutfs_warn(sb, fmt, args...) \ + scoutfs_msg(sb, KERN_WARNING, " warning", fmt, ##args) + +#define scoutfs_info(sb, fmt, args...) \ + scoutfs_msg(sb, KERN_INFO, "", fmt, ##args) + +#endif