Browse Source

ovl: Do not check for redirect if this is last layer

If we are looking in last layer, then there should not be any need to
process redirect. redirect information is used only for lookup in next
lower layer and there is no more lower layer to look into. So no need
to process redirects.

IOW, ignore redirects on lowest layer.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Reviewed-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Vivek Goyal 7 years ago
parent
commit
e9b77f90cc
1 changed files with 4 additions and 1 deletions
  1. 4 1
      fs/overlayfs/namei.c

+ 4 - 1
fs/overlayfs/namei.c

@@ -258,7 +258,10 @@ static int ovl_lookup_single(struct dentry *base, struct ovl_lookup_data *d,
 		goto out;
 		goto out;
 	}
 	}
 	d->is_dir = true;
 	d->is_dir = true;
-	if (!d->last && ovl_is_opaquedir(this)) {
+	if (d->last)
+		goto out;
+
+	if (ovl_is_opaquedir(this)) {
 		d->stop = d->opaque = true;
 		d->stop = d->opaque = true;
 		goto out;
 		goto out;
 	}
 	}