Re: [PATCH] Replaces two GOTO statements with one IF_ELSE statement in /fs/open.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Telemaque Ndizihiwe wrote:

This Patch replaces two GOTO statements and their corresponding LABELs
with one IF_ELSE statement in /fs/open.c, 2.6.12 kernel.
The patch keeps the same implementation of sys_open system call, it only makes the code smaller and easy to read.

Full credit with making the code more readable and maintainable. I'd like to look at the code generated to see if you have introduced a slowdown, however. My personal preference is for readable code and let the compiler sort it out, but I know there are people who would trade ugly code to save a cycle even in seldom-used code paths.

You might like to see if "unlikely" halps the code, I won't have a recent compiler until tomorrow night, since I'm locked into AS3.0 (gcc 3.2.3) today and tomorrow. Oops, I do have 3.3.2 on my lappie, but that's still old.


Signed-off-by: Telemaque Ndizihiwe <[email protected]>


--- linux-2.6.12/fs/open.c.orig    2005-06-20 15:15:52.000000000 +0100
+++ linux-2.6.12/fs/open.c    2005-06-20 15:38:47.580923552 +0100
@@ -945,19 +945,16 @@ asmlinkage long sys_open(const char __us
         if (fd >= 0) {
             struct file *f = filp_open(tmp, flags, mode);
             error = PTR_ERR(f);
-            if (IS_ERR(f))
-                goto out_error;
-            fd_install(fd, f);
+            if (IS_ERR(f)) {
+                put_unused_fd(fd);
+                fd = error;
+            } else {
+                fd_install(fd, f);
+            }
         }
-out:
         putname(tmp);
     }
     return fd;
-
-out_error:
-    put_unused_fd(fd);
-    fd = error;
-    goto out;
 }
 EXPORT_SYMBOL_GPL(sys_open);


-
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/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux