File Index
Files and directories
Sign in
FILE

vfsdebug.h

File preview with syntax highlighting.

linux-6.19.14/include/linux/vfsdebug.h C
 1/* SPDX-License-Identifier: GPL-2.0 */
 2#ifndef LINUX_VFS_DEBUG_H
 3#define LINUX_VFS_DEBUG_H 1
 4
 5#include <linux/bug.h>
 6
 7struct inode;
 8
 9#ifdef CONFIG_DEBUG_VFS
10void dump_inode(struct inode *inode, const char *reason);
11
12#define VFS_BUG_ON(cond) BUG_ON(cond)
13#define VFS_WARN_ON(cond) (void)WARN_ON(cond)
14#define VFS_WARN_ON_ONCE(cond) (void)WARN_ON_ONCE(cond)
15#define VFS_WARN_ONCE(cond, format...) (void)WARN_ONCE(cond, format)
16#define VFS_WARN(cond, format...) (void)WARN(cond, format)
17
18#define VFS_BUG_ON_INODE(cond, inode)		({			\
19	if (unlikely(!!(cond))) {					\
20		dump_inode(inode, "VFS_BUG_ON_INODE(" #cond")");\
21		BUG_ON(1);						\
22	}								\
23})
24
25#define VFS_WARN_ON_INODE(cond, inode)		({			\
26	int __ret_warn = !!(cond);					\
27									\
28	if (unlikely(__ret_warn)) {					\
29		dump_inode(inode, "VFS_WARN_ON_INODE(" #cond")");\
30		WARN_ON(1);						\
31	}								\
32	unlikely(__ret_warn);						\
33})
34#else
35#define VFS_BUG_ON(cond) BUILD_BUG_ON_INVALID(cond)
36#define VFS_WARN_ON(cond) BUILD_BUG_ON_INVALID(cond)
37#define VFS_WARN_ON_ONCE(cond) BUILD_BUG_ON_INVALID(cond)
38#define VFS_WARN_ONCE(cond, format...) BUILD_BUG_ON_INVALID(cond)
39#define VFS_WARN(cond, format...) BUILD_BUG_ON_INVALID(cond)
40
41#define VFS_BUG_ON_INODE(cond, inode) VFS_BUG_ON(cond)
42#define VFS_WARN_ON_INODE(cond, inode)  BUILD_BUG_ON_INVALID(cond)
43#endif /* CONFIG_DEBUG_VFS */
44
45#endif
~/ Read-only file preview.