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@xxxxxxxxxxxxx> --- fs/unionfs/main.c | 11 ++--------- 1 files changed, 2 insertions(+), 9 deletions(-) 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; } -- 1.5.0.2.260.g2eb065 - To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html