diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index 07dda6745435..0168e219fa82 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c @@ -4696,6 +4696,7 @@ struct inode *__ext4_iget(struct super_block *sb, unsigned long ino, if (!(inode->i_state & I_NEW)) { if ((err_str = check_igot_inode(inode, flags)) != NULL) { ext4_error_inode(inode, function, line, 0, err_str); + iput(inode); return ERR_PTR(-EFSCORRUPTED); } return inode; diff --git a/fs/super.c b/fs/super.c index 34afe411cf2b..f7bbdaec1e52 100644 --- a/fs/super.c +++ b/fs/super.c @@ -511,6 +511,7 @@ void generic_shutdown_super(struct super_block *sb) spin_lock(&sb->s_inode_list_lock); list_for_each_entry(inode, &sb->s_inodes, i_sb_list) { + pr_err("busy inode: %lu\n", inode->i_ino); inode->i_op = VFS_PTR_POISON; inode->i_sb = VFS_PTR_POISON; inode->i_mapping = VFS_PTR_POISON;