Blame view

fs/jfs/jfs_debug.h 3.35 KB
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
  /*
1868f4aa5   Dave Kleikamp   JFS: fix sparse w...
2
3
   *   Copyright (C) International Business Machines Corp., 2000-2002
   *   Portions Copyright (C) Christoph Hellwig, 2001-2002
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
   *
   *   This program is free software;  you can redistribute it and/or modify
   *   it under the terms of the GNU General Public License as published by
   *   the Free Software Foundation; either version 2 of the License, or
   *   (at your option) any later version.
   *
   *   This program is distributed in the hope that it will be useful,
   *   but WITHOUT ANY WARRANTY;  without even the implied warranty of
   *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
   *   the GNU General Public License for more details.
   *
   *   You should have received a copy of the GNU General Public License
   *   along with this program;  if not, write to the Free Software
   *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
   */
  #ifndef _H_JFS_DEBUG
  #define _H_JFS_DEBUG
  
  /*
   *	jfs_debug.h
   *
   * global debug message, data structure/macro definitions
   * under control of CONFIG_JFS_DEBUG, CONFIG_JFS_STATISTICS;
   */
  
  /*
   * Create /proc/fs/jfs if procfs is enabled andeither
   * CONFIG_JFS_DEBUG or CONFIG_JFS_STATISTICS is defined
   */
  #if defined(CONFIG_PROC_FS) && (defined(CONFIG_JFS_DEBUG) || defined(CONFIG_JFS_STATISTICS))
1868f4aa5   Dave Kleikamp   JFS: fix sparse w...
34
35
36
  #define PROC_FS_JFS
  extern void jfs_proc_init(void);
  extern void jfs_proc_clean(void);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
37
38
39
40
41
  #endif
  
  /*
   *	assert with traditional printf/panic
   */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
42
43
44
45
46
47
48
49
  #define assert(p) do {	\
  	if (!(p)) {	\
  		printk(KERN_CRIT "BUG at %s:%d assert(%s)
  ",	\
  		       __FILE__, __LINE__, #p);			\
  		BUG();	\
  	}		\
  } while (0)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
  
  /*
   *	debug ON
   *	--------
   */
  #ifdef CONFIG_JFS_DEBUG
  #define ASSERT(p) assert(p)
  
  /* printk verbosity */
  #define JFS_LOGLEVEL_ERR 1
  #define JFS_LOGLEVEL_WARN 2
  #define JFS_LOGLEVEL_DEBUG 3
  #define JFS_LOGLEVEL_INFO 4
  
  extern int jfsloglevel;
b2e03ca74   Alexey Dobriyan   JFS: switch to se...
65
  extern const struct file_operations jfs_txanchor_proc_fops;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
  
  /* information message: e.g., configuration, major event */
  #define jfs_info(fmt, arg...) do {			\
  	if (jfsloglevel >= JFS_LOGLEVEL_INFO)		\
  		printk(KERN_INFO fmt "
  ", ## arg);	\
  } while (0)
  
  /* debug message: ad hoc */
  #define jfs_debug(fmt, arg...) do {			\
  	if (jfsloglevel >= JFS_LOGLEVEL_DEBUG)		\
  		printk(KERN_DEBUG fmt "
  ", ## arg);	\
  } while (0)
  
  /* warn message: */
  #define jfs_warn(fmt, arg...) do {			\
  	if (jfsloglevel >= JFS_LOGLEVEL_WARN)		\
  		printk(KERN_WARNING fmt "
  ", ## arg);	\
  } while (0)
  
  /* error event message: e.g., i/o error */
  #define jfs_err(fmt, arg...) do {			\
  	if (jfsloglevel >= JFS_LOGLEVEL_ERR)		\
  		printk(KERN_ERR fmt "
  ", ## arg);	\
  } while (0)
  
  /*
   *	debug OFF
   *	---------
   */
  #else				/* CONFIG_JFS_DEBUG */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
100
101
102
103
104
105
106
107
108
109
110
111
  #define ASSERT(p) do {} while (0)
  #define jfs_info(fmt, arg...) do {} while (0)
  #define jfs_debug(fmt, arg...) do {} while (0)
  #define jfs_warn(fmt, arg...) do {} while (0)
  #define jfs_err(fmt, arg...) do {} while (0)
  #endif				/* CONFIG_JFS_DEBUG */
  
  /*
   *	statistics
   *	----------
   */
  #ifdef	CONFIG_JFS_STATISTICS
b2e03ca74   Alexey Dobriyan   JFS: switch to se...
112
113
114
115
  extern const struct file_operations jfs_lmstats_proc_fops;
  extern const struct file_operations jfs_txstats_proc_fops;
  extern const struct file_operations jfs_mpstat_proc_fops;
  extern const struct file_operations jfs_xtstat_proc_fops;
1868f4aa5   Dave Kleikamp   JFS: fix sparse w...
116

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
117
118
119
120
121
122
123
124
125
126
  #define	INCREMENT(x)		((x)++)
  #define	DECREMENT(x)		((x)--)
  #define	HIGHWATERMARK(x,y)	((x) = max((x), (y)))
  #else
  #define	INCREMENT(x)
  #define	DECREMENT(x)
  #define	HIGHWATERMARK(x,y)
  #endif				/* CONFIG_JFS_STATISTICS */
  
  #endif				/* _H_JFS_DEBUG */