xref: /openbmc/linux/fs/jffs2/debug.h (revision 8fdaaf4c)
1730554d9SArtem B. Bityutskiy /*
2730554d9SArtem B. Bityutskiy  * JFFS2 -- Journalling Flash File System, Version 2.
3730554d9SArtem B. Bityutskiy  *
4c00c310eSDavid Woodhouse  * Copyright © 2001-2007 Red Hat, Inc.
56088c058SDavid Woodhouse  * Copyright © 2004-2010 David Woodhouse <dwmw2@infradead.org>
6730554d9SArtem B. Bityutskiy  *
7730554d9SArtem B. Bityutskiy  * Created by David Woodhouse <dwmw2@infradead.org>
8730554d9SArtem B. Bityutskiy  *
9730554d9SArtem B. Bityutskiy  * For licensing information, see the file 'LICENCE' in this directory.
10730554d9SArtem B. Bityutskiy  *
11730554d9SArtem B. Bityutskiy  */
12c00c310eSDavid Woodhouse 
13730554d9SArtem B. Bityutskiy #ifndef _JFFS2_DEBUG_H_
14730554d9SArtem B. Bityutskiy #define _JFFS2_DEBUG_H_
15730554d9SArtem B. Bityutskiy 
16*8fdaaf4cSRandy Dunlap #include <linux/printk.h>
17e499e01dSDavid Woodhouse #include <linux/sched.h>
18730554d9SArtem B. Bityutskiy 
19730554d9SArtem B. Bityutskiy #ifndef CONFIG_JFFS2_FS_DEBUG
20f538c96bSArtem B. Bityutskiy #define CONFIG_JFFS2_FS_DEBUG 0
21730554d9SArtem B. Bityutskiy #endif
22730554d9SArtem B. Bityutskiy 
23008531f4SArtem B. Bityutskiy #if CONFIG_JFFS2_FS_DEBUG > 0
24e0c8e42fSArtem B. Bityutskiy /* Enable "paranoia" checks and dumps */
25730554d9SArtem B. Bityutskiy #define JFFS2_DBG_PARANOIA_CHECKS
26e0c8e42fSArtem B. Bityutskiy #define JFFS2_DBG_DUMPS
27733802d9SArtem B. Bityutskiy 
28733802d9SArtem B. Bityutskiy /*
29733802d9SArtem B. Bityutskiy  * By defining/undefining the below macros one may select debugging messages
30733802d9SArtem B. Bityutskiy  * fro specific JFFS2 subsystems.
31733802d9SArtem B. Bityutskiy  */
32e0c8e42fSArtem B. Bityutskiy #define JFFS2_DBG_READINODE_MESSAGES
33e0c8e42fSArtem B. Bityutskiy #define JFFS2_DBG_FRAGTREE_MESSAGES
34e0c8e42fSArtem B. Bityutskiy #define JFFS2_DBG_DENTLIST_MESSAGES
35e0c8e42fSArtem B. Bityutskiy #define JFFS2_DBG_NODEREF_MESSAGES
36e0c8e42fSArtem B. Bityutskiy #define JFFS2_DBG_INOCACHE_MESSAGES
37e631ddbaSFerenc Havasi #define JFFS2_DBG_SUMMARY_MESSAGES
38733802d9SArtem B. Bityutskiy #define JFFS2_DBG_FSBUILD_MESSAGES
39e0c8e42fSArtem B. Bityutskiy #endif
40e0c8e42fSArtem B. Bityutskiy 
41008531f4SArtem B. Bityutskiy #if CONFIG_JFFS2_FS_DEBUG > 1
42e0c8e42fSArtem B. Bityutskiy #define JFFS2_DBG_FRAGTREE2_MESSAGES
432c61cb25SDavid Woodhouse #define JFFS2_DBG_READINODE2_MESSAGES
44733802d9SArtem B. Bityutskiy #define JFFS2_DBG_MEMALLOC_MESSAGES
45e0c8e42fSArtem B. Bityutskiy #endif
46e0c8e42fSArtem B. Bityutskiy 
4745ca1b50SArtem B. Bityutskiy /* Sanity checks are supposed to be light-weight and enabled by default */
48e0c8e42fSArtem B. Bityutskiy #define JFFS2_DBG_SANITY_CHECKS
49e0c8e42fSArtem B. Bityutskiy 
50e0c8e42fSArtem B. Bityutskiy /*
51e0c8e42fSArtem B. Bityutskiy  * Dx() are mainly used for debugging messages, they must go away and be
52733802d9SArtem B. Bityutskiy  * superseded by nicer dbg_xxx() macros...
53e0c8e42fSArtem B. Bityutskiy  */
54e0c8e42fSArtem B. Bityutskiy #if CONFIG_JFFS2_FS_DEBUG > 0
559c261b33SJoe Perches #define DEBUG
56730554d9SArtem B. Bityutskiy #define D1(x) x
57730554d9SArtem B. Bityutskiy #else
58730554d9SArtem B. Bityutskiy #define D1(x)
59730554d9SArtem B. Bityutskiy #endif
60730554d9SArtem B. Bityutskiy 
61730554d9SArtem B. Bityutskiy #if CONFIG_JFFS2_FS_DEBUG > 1
62730554d9SArtem B. Bityutskiy #define D2(x) x
63730554d9SArtem B. Bityutskiy #else
64730554d9SArtem B. Bityutskiy #define D2(x)
65730554d9SArtem B. Bityutskiy #endif
66730554d9SArtem B. Bityutskiy 
679c261b33SJoe Perches #define jffs2_dbg(level, fmt, ...)		\
689c261b33SJoe Perches do {						\
699c261b33SJoe Perches 	if (CONFIG_JFFS2_FS_DEBUG >= level)	\
709c261b33SJoe Perches 		pr_debug(fmt, ##__VA_ARGS__);	\
719c261b33SJoe Perches } while (0)
729c261b33SJoe Perches 
73e0c8e42fSArtem B. Bityutskiy /* The prefixes of JFFS2 messages */
7481e39cf0SArtem B. Bityutskiy #define JFFS2_DBG		KERN_DEBUG
759bbf29e4SJoe Perches #define JFFS2_DBG_PREFIX	"[JFFS2 DBG]"
7681e39cf0SArtem B. Bityutskiy #define JFFS2_DBG_MSG_PREFIX	JFFS2_DBG JFFS2_DBG_PREFIX
77730554d9SArtem B. Bityutskiy 
78e0c8e42fSArtem B. Bityutskiy /* JFFS2 message macros */
79e0c8e42fSArtem B. Bityutskiy #define JFFS2_ERROR(fmt, ...)					\
809bbf29e4SJoe Perches 	pr_err("error: (%d) %s: " fmt,				\
819bbf29e4SJoe Perches 	       task_pid_nr(current), __func__, ##__VA_ARGS__)
82730554d9SArtem B. Bityutskiy 
83e0c8e42fSArtem B. Bityutskiy #define JFFS2_WARNING(fmt, ...)						\
849bbf29e4SJoe Perches 	pr_warn("warning: (%d) %s: " fmt,				\
859bbf29e4SJoe Perches 		task_pid_nr(current), __func__, ##__VA_ARGS__)
86730554d9SArtem B. Bityutskiy 
87e0c8e42fSArtem B. Bityutskiy #define JFFS2_NOTICE(fmt, ...)						\
889bbf29e4SJoe Perches 	pr_notice("notice: (%d) %s: " fmt,				\
899bbf29e4SJoe Perches 		  task_pid_nr(current), __func__, ##__VA_ARGS__)
90e0c8e42fSArtem B. Bityutskiy 
91e0c8e42fSArtem B. Bityutskiy #define JFFS2_DEBUG(fmt, ...)						\
929bbf29e4SJoe Perches 	printk(KERN_DEBUG "[JFFS2 DBG] (%d) %s: " fmt,			\
939bbf29e4SJoe Perches 	       task_pid_nr(current), __func__, ##__VA_ARGS__)
94e0c8e42fSArtem B. Bityutskiy 
95e0c8e42fSArtem B. Bityutskiy /*
96e0c8e42fSArtem B. Bityutskiy  * We split our debugging messages on several parts, depending on the JFFS2
97e0c8e42fSArtem B. Bityutskiy  * subsystem the message belongs to.
98e0c8e42fSArtem B. Bityutskiy  */
99e0c8e42fSArtem B. Bityutskiy /* Read inode debugging messages */
100e0c8e42fSArtem B. Bityutskiy #ifdef JFFS2_DBG_READINODE_MESSAGES
101733802d9SArtem B. Bityutskiy #define dbg_readinode(fmt, ...)	JFFS2_DEBUG(fmt, ##__VA_ARGS__)
102e0c8e42fSArtem B. Bityutskiy #else
103*8fdaaf4cSRandy Dunlap #define dbg_readinode(fmt, ...)	no_printk(fmt, ##__VA_ARGS__)
104730554d9SArtem B. Bityutskiy #endif
1052c61cb25SDavid Woodhouse #ifdef JFFS2_DBG_READINODE2_MESSAGES
1062c61cb25SDavid Woodhouse #define dbg_readinode2(fmt, ...)	JFFS2_DEBUG(fmt, ##__VA_ARGS__)
1072c61cb25SDavid Woodhouse #else
108*8fdaaf4cSRandy Dunlap #define dbg_readinode2(fmt, ...)	no_printk(fmt, ##__VA_ARGS__)
1092c61cb25SDavid Woodhouse #endif
110730554d9SArtem B. Bityutskiy 
111e0c8e42fSArtem B. Bityutskiy /* Fragtree build debugging messages */
112e0c8e42fSArtem B. Bityutskiy #ifdef JFFS2_DBG_FRAGTREE_MESSAGES
113733802d9SArtem B. Bityutskiy #define dbg_fragtree(fmt, ...)	JFFS2_DEBUG(fmt, ##__VA_ARGS__)
114e0c8e42fSArtem B. Bityutskiy #else
115*8fdaaf4cSRandy Dunlap #define dbg_fragtree(fmt, ...)	no_printk(fmt, ##__VA_ARGS__)
116e0c8e42fSArtem B. Bityutskiy #endif
117e0e3006fSArtem B. Bityutskiy #ifdef JFFS2_DBG_FRAGTREE2_MESSAGES
118733802d9SArtem B. Bityutskiy #define dbg_fragtree2(fmt, ...)	JFFS2_DEBUG(fmt, ##__VA_ARGS__)
119e0e3006fSArtem B. Bityutskiy #else
120*8fdaaf4cSRandy Dunlap #define dbg_fragtree2(fmt, ...)	no_printk(fmt, ##__VA_ARGS__)
121e0e3006fSArtem B. Bityutskiy #endif
122730554d9SArtem B. Bityutskiy 
123e0c8e42fSArtem B. Bityutskiy /* Directory entry list manilulation debugging messages */
124e0c8e42fSArtem B. Bityutskiy #ifdef JFFS2_DBG_DENTLIST_MESSAGES
125733802d9SArtem B. Bityutskiy #define dbg_dentlist(fmt, ...)	JFFS2_DEBUG(fmt, ##__VA_ARGS__)
126e0c8e42fSArtem B. Bityutskiy #else
127*8fdaaf4cSRandy Dunlap #define dbg_dentlist(fmt, ...)	no_printk(fmt, ##__VA_ARGS__)
128e0c8e42fSArtem B. Bityutskiy #endif
129e0c8e42fSArtem B. Bityutskiy 
130f538c96bSArtem B. Bityutskiy /* Print the messages about manipulating node_refs */
131e0c8e42fSArtem B. Bityutskiy #ifdef JFFS2_DBG_NODEREF_MESSAGES
132733802d9SArtem B. Bityutskiy #define dbg_noderef(fmt, ...)	JFFS2_DEBUG(fmt, ##__VA_ARGS__)
133e0c8e42fSArtem B. Bityutskiy #else
134*8fdaaf4cSRandy Dunlap #define dbg_noderef(fmt, ...)	no_printk(fmt, ##__VA_ARGS__)
135e0c8e42fSArtem B. Bityutskiy #endif
136e0c8e42fSArtem B. Bityutskiy 
137f538c96bSArtem B. Bityutskiy /* Manipulations with the list of inodes (JFFS2 inocache) */
138e0c8e42fSArtem B. Bityutskiy #ifdef JFFS2_DBG_INOCACHE_MESSAGES
139733802d9SArtem B. Bityutskiy #define dbg_inocache(fmt, ...)	JFFS2_DEBUG(fmt, ##__VA_ARGS__)
140e0c8e42fSArtem B. Bityutskiy #else
141*8fdaaf4cSRandy Dunlap #define dbg_inocache(fmt, ...)	no_printk(fmt, ##__VA_ARGS__)
142e0c8e42fSArtem B. Bityutskiy #endif
143e0c8e42fSArtem B. Bityutskiy 
144e631ddbaSFerenc Havasi /* Summary debugging messages */
145e631ddbaSFerenc Havasi #ifdef JFFS2_DBG_SUMMARY_MESSAGES
146733802d9SArtem B. Bityutskiy #define dbg_summary(fmt, ...)	JFFS2_DEBUG(fmt, ##__VA_ARGS__)
147e631ddbaSFerenc Havasi #else
148*8fdaaf4cSRandy Dunlap #define dbg_summary(fmt, ...)	no_printk(fmt, ##__VA_ARGS__)
149733802d9SArtem B. Bityutskiy #endif
150733802d9SArtem B. Bityutskiy 
151733802d9SArtem B. Bityutskiy /* File system build messages */
152733802d9SArtem B. Bityutskiy #ifdef JFFS2_DBG_FSBUILD_MESSAGES
153733802d9SArtem B. Bityutskiy #define dbg_fsbuild(fmt, ...)	JFFS2_DEBUG(fmt, ##__VA_ARGS__)
154733802d9SArtem B. Bityutskiy #else
155*8fdaaf4cSRandy Dunlap #define dbg_fsbuild(fmt, ...)	no_printk(fmt, ##__VA_ARGS__)
156e631ddbaSFerenc Havasi #endif
157e631ddbaSFerenc Havasi 
158f538c96bSArtem B. Bityutskiy /* Watch the object allocations */
159f538c96bSArtem B. Bityutskiy #ifdef JFFS2_DBG_MEMALLOC_MESSAGES
160733802d9SArtem B. Bityutskiy #define dbg_memalloc(fmt, ...)	JFFS2_DEBUG(fmt, ##__VA_ARGS__)
161f538c96bSArtem B. Bityutskiy #else
162*8fdaaf4cSRandy Dunlap #define dbg_memalloc(fmt, ...)	no_printk(fmt, ##__VA_ARGS__)
163f538c96bSArtem B. Bityutskiy #endif
164f538c96bSArtem B. Bityutskiy 
165aa98d7cfSKaiGai Kohei /* Watch the XATTR subsystem */
166aa98d7cfSKaiGai Kohei #ifdef JFFS2_DBG_XATTR_MESSAGES
167aa98d7cfSKaiGai Kohei #define dbg_xattr(fmt, ...)  JFFS2_DEBUG(fmt, ##__VA_ARGS__)
168aa98d7cfSKaiGai Kohei #else
169*8fdaaf4cSRandy Dunlap #define dbg_xattr(fmt, ...)  no_printk(fmt, ##__VA_ARGS__)
170aa98d7cfSKaiGai Kohei #endif
171f538c96bSArtem B. Bityutskiy 
17245ca1b50SArtem B. Bityutskiy /* "Sanity" checks */
17345ca1b50SArtem B. Bityutskiy void
17445ca1b50SArtem B. Bityutskiy __jffs2_dbg_acct_sanity_check_nolock(struct jffs2_sb_info *c,
17545ca1b50SArtem B. Bityutskiy 				     struct jffs2_eraseblock *jeb);
17645ca1b50SArtem B. Bityutskiy void
17745ca1b50SArtem B. Bityutskiy __jffs2_dbg_acct_sanity_check(struct jffs2_sb_info *c,
17845ca1b50SArtem B. Bityutskiy 			      struct jffs2_eraseblock *jeb);
17945ca1b50SArtem B. Bityutskiy 
180e0c8e42fSArtem B. Bityutskiy /* "Paranoia" checks */
181730554d9SArtem B. Bityutskiy void
182e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_fragtree_paranoia_check(struct jffs2_inode_info *f);
183e0c8e42fSArtem B. Bityutskiy void
184e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_fragtree_paranoia_check_nolock(struct jffs2_inode_info *f);
185e0c8e42fSArtem B. Bityutskiy void
186e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_acct_paranoia_check(struct jffs2_sb_info *c,
187730554d9SArtem B. Bityutskiy 			   	struct jffs2_eraseblock *jeb);
188730554d9SArtem B. Bityutskiy void
189e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_acct_paranoia_check_nolock(struct jffs2_sb_info *c,
190e0c8e42fSArtem B. Bityutskiy 				       struct jffs2_eraseblock *jeb);
191e0c8e42fSArtem B. Bityutskiy void
192e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_prewrite_paranoia_check(struct jffs2_sb_info *c,
193730554d9SArtem B. Bityutskiy 				    uint32_t ofs, int len);
194e0c8e42fSArtem B. Bityutskiy 
195e0c8e42fSArtem B. Bityutskiy /* "Dump" functions */
196e0c8e42fSArtem B. Bityutskiy void
197e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_dump_jeb(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb);
198e0c8e42fSArtem B. Bityutskiy void
199e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_dump_jeb_nolock(struct jffs2_eraseblock *jeb);
200e0c8e42fSArtem B. Bityutskiy void
201e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_dump_block_lists(struct jffs2_sb_info *c);
202e0c8e42fSArtem B. Bityutskiy void
203e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_dump_block_lists_nolock(struct jffs2_sb_info *c);
204e0c8e42fSArtem B. Bityutskiy void
205e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_dump_node_refs(struct jffs2_sb_info *c,
206e0c8e42fSArtem B. Bityutskiy 		 	   struct jffs2_eraseblock *jeb);
207e0c8e42fSArtem B. Bityutskiy void
208e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_dump_node_refs_nolock(struct jffs2_sb_info *c,
209e0c8e42fSArtem B. Bityutskiy 				  struct jffs2_eraseblock *jeb);
210e0c8e42fSArtem B. Bityutskiy void
211e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_dump_fragtree(struct jffs2_inode_info *f);
212e0c8e42fSArtem B. Bityutskiy void
213e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_dump_fragtree_nolock(struct jffs2_inode_info *f);
214e0c8e42fSArtem B. Bityutskiy void
215e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_dump_buffer(unsigned char *buf, int len, uint32_t offs);
216e0c8e42fSArtem B. Bityutskiy void
217e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_dump_node(struct jffs2_sb_info *c, uint32_t ofs);
218e0c8e42fSArtem B. Bityutskiy 
219e0c8e42fSArtem B. Bityutskiy #ifdef JFFS2_DBG_PARANOIA_CHECKS
220e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_fragtree_paranoia_check(f)			\
221e0c8e42fSArtem B. Bityutskiy 	__jffs2_dbg_fragtree_paranoia_check(f)
222e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_fragtree_paranoia_check_nolock(f)		\
223e0c8e42fSArtem B. Bityutskiy 	__jffs2_dbg_fragtree_paranoia_check_nolock(f)
224e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_acct_paranoia_check(c, jeb)			\
225e0c8e42fSArtem B. Bityutskiy 	__jffs2_dbg_acct_paranoia_check(c,jeb)
226e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_acct_paranoia_check_nolock(c, jeb)		\
227e0c8e42fSArtem B. Bityutskiy 	__jffs2_dbg_acct_paranoia_check_nolock(c,jeb)
228e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_prewrite_paranoia_check(c, ofs, len)		\
229e0c8e42fSArtem B. Bityutskiy 	__jffs2_dbg_prewrite_paranoia_check(c, ofs, len)
230730554d9SArtem B. Bityutskiy #else
231730554d9SArtem B. Bityutskiy #define jffs2_dbg_fragtree_paranoia_check(f)
232e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_fragtree_paranoia_check_nolock(f)
233730554d9SArtem B. Bityutskiy #define jffs2_dbg_acct_paranoia_check(c, jeb)
234e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_acct_paranoia_check_nolock(c, jeb)
235730554d9SArtem B. Bityutskiy #define jffs2_dbg_prewrite_paranoia_check(c, ofs, len)
236730554d9SArtem B. Bityutskiy #endif /* !JFFS2_PARANOIA_CHECKS */
237730554d9SArtem B. Bityutskiy 
238e0c8e42fSArtem B. Bityutskiy #ifdef JFFS2_DBG_DUMPS
239e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_dump_jeb(c, jeb)				\
240e0c8e42fSArtem B. Bityutskiy 	__jffs2_dbg_dump_jeb(c, jeb);
241e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_dump_jeb_nolock(jeb)				\
242e0c8e42fSArtem B. Bityutskiy 	__jffs2_dbg_dump_jeb_nolock(jeb);
243e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_dump_block_lists(c)				\
244e0c8e42fSArtem B. Bityutskiy 	__jffs2_dbg_dump_block_lists(c)
245e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_dump_block_lists_nolock(c)			\
246e0c8e42fSArtem B. Bityutskiy 	__jffs2_dbg_dump_block_lists_nolock(c)
247e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_dump_fragtree(f)				\
248e0c8e42fSArtem B. Bityutskiy 	__jffs2_dbg_dump_fragtree(f);
249e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_dump_fragtree_nolock(f)			\
250e0c8e42fSArtem B. Bityutskiy 	__jffs2_dbg_dump_fragtree_nolock(f);
251e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_dump_buffer(buf, len, offs)			\
252e0c8e42fSArtem B. Bityutskiy 	__jffs2_dbg_dump_buffer(*buf, len, offs);
253e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_dump_node(c, ofs)				\
254e0c8e42fSArtem B. Bityutskiy 	__jffs2_dbg_dump_node(c, ofs);
255e0c8e42fSArtem B. Bityutskiy #else
256e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_dump_jeb(c, jeb)
257e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_dump_jeb_nolock(jeb)
258e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_dump_block_lists(c)
259e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_dump_block_lists_nolock(c)
260e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_dump_fragtree(f)
261e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_dump_fragtree_nolock(f)
262e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_dump_buffer(buf, len, offs)
263e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_dump_node(c, ofs)
264e0c8e42fSArtem B. Bityutskiy #endif /* !JFFS2_DBG_DUMPS */
265e0c8e42fSArtem B. Bityutskiy 
266730554d9SArtem B. Bityutskiy #ifdef JFFS2_DBG_SANITY_CHECKS
26745ca1b50SArtem B. Bityutskiy #define jffs2_dbg_acct_sanity_check(c, jeb)			\
26845ca1b50SArtem B. Bityutskiy 	__jffs2_dbg_acct_sanity_check(c, jeb)
26945ca1b50SArtem B. Bityutskiy #define jffs2_dbg_acct_sanity_check_nolock(c, jeb)		\
27045ca1b50SArtem B. Bityutskiy 	__jffs2_dbg_acct_sanity_check_nolock(c, jeb)
271e0c8e42fSArtem B. Bityutskiy #else
272e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_acct_sanity_check(c, jeb)
273e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_acct_sanity_check_nolock(c, jeb)
274730554d9SArtem B. Bityutskiy #endif /* !JFFS2_DBG_SANITY_CHECKS */
275730554d9SArtem B. Bityutskiy 
276730554d9SArtem B. Bityutskiy #endif /* _JFFS2_DEBUG_H_ */
277