Current marco sbd_debug() will always print debug message while CONFIG_DYNAMIC_DEBUG=y. That's because the missing condition check of *_DPRINTK_FLAGS_PRINT*.
diff --git a/sbd/sbd.h b/sbd/sbd.h index c0b9ef3..97ab921 100644 --- a/sbd/sbd.h +++ b/sbd/sbd.h @@ -131,6 +131,7 @@ static inline int sbd_dev_id_to_minor(int id) # define sbd_debug(fmt, ...) \ ({ \ SBD_DYNAMIC_DEBUG_METADATA(descriptor, fmt); \ + if (unlikely(descriptor.flags & _DPRINTK_FLAGS_PRINT)) \ __dynamic_pr_debug(&descriptor, pr_fmt(fmt), \ ##__VA_ARGS__); \ See include/linux/dynamic_debug.h line 77. But I don't think this implement is good. We could directly call *pr_debug* as other kernel modules do. This patch redefine sbd_debug() as pr_debug call without changing messages format and of course fix the messages always printing problem. Signed-off-by: hujianyang <hujiany...@huawei.com> --- sbd/sbd.h | 32 +++----------------------------- 1 files changed, 3 insertions(+), 29 deletions(-) diff --git a/sbd/sbd.h b/sbd/sbd.h index c0b9ef3..5da4a90 100644 --- a/sbd/sbd.h +++ b/sbd/sbd.h @@ -112,34 +112,8 @@ static inline int sbd_dev_id_to_minor(int id) return id << SBD_MINORS_SHIFT; } -#if defined(CONFIG_DYNAMIC_DEBUG) && defined _DPRINTK_FLAGS_INCL_MODNAME - -# define _SBD_FLAGS ( _DPRINTK_FLAGS_INCL_MODNAME \ - | _DPRINTK_FLAGS_INCL_FUNCNAME | _DPRINTK_FLAGS_INCL_LINENO) - -# define SBD_DYNAMIC_DEBUG_METADATA(name, fmt) \ - static struct _ddebug __aligned(8) \ - __attribute__((section("__verbose"))) name = { \ - .modname = KBUILD_MODNAME, \ - .function = __func__, \ - .filename = __FILE__, \ - .format = (fmt), \ - .lineno = __LINE__, \ - .flags = _SBD_FLAGS, \ - } - -# define sbd_debug(fmt, ...) \ -({ \ - SBD_DYNAMIC_DEBUG_METADATA(descriptor, fmt); \ - __dynamic_pr_debug(&descriptor, pr_fmt(fmt), \ - ##__VA_ARGS__); \ -}) - -#else - -/* If -DDEBUG is not set, pr_debug = no_printk */ -# define sbd_debug pr_debug - -#endif /* CONFIG_DYNAMIC_DEBUG */ +#define sbd_debug(fmt, ...) \ + pr_debug("%s:%s:%u " fmt, KBUILD_MODNAME, __func__, \ + __LINE__, ##__VA_ARGS__) #endif /* _SBD_H_ */ -- 1.6.0.2 -- sheepdog mailing list sheepdog@lists.wpkg.org https://lists.wpkg.org/mailman/listinfo/sheepdog