at v6.19-rc2 1.4 kB view raw
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