1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef _FS_CEPH_DEBUG_H 3#define _FS_CEPH_DEBUG_H 4 5#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt 6 7#include <linux/string.h> 8 9#ifdef CONFIG_CEPH_LIB_PRETTYDEBUG 10 11/* 12 * wrap pr_debug to include a filename:lineno prefix on each line. 13 * this incurs some overhead (kernel size and execution time) due to 14 * the extra function call at each call site. 15 */ 16 17# if defined(DEBUG) || defined(CONFIG_DYNAMIC_DEBUG) 18# define dout(fmt, ...) \ 19 pr_debug("%.*s %12.12s:%-4d : " fmt, \ 20 8 - (int)sizeof(KBUILD_MODNAME), " ", \ 21 kbasename(__FILE__), __LINE__, ##__VA_ARGS__) 22# define doutc(client, fmt, ...) \ 23 pr_debug("%.*s %12.12s:%-4d : [%pU %llu] " fmt, \ 24 8 - (int)sizeof(KBUILD_MODNAME), " ", \ 25 kbasename(__FILE__), __LINE__, \ 26 &client->fsid, client->monc.auth->global_id, \ 27 ##__VA_ARGS__) 28# else 29/* faux printk call just to see any compiler warnings. */ 30# define dout(fmt, ...) do { \ 31 if (0) \ 32 printk(KERN_DEBUG fmt, ##__VA_ARGS__); \ 33 } while (0) 34# define doutc(client, fmt, ...) do { \ 35 if (0) \ 36 printk(KERN_DEBUG "[%pU %llu] " fmt, \ 37 &client->fsid, \ 38 client->monc.auth->global_id, \ 39 ##__VA_ARGS__); \ 40 } while (0) 41# endif 42 43#else 44 45/* 46 * or, just wrap pr_debug 47 */ 48# define dout(fmt, ...) pr_debug(" " fmt, ##__VA_ARGS__) 49# define doutc(client, fmt, ...) \ 50 pr_debug(" [%pU %llu] %s: " fmt, &client->fsid, \ 51 client->monc.auth->global_id, __func__, ##__VA_ARGS__) 52 53#endif 54 55#define pr_notice_client(client, fmt, ...) \ 56 pr_notice("[%pU %llu]: " fmt, &client->fsid, \ 57 client->monc.auth->global_id, ##__VA_ARGS__) 58#define pr_info_client(client, fmt, ...) \ 59 pr_info("[%pU %llu]: " fmt, &client->fsid, \ 60 client->monc.auth->global_id, ##__VA_ARGS__) 61#define pr_warn_client(client, fmt, ...) \ 62 pr_warn("[%pU %llu]: " fmt, &client->fsid, \ 63 client->monc.auth->global_id, ##__VA_ARGS__) 64#define pr_warn_once_client(client, fmt, ...) \ 65 pr_warn_once("[%pU %llu]: " fmt, &client->fsid, \ 66 client->monc.auth->global_id, ##__VA_ARGS__) 67#define pr_err_client(client, fmt, ...) \ 68 pr_err("[%pU %llu]: " fmt, &client->fsid, \ 69 client->monc.auth->global_id, ##__VA_ARGS__) 70#define pr_warn_ratelimited_client(client, fmt, ...) \ 71 pr_warn_ratelimited("[%pU %llu]: " fmt, &client->fsid, \ 72 client->monc.auth->global_id, ##__VA_ARGS__) 73#define pr_err_ratelimited_client(client, fmt, ...) \ 74 pr_err_ratelimited("[%pU %llu]: " fmt, &client->fsid, \ 75 client->monc.auth->global_id, ##__VA_ARGS__) 76 77#endif 78