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 85ab856dd134564e7b13cbd648291e30a001814f..e4bbe6ed6a87cd04c2e7094a8522ef937781849e 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)