return error;
 }
 
-static struct file *__dentry_open(struct dentry *dentry, struct vfsmount *mnt,
-                               struct file *f,
-                               int (*open)(struct inode *, struct file *),
-                               const struct cred *cred)
-{
-       int error;
-       error = do_dentry_open(dentry, mnt, f, open, cred);
-       if (!error) {
-               error = open_check_o_direct(f);
-               if (error) {
-                       fput(f);
-                       f = ERR_PTR(error);
-               }
-       } else { 
-               put_filp(f);
-               f = ERR_PTR(error);
-       }
-       return f;
-}
-
 /**
  * finish_open - finish opening a file
  * @od: opaque open data
        }
 
        f->f_flags = flags;
-       return __dentry_open(dentry, mnt, f, NULL, cred);
+       error = do_dentry_open(dentry, mnt, f, NULL, cred);
+       if (!error) {
+               error = open_check_o_direct(f);
+               if (error) {
+                       fput(f);
+                       f = ERR_PTR(error);
+               }
+       } else { 
+               put_filp(f);
+               f = ERR_PTR(error);
+       }
+       return f;
 }
 EXPORT_SYMBOL(dentry_open);