1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 23d14c5d2SYehuda Sadeh #ifndef _FS_CEPH_DEBUG_H 33d14c5d2SYehuda Sadeh #define _FS_CEPH_DEBUG_H 43d14c5d2SYehuda Sadeh 53d14c5d2SYehuda Sadeh #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt 63d14c5d2SYehuda Sadeh 76f4dbd14SIlya Dryomov #include <linux/string.h> 86f4dbd14SIlya Dryomov 93d14c5d2SYehuda Sadeh #ifdef CONFIG_CEPH_LIB_PRETTYDEBUG 103d14c5d2SYehuda Sadeh 113d14c5d2SYehuda Sadeh /* 123d14c5d2SYehuda Sadeh * wrap pr_debug to include a filename:lineno prefix on each line. 133d14c5d2SYehuda Sadeh * this incurs some overhead (kernel size and execution time) due to 143d14c5d2SYehuda Sadeh * the extra function call at each call site. 153d14c5d2SYehuda Sadeh */ 163d14c5d2SYehuda Sadeh 173d14c5d2SYehuda Sadeh # if defined(DEBUG) || defined(CONFIG_DYNAMIC_DEBUG) 183d14c5d2SYehuda Sadeh # define dout(fmt, ...) \ 193d14c5d2SYehuda Sadeh pr_debug("%.*s %12.12s:%-4d : " fmt, \ 203d14c5d2SYehuda Sadeh 8 - (int)sizeof(KBUILD_MODNAME), " ", \ 216f4dbd14SIlya Dryomov kbasename(__FILE__), __LINE__, ##__VA_ARGS__) 225c5f0d2bSXiubo Li # define doutc(client, fmt, ...) \ 235c5f0d2bSXiubo Li pr_debug("%.*s %12.12s:%-4d : [%pU %llu] " fmt, \ 245c5f0d2bSXiubo Li 8 - (int)sizeof(KBUILD_MODNAME), " ", \ 255c5f0d2bSXiubo Li kbasename(__FILE__), __LINE__, \ 265c5f0d2bSXiubo Li &client->fsid, client->monc.auth->global_id, \ 275c5f0d2bSXiubo Li ##__VA_ARGS__) 283d14c5d2SYehuda Sadeh # else 293d14c5d2SYehuda Sadeh /* faux printk call just to see any compiler warnings. */ 30*b37cafacSGeert Uytterhoeven # define dout(fmt, ...) \ 31*b37cafacSGeert Uytterhoeven no_printk(KERN_DEBUG fmt, ##__VA_ARGS__) 32*b37cafacSGeert Uytterhoeven # define doutc(client, fmt, ...) \ 33*b37cafacSGeert Uytterhoeven no_printk(KERN_DEBUG "[%pU %llu] " fmt, \ 345c5f0d2bSXiubo Li &client->fsid, \ 355c5f0d2bSXiubo Li client->monc.auth->global_id, \ 36*b37cafacSGeert Uytterhoeven ##__VA_ARGS__) 373d14c5d2SYehuda Sadeh # endif 383d14c5d2SYehuda Sadeh 393d14c5d2SYehuda Sadeh #else 403d14c5d2SYehuda Sadeh 413d14c5d2SYehuda Sadeh /* 423d14c5d2SYehuda Sadeh * or, just wrap pr_debug 433d14c5d2SYehuda Sadeh */ 443d14c5d2SYehuda Sadeh # define dout(fmt, ...) pr_debug(" " fmt, ##__VA_ARGS__) 455c5f0d2bSXiubo Li # define doutc(client, fmt, ...) \ 465c5f0d2bSXiubo Li pr_debug(" [%pU %llu] %s: " fmt, &client->fsid, \ 475c5f0d2bSXiubo Li client->monc.auth->global_id, __func__, ##__VA_ARGS__) 483d14c5d2SYehuda Sadeh 493d14c5d2SYehuda Sadeh #endif 503d14c5d2SYehuda Sadeh 515c5f0d2bSXiubo Li #define pr_notice_client(client, fmt, ...) \ 525c5f0d2bSXiubo Li pr_notice("[%pU %llu]: " fmt, &client->fsid, \ 535c5f0d2bSXiubo Li client->monc.auth->global_id, ##__VA_ARGS__) 545c5f0d2bSXiubo Li #define pr_info_client(client, fmt, ...) \ 555c5f0d2bSXiubo Li pr_info("[%pU %llu]: " fmt, &client->fsid, \ 565c5f0d2bSXiubo Li client->monc.auth->global_id, ##__VA_ARGS__) 575c5f0d2bSXiubo Li #define pr_warn_client(client, fmt, ...) \ 585c5f0d2bSXiubo Li pr_warn("[%pU %llu]: " fmt, &client->fsid, \ 595c5f0d2bSXiubo Li client->monc.auth->global_id, ##__VA_ARGS__) 605c5f0d2bSXiubo Li #define pr_warn_once_client(client, fmt, ...) \ 615c5f0d2bSXiubo Li pr_warn_once("[%pU %llu]: " fmt, &client->fsid, \ 625c5f0d2bSXiubo Li client->monc.auth->global_id, ##__VA_ARGS__) 635c5f0d2bSXiubo Li #define pr_err_client(client, fmt, ...) \ 645c5f0d2bSXiubo Li pr_err("[%pU %llu]: " fmt, &client->fsid, \ 655c5f0d2bSXiubo Li client->monc.auth->global_id, ##__VA_ARGS__) 665c5f0d2bSXiubo Li #define pr_warn_ratelimited_client(client, fmt, ...) \ 675c5f0d2bSXiubo Li pr_warn_ratelimited("[%pU %llu]: " fmt, &client->fsid, \ 685c5f0d2bSXiubo Li client->monc.auth->global_id, ##__VA_ARGS__) 695c5f0d2bSXiubo Li #define pr_err_ratelimited_client(client, fmt, ...) \ 705c5f0d2bSXiubo Li pr_err_ratelimited("[%pU %llu]: " fmt, &client->fsid, \ 715c5f0d2bSXiubo Li client->monc.auth->global_id, ##__VA_ARGS__) 725c5f0d2bSXiubo Li 733d14c5d2SYehuda Sadeh #endif 74