This adds fs name and few fields from struct inode: i_mode, i_opflags, i_flags and i_state. All values printed raw, no attempt to pretty-print anything. Compile tested on for i386 and runtime tested on amd64. Sample output: [ 31.450263] VFS_WARN_ON_INODE("crap") encountered for inode ffff9b10837a3240 fs sockfs mode 140777 opflags c flags 0 state 100 Signed-off-by: Mateusz Guzik --- fs/inode.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/fs/inode.c b/fs/inode.c index 833de5457a06..e8c712211822 100644 --- a/fs/inode.c +++ b/fs/inode.c @@ -2935,10 +2935,18 @@ EXPORT_SYMBOL(mode_strip_sgid); * * TODO: add a proper inode dumping routine, this is a stub to get debug off the * ground. + * + * TODO: handle getting to fs type with get_kernel_nofault()? + * See dump_mapping() above. */ void dump_inode(struct inode *inode, const char *reason) { - pr_warn("%s encountered for inode %px", reason, inode); + struct super_block *sb = inode->i_sb; + + pr_warn("%s encountered for inode %px\n" + "fs %s mode %ho opflags %hx flags %u state %x\n", + reason, inode, sb->s_type->name, inode->i_mode, inode->i_opflags, + inode->i_flags, inode->i_state); } EXPORT_SYMBOL(dump_inode); -- 2.43.0