xfs: kill support/debug.[ch]
The remaining functionality in debug.[ch] is effectively just assert handling, conditional debug definitions and hex dumping. The hex dumping and assert function can be moved into the new printk module, while the rest can be moved into top-level header files. This allows fs/xfs/support/debug.[ch] to be completely removed from the codebase. Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Alex Elder <aelder@sgi.com> Reviewed-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
Родитель
0b932cccbd
Коммит
9130090b5f
|
@ -111,6 +111,4 @@ xfs-y += $(addprefix $(XFS_LINUX)/, \
|
|||
xfs_xattr.o)
|
||||
|
||||
# Objects in support/
|
||||
xfs-y += $(addprefix support/, \
|
||||
debug.o \
|
||||
uuid.o)
|
||||
xfs-y += support/uuid.o
|
||||
|
|
|
@ -39,7 +39,6 @@
|
|||
#include <mrlock.h>
|
||||
#include <time.h>
|
||||
|
||||
#include <support/debug.h>
|
||||
#include <support/uuid.h>
|
||||
|
||||
#include <linux/semaphore.h>
|
||||
|
@ -281,4 +280,25 @@ static inline __uint64_t howmany_64(__uint64_t x, __uint32_t y)
|
|||
#define __arch_pack
|
||||
#endif
|
||||
|
||||
#define ASSERT_ALWAYS(expr) \
|
||||
(unlikely(expr) ? (void)0 : assfail(#expr, __FILE__, __LINE__))
|
||||
|
||||
#ifndef DEBUG
|
||||
#define ASSERT(expr) ((void)0)
|
||||
|
||||
#ifndef STATIC
|
||||
# define STATIC static noinline
|
||||
#endif
|
||||
|
||||
#else /* DEBUG */
|
||||
|
||||
#define ASSERT(expr) \
|
||||
(unlikely(expr) ? (void)0 : assfail(#expr, __FILE__, __LINE__))
|
||||
|
||||
#ifndef STATIC
|
||||
# define STATIC noinline
|
||||
#endif
|
||||
|
||||
#endif /* DEBUG */
|
||||
|
||||
#endif /* __XFS_LINUX__ */
|
||||
|
|
|
@ -117,3 +117,17 @@ xfs_alert_tag(
|
|||
|
||||
return r;
|
||||
}
|
||||
|
||||
void
|
||||
assfail(char *expr, char *file, int line)
|
||||
{
|
||||
xfs_emerg(NULL, "Assertion failed: %s, file: %s, line: %d",
|
||||
expr, file, line);
|
||||
BUG();
|
||||
}
|
||||
|
||||
void
|
||||
xfs_hex_dump(void *p, int length)
|
||||
{
|
||||
print_hex_dump(KERN_ALERT, "", DUMP_PREFIX_ADDRESS, 16, 1, p, length, 1);
|
||||
}
|
||||
|
|
|
@ -31,4 +31,8 @@ extern int xfs_debug(const struct xfs_mount *mp, const char *fmt, ...)
|
|||
#define xfs_debug(mp, fmt, ...) (0)
|
||||
#endif
|
||||
|
||||
extern void assfail(char *expr, char *f, int l);
|
||||
|
||||
extern void xfs_hex_dump(void *p, int length);
|
||||
|
||||
#endif /* __XFS_MESSAGE_H */
|
||||
|
|
|
@ -1,33 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 2000-2003,2005 Silicon Graphics, Inc.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* This program is distributed in the hope that it would 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 the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
#include <xfs.h>
|
||||
#include "debug.h"
|
||||
|
||||
void
|
||||
assfail(char *expr, char *file, int line)
|
||||
{
|
||||
printk(KERN_CRIT "Assertion failed: %s, file: %s, line: %d\n", expr,
|
||||
file, line);
|
||||
BUG();
|
||||
}
|
||||
|
||||
void
|
||||
xfs_hex_dump(void *p, int length)
|
||||
{
|
||||
print_hex_dump(KERN_ALERT, "", DUMP_PREFIX_ADDRESS, 16, 1, p, length, 1);
|
||||
}
|
|
@ -1,45 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 2000-2005 Silicon Graphics, Inc.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* This program is distributed in the hope that it would 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 the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
#ifndef __XFS_SUPPORT_DEBUG_H__
|
||||
#define __XFS_SUPPORT_DEBUG_H__
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
extern void assfail(char *expr, char *f, int l);
|
||||
|
||||
#define ASSERT_ALWAYS(expr) \
|
||||
(unlikely(expr) ? (void)0 : assfail(#expr, __FILE__, __LINE__))
|
||||
|
||||
#ifndef DEBUG
|
||||
#define ASSERT(expr) ((void)0)
|
||||
|
||||
#ifndef STATIC
|
||||
# define STATIC static noinline
|
||||
#endif
|
||||
|
||||
#else /* DEBUG */
|
||||
|
||||
#define ASSERT(expr) \
|
||||
(unlikely(expr) ? (void)0 : assfail(#expr, __FILE__, __LINE__))
|
||||
|
||||
#ifndef STATIC
|
||||
# define STATIC noinline
|
||||
#endif
|
||||
|
||||
#endif /* DEBUG */
|
||||
#endif /* __XFS_SUPPORT_DEBUG_H__ */
|
|
@ -158,8 +158,4 @@ extern int xfs_errortag_clearall(struct xfs_mount *mp, int loud);
|
|||
#define XFS_PTAG_SHUTDOWN_LOGERROR 0x00000040
|
||||
#define XFS_PTAG_FSBLOCK_ZERO 0x00000080
|
||||
|
||||
struct xfs_mount;
|
||||
|
||||
extern void xfs_hex_dump(void *p, int length);
|
||||
|
||||
#endif /* __XFS_ERROR_H__ */
|
||||
|
|
Загрузка…
Ссылка в новой задаче