summaryrefslogtreecommitdiff
path: root/fs/ceph/ceph_debug.h
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2009-10-06 22:31:07 +0400
committerSage Weil <sage@newdream.net>2009-10-06 22:31:07 +0400
commitde57606c23afded22202825b3db8a5d61859f198 (patch)
tree87ca160cf9655161dbd3c42b1bdc23c4b5584e1d /fs/ceph/ceph_debug.h
parent0dee3c28af2fbe22ca62739a7f57da5435d35793 (diff)
downloadlinux-de57606c23afded22202825b3db8a5d61859f198.tar.xz
ceph: client types
We first define constants, types, and prototypes for the kernel client proper. A few subsystems are defined separately later: the MDS, OSD, and monitor clients, and the messaging layer. Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'fs/ceph/ceph_debug.h')
-rw-r--r--fs/ceph/ceph_debug.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/fs/ceph/ceph_debug.h b/fs/ceph/ceph_debug.h
new file mode 100644
index 000000000000..1818c2305610
--- /dev/null
+++ b/fs/ceph/ceph_debug.h
@@ -0,0 +1,37 @@
+#ifndef _FS_CEPH_DEBUG_H
+#define _FS_CEPH_DEBUG_H
+
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
+#ifdef CONFIG_CEPH_FS_PRETTYDEBUG
+
+/*
+ * wrap pr_debug to include a filename:lineno prefix on each line.
+ * this incurs some overhead (kernel size and execution time) due to
+ * the extra function call at each call site.
+ */
+
+# if defined(DEBUG) || defined(CONFIG_DYNAMIC_DEBUG)
+extern const char *ceph_file_part(const char *s, int len);
+# define dout(fmt, ...) \
+ pr_debug(" %12.12s:%-4d : " fmt, \
+ ceph_file_part(__FILE__, sizeof(__FILE__)), \
+ __LINE__, ##__VA_ARGS__)
+# else
+/* faux printk call just to see any compiler warnings. */
+# define dout(fmt, ...) do { \
+ if (0) \
+ printk(KERN_DEBUG fmt, ##__VA_ARGS__); \
+ } while (0)
+# endif
+
+#else
+
+/*
+ * or, just wrap pr_debug
+ */
+# define dout(fmt, ...) pr_debug(" " fmt, ##__VA_ARGS__)
+
+#endif
+
+#endif