ovl: Move some dir related ovl_lookup_single() code in else block
authorVivek Goyal <vgoyal@redhat.com>
Fri, 11 May 2018 15:49:31 +0000 (11:49 -0400)
committerMiklos Szeredi <mszeredi@redhat.com>
Fri, 20 Jul 2018 07:56:12 +0000 (09:56 +0200)
Move some directory related code in else block.  This is pure code
reorganization and no functionality change.

Next patch enables redirect processing on metacopy files and needs this
change.  By keeping non-functional changes in a separate patch, next patch
looks much smaller and cleaner.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Reviewed-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
fs/overlayfs/namei.c

index 85ab856..e4bbe6e 100644 (file)
@@ -273,17 +273,18 @@ static int ovl_lookup_single(struct dentry *base, struct ovl_lookup_data *d,
                d->metacopy = err;
                d->stop = !d->metacopy;
                goto out;
-       }
-       if (last_element)
-               d->is_dir = true;
-       if (d->last)
-               goto out;
-
-       if (ovl_is_opaquedir(this)) {
-               d->stop = true;
+       } else {
                if (last_element)
-                       d->opaque = true;
-               goto out;
+                       d->is_dir = true;
+               if (d->last)
+                       goto out;
+
+               if (ovl_is_opaquedir(this)) {
+                       d->stop = true;
+                       if (last_element)
+                               d->opaque = true;
+                       goto out;
+               }
        }
        err = ovl_check_redirect(this, d, prelen, post);
        if (err)