aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_message.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2011-08-12 17:21:35 -0400
committerAlex Elder <aelder@sgi.com>2011-08-12 17:21:35 -0400
commitc59d87c460767bc35dafd490139d3cfe78fb8da4 (patch)
tree2aad8261f86488e501d9645bd35d1398906da46d /fs/xfs/xfs_message.c
parent06f8e2d6754dc631732415b741b5aa58a0f7133f (diff)
xfs: remove subdirectories
Use the move from Linux 2.6 to Linux 3.x as an excuse to kill the annoying subdirectories in the XFS source code. Besides the large amount of file rename the only changes are to the Makefile, a few files including headers with the subdirectory prefix, and the binary sysctl compat code that includes a header under fs/xfs/ from kernel/. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Alex Elder <aelder@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_message.c')
-rw-r--r--fs/xfs/xfs_message.c108
1 files changed, 108 insertions, 0 deletions
diff --git a/fs/xfs/xfs_message.c b/fs/xfs/xfs_message.c
new file mode 100644
index 000000000000..bd672def95ac
--- /dev/null
+++ b/fs/xfs/xfs_message.c
@@ -0,0 +1,108 @@
1/*
2 * Copyright (c) 2011 Red Hat, Inc. All Rights Reserved.
3 *
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License as
6 * published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it would be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program; if not, write the Free Software Foundation,
15 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
16 */
17
18#include "xfs.h"
19#include "xfs_fs.h"
20#include "xfs_types.h"
21#include "xfs_log.h"
22#include "xfs_inum.h"
23#include "xfs_trans.h"
24#include "xfs_sb.h"
25#include "xfs_ag.h"
26#include "xfs_mount.h"
27
28/*
29 * XFS logging functions
30 */
31static void
32__xfs_printk(
33 const char *level,
34 const struct xfs_mount *mp,
35 struct va_format *vaf)
36{
37 if (mp && mp->m_fsname) {
38 printk("%sXFS (%s): %pV\n", level, mp->m_fsname, vaf);
39 return;
40 }
41 printk("%sXFS: %pV\n", level, vaf);
42}
43
44#define define_xfs_printk_level(func, kern_level) \
45void func(const struct xfs_mount *mp, const char *fmt, ...) \
46{ \
47 struct va_format vaf; \
48 va_list args; \
49 \
50 va_start(args, fmt); \
51 \
52 vaf.fmt = fmt; \
53 vaf.va = &args; \
54 \
55 __xfs_printk(kern_level, mp, &vaf); \
56 va_end(args); \
57} \
58
59define_xfs_printk_level(xfs_emerg, KERN_EMERG);
60define_xfs_printk_level(xfs_alert, KERN_ALERT);
61define_xfs_printk_level(xfs_crit, KERN_CRIT);
62define_xfs_printk_level(xfs_err, KERN_ERR);
63define_xfs_printk_level(xfs_warn, KERN_WARNING);
64define_xfs_printk_level(xfs_notice, KERN_NOTICE);
65define_xfs_printk_level(xfs_info, KERN_INFO);
66#ifdef DEBUG
67define_xfs_printk_level(xfs_debug, KERN_DEBUG);
68#endif
69
70void
71xfs_alert_tag(
72 const struct xfs_mount *mp,
73 int panic_tag,
74 const char *fmt, ...)
75{
76 struct va_format vaf;
77 va_list args;
78 int do_panic = 0;
79
80 if (xfs_panic_mask && (xfs_panic_mask & panic_tag)) {
81 xfs_alert(mp, "Transforming an alert into a BUG.");
82 do_panic = 1;
83 }
84
85 va_start(args, fmt);
86
87 vaf.fmt = fmt;
88 vaf.va = &args;
89
90 __xfs_printk(KERN_ALERT, mp, &vaf);
91 va_end(args);
92
93 BUG_ON(do_panic);
94}
95
96void
97assfail(char *expr, char *file, int line)
98{
99 xfs_emerg(NULL, "Assertion failed: %s, file: %s, line: %d",
100 expr, file, line);
101 BUG();
102}
103
104void
105xfs_hex_dump(void *p, int length)
106{
107 print_hex_dump(KERN_ALERT, "", DUMP_PREFIX_ADDRESS, 16, 1, p, length, 1);
108}