GIT: unionfs2-2.6.27.y: Unionfs: Remove superfluous check for NULL pointer
Erez Zadok
ezk at fsl.cs.sunysb.edu
Thu Aug 12 23:16:42 EDT 2010
commit e818ed82edf5b5340e756b37a60911e71d3ad34f
Author: Erez_Zadok <ezk at cs.sunysb.edu>
Date: Fri Jun 29 00:45:47 2007 -0400
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 <jsipek at cs.sunysb.edu>
Conflicts:
fs/unionfs/super.c
diff --git a/fs/unionfs/fanout.h b/fs/unionfs/fanout.h
index 4d1a620..4db1531 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 79487c7..b150412 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);
}
/*
More information about the unionfs-cvs
mailing list