]> Pileus Git - ~andy/linux/blobdiff - fs/isofs/namei.c
Merge branches 'x86-detect-hyper-for-linus', 'x86-fpu-for-linus', 'x86-kexec-for...
[~andy/linux] / fs / isofs / namei.c
index 4fb3e8074fd46619d3fa3ec554a148039b49ce4a..1e2946f2a69e5ac6dd17924f124459b318439eb8 100644 (file)
@@ -168,7 +168,6 @@ struct dentry *isofs_lookup(struct inode *dir, struct dentry *dentry, struct nam
        int found;
        unsigned long uninitialized_var(block);
        unsigned long uninitialized_var(offset);
-       struct isofs_sb_info *sbi = ISOFS_SB(dir->i_sb);
        struct inode *inode;
        struct page *page;
 
@@ -176,21 +175,13 @@ struct dentry *isofs_lookup(struct inode *dir, struct dentry *dentry, struct nam
        if (!page)
                return ERR_PTR(-ENOMEM);
 
-       mutex_lock(&sbi->s_mutex);
        found = isofs_find_entry(dir, dentry,
                                &block, &offset,
                                page_address(page),
                                1024 + page_address(page));
        __free_page(page);
 
-       inode = NULL;
-       if (found) {
-               inode = isofs_iget(dir->i_sb, block, offset);
-               if (IS_ERR(inode)) {
-                       mutex_unlock(&sbi->s_mutex);
-                       return ERR_CAST(inode);
-               }
-       }
-       mutex_unlock(&sbi->s_mutex);
+       inode = found ? isofs_iget(dir->i_sb, block, offset) : NULL;
+
        return d_splice_alias(inode, dentry);
 }