[PATCH] knfsd: Tidy up unix_domain_find
authorNeilBrown <neilb@suse.de>
Mon, 27 Mar 2006 09:15:11 +0000 (01:15 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Mon, 27 Mar 2006 16:44:43 +0000 (08:44 -0800)
We shouldn't really compare &new->h with anything when new ==NULL, and gather
three different if statements that all start

  if (rv ...

into one large if.

Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
net/sunrpc/svcauth_unix.c

index 11020c0b7db50c86cd394f6984f7301d3b665b22..7e5707e2d6b678fcd00cdb439cceb3b71fee0220 100644 (file)
@@ -36,16 +36,16 @@ struct auth_domain *unix_domain_find(char *name)
 
        rv = auth_domain_lookup(name, NULL);
        while(1) {
-               if (rv != &new->h) {
-                       if (new) auth_domain_put(&new->h);
+               if (rv) {
+                       if (new && rv != &new->h)
+                               auth_domain_put(&new->h);
+
+                       if (rv->flavour != &svcauth_unix) {
+                               auth_domain_put(rv);
+                               return NULL;
+                       }
                        return rv;
                }
-               if (rv && rv->flavour != &svcauth_unix) {
-                       auth_domain_put(rv);
-                       return NULL;
-               }
-               if (rv)
-                       return rv;
 
                new = kmalloc(sizeof(*new), GFP_KERNEL);
                if (new == NULL)