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 <[EMAIL PROTECTED]>
---
 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 [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to