GNU Linux-libre 6.9.2-gnu
[releases.git] / include / linux / ceph / ceph_debug.h
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