GIT: unionfs2-2.6.27.y: fs/unionfs/: Several small cleanups in unionfs_interpose

Erez Zadok ezk at fsl.cs.sunysb.edu
Thu Aug 12 23:15:52 EDT 2010


commit c9132ae5b20c3037a8837b871a5dad77253195c7
Author: Josef 'Jeff' Sipek <jsipek at cs.sunysb.edu>
Date:   Sat Feb 24 16:46:08 2007 -0500

    fs/unionfs/: Several small cleanups in unionfs_interpose
    
    1) No need to lock the inode - lockdep was complaining about potential
    circular dependency
    
    2) No need to use temporary variable for iunique() inode number
    
    3) Removed unneeded comment
    
    Signed-off-by: Josef 'Jeff' Sipek <jsipek at cs.sunysb.edu>

diff --git a/fs/unionfs/main.c b/fs/unionfs/main.c
index bd64242..a37916d 100644
--- a/fs/unionfs/main.c
+++ b/fs/unionfs/main.c
@@ -66,19 +66,14 @@ int unionfs_interpose(struct dentry *dentry, struct super_block *sb, int flag)
 			err = -ENOMEM;
 			goto out;
 		}
-		mutex_lock(&inode->i_mutex);
 	} else {
-		ino_t ino;
 		/* get unique inode number for unionfs */
-		ino = iunique(sb, UNIONFS_ROOT_INO);
-
-		inode = iget(sb, ino);
+		inode = iget(sb, iunique(sb, UNIONFS_ROOT_INO));
 		if (!inode) {
-			err = -EACCES;	/* should be impossible??? */
+			err = -EACCES;
 			goto out;
 		}
 
-		mutex_lock(&inode->i_mutex);
 		if (atomic_read(&inode->i_count) > 1)
 			goto skip;
 	}
@@ -147,8 +142,6 @@ skip:
 		BUG();
 	}
 
-	mutex_unlock(&inode->i_mutex);
-
 out:
 	return err;
 }


More information about the unionfs-cvs mailing list