From: Erez_Zadok Date: Fri, 29 Jun 2007 04:45:47 +0000 (-0400) Subject: Unionfs: Remove superfluous check for NULL pointer X-Git-Tag: unionfs-2.5.9.2~346 X-Git-Url: https://git.fsl.cs.sunysb.edu/?a=commitdiff_plain;h=0e4b8a6c6dc72c50430ea9ddc859354d942d57ac;p=unionfs-2.6.38.y.git Unionfs: Remove superfluous check for NULL pointer Since we use containers and the struct inode is _inside_ the unionfs_inode_info structure, UNIONFS_I will always (given a non-NULL inode pointer), return a valid non-NULL pointer. Signed-off-by: Josef 'Jeff' Sipek Conflicts: fs/unionfs/super.c --- diff --git a/fs/unionfs/fanout.h b/fs/unionfs/fanout.h index 4d1a620f75d..4db15311977 100644 --- a/fs/unionfs/fanout.h +++ b/fs/unionfs/fanout.h @@ -18,7 +18,13 @@ #ifndef _FANOUT_H_ #define _FANOUT_H_ -/* Inode to private data */ +/* + * Inode to private data + * + * Since we use containers and the struct inode is _inside_ the + * unionfs_inode_info structure, UNIONFS_I will always (given a non-NULL + * inode pointer), return a valid non-NULL pointer. + */ static inline struct unionfs_inode_info *UNIONFS_I(const struct inode *inode) { return container_of(inode, struct unionfs_inode_info, vfs_inode); diff --git a/fs/unionfs/super.c b/fs/unionfs/super.c index 79487c730e5..b1504121e6c 100644 --- a/fs/unionfs/super.c +++ b/fs/unionfs/super.c @@ -30,11 +30,7 @@ static void unionfs_read_inode(struct inode *inode) int size; struct unionfs_inode_info *info = UNIONFS_I(inode); - if (!info) { - printk(KERN_ERR "unionfs: no kernel memory when allocating " - "inode private data!\n"); - BUG(); - } + unionfs_read_lock(inode->i_sb); memset(info, 0, offsetof(struct unionfs_inode_info, vfs_inode)); info->bstart = -1; @@ -59,6 +55,8 @@ static void unionfs_read_inode(struct inode *inode) inode->i_fop = &unionfs_main_fops; inode->i_mapping->a_ops = &unionfs_aops; + + unionfs_read_unlock(inode->i_sb); } /*