nsfs: unobfuscate
authorAl Viro <viro@zeniv.linux.org.uk>
Sat, 23 Mar 2019 03:26:22 +0000 (23:26 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Tue, 9 Apr 2019 23:20:57 +0000 (19:20 -0400)
1) IS_ERR(p) && PTR_ERR(p) == -E... is spelled p == ERR_PTR(-E...)
2) yes, you can open-code do-while and sometimes there's even
a good reason to do so.  Not in this case, though.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/nsfs.c

index 30d150a4f0c62a29b15505904c4f8b296662b00f..e3bf08c5af4114b88a26f507c3679a3418ed40c5 100644 (file)
--- a/fs/nsfs.c
+++ b/fs/nsfs.c
@@ -105,17 +105,16 @@ slow:
 void *ns_get_path_cb(struct path *path, ns_get_path_helper_t *ns_get_cb,
                     void *private_data)
 {
-       struct ns_common *ns;
        void *ret;
 
-again:
-       ns = ns_get_cb(private_data);
-       if (!ns)
-               return ERR_PTR(-ENOENT);
+       do {
+               struct ns_common *ns = ns_get_cb(private_data);
+               if (!ns)
+                       return ERR_PTR(-ENOENT);
+
+               ret = __ns_get_path(path, ns);
+       } while (ret == ERR_PTR(-EAGAIN));
 
-       ret = __ns_get_path(path, ns);
-       if (IS_ERR(ret) && PTR_ERR(ret) == -EAGAIN)
-               goto again;
        return ret;
 }
 
@@ -154,7 +153,7 @@ int open_related_ns(struct ns_common *ns,
        if (fd < 0)
                return fd;
 
-       while (1) {
+       do {
                struct ns_common *relative;
 
                relative = get_ns(ns);
@@ -164,10 +163,8 @@ int open_related_ns(struct ns_common *ns,
                }
 
                err = __ns_get_path(&path, relative);
-               if (IS_ERR(err) && PTR_ERR(err) == -EAGAIN)
-                       continue;
-               break;
-       }
+       } while (err == ERR_PTR(-EAGAIN));
+
        if (IS_ERR(err)) {
                put_unused_fd(fd);
                return PTR_ERR(err);