From: Christoph Hellwig inode->i_sb is always set, not need to check for it. Signed-off-by: Christoph Hellwig Signed-off-by: Andrew Morton --- fs/inode.c | 4 ++-- fs/ioctl.c | 2 -- 2 files changed, 2 insertions(+), 4 deletions(-) diff -puN fs/inode.c~vfs-remove-superflous-sb-==-null-checks fs/inode.c --- a/fs/inode.c~vfs-remove-superflous-sb-==-null-checks +++ a/fs/inode.c @@ -251,7 +251,7 @@ void clear_inode(struct inode *inode) BUG_ON(inode->i_state & I_CLEAR); wait_on_inode(inode); DQUOT_DROP(inode); - if (inode->i_sb && inode->i_sb->s_op->clear_inode) + if (inode->i_sb->s_op->clear_inode) inode->i_sb->s_op->clear_inode(inode); if (S_ISBLK(inode->i_mode) && inode->i_bdev) bd_forget(inode); @@ -1047,7 +1047,7 @@ static void generic_forget_inode(struct if (!(inode->i_state & (I_DIRTY|I_LOCK))) list_move(&inode->i_list, &inode_unused); inodes_stat.nr_unused++; - if (!sb || (sb->s_flags & MS_ACTIVE)) { + if (sb->s_flags & MS_ACTIVE) { spin_unlock(&inode_lock); return; } diff -puN fs/ioctl.c~vfs-remove-superflous-sb-==-null-checks fs/ioctl.c --- a/fs/ioctl.c~vfs-remove-superflous-sb-==-null-checks +++ a/fs/ioctl.c @@ -67,8 +67,6 @@ static int file_ioctl(struct file *filp, return put_user(res, p); } case FIGETBSZ: - if (inode->i_sb == NULL) - return -EBADF; return put_user(inode->i_sb->s_blocksize, p); case FIONREAD: return put_user(i_size_read(inode) - filp->f_pos, p); _