This kills off the almost empty do_filp_open().  The indenting
change in do_sys_open() is because we would have gone over our
80 characters otherwise.

Signed-off-by: Dave Hansen <[EMAIL PROTECTED]>
---

 linux-2.6.git-dave/fs/open.c |   39 ++++++++++++++++++---------------------
 1 file changed, 18 insertions(+), 21 deletions(-)

diff -puN fs/open.c~kill-do_filp_open fs/open.c
--- linux-2.6.git/fs/open.c~kill-do_filp_open   2007-11-01 14:46:06.000000000 
-0700
+++ linux-2.6.git-dave/fs/open.c        2007-11-01 14:46:06.000000000 -0700
@@ -800,17 +800,10 @@ cleanup_file:
        return ERR_PTR(error);
 }
 
-static struct file *do_filp_open(int dfd, const char *filename, int flags,
-                                int mode)
-{
-       struct nameidata nd;
-
-       return open_namei(dfd, filename, flags, mode, &nd);
-}
-
 struct file *filp_open(const char *filename, int flags, int mode)
 {
-       return do_filp_open(AT_FDCWD, filename, flags, mode);
+       struct nameidata nd;
+       return open_namei(AT_FDCWD, filename, flags, mode, &nd);
 }
 EXPORT_SYMBOL(filp_open);
 
@@ -1009,20 +1002,24 @@ long do_sys_open(int dfd, const char __u
        char *tmp = getname(filename);
        int fd = PTR_ERR(tmp);
 
-       if (!IS_ERR(tmp)) {
-               fd = get_unused_fd_flags(flags);
-               if (fd >= 0) {
-                       struct file *f = do_filp_open(dfd, tmp, flags, mode);
-                       if (IS_ERR(f)) {
-                               put_unused_fd(fd);
-                               fd = PTR_ERR(f);
-                       } else {
-                               fsnotify_open(f->f_path.dentry);
-                               fd_install(fd, f);
-                       }
+       if (IS_ERR(tmp))
+               goto out;
+
+       fd = get_unused_fd_flags(flags);
+       if (fd >= 0) {
+               struct nameidata nd;
+               struct file *f = open_namei(dfd, tmp, flags, mode, &nd);
+
+               if (IS_ERR(f)) {
+                       put_unused_fd(fd);
+                       fd = PTR_ERR(f);
+               } else {
+                       fsnotify_open(f->f_path.dentry);
+                       fd_install(fd, f);
                }
-               putname(tmp);
        }
+       putname(tmp);
+out:
        return fd;
 }
 
_
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to