On Fri, Mar 09, 2018 at 12:27:21AM +0200, Amir Goldstein wrote: > On Fri, Mar 9, 2018 at 12:18 AM, Vivek Goyal <vgoyal@xxxxxxxxxx> wrote: > > 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@xxxxxxxxxx> > > Reviewed-by: Amir Goldstein <amir73il@xxxxxxxxx> > > > --- > > fs/overlayfs/namei.c | 15 +++++++++------ > > 1 file changed, 9 insertions(+), 6 deletions(-) > > > > diff --git a/fs/overlayfs/namei.c b/fs/overlayfs/namei.c > > index 2e173cfbda0e..32d1d96f80b6 100644 > > --- a/fs/overlayfs/namei.c > > +++ b/fs/overlayfs/namei.c > > @@ -248,13 +248,16 @@ static int ovl_lookup_single(struct dentry *base, struct ovl_lookup_data *d, > > goto out; > > } > > d->is_dir = true; > > - if (!d->last && ovl_is_opaquedir(this)) { > > - d->stop = d->opaque = true; > > - goto out; > > I preferred to go with if (d->last) goto out; I like to avoid nesting > when possible. > but choose whichever you like. I liked your version better as well. :-). Will do if (d->last) goto out; Vivek > > > + if (!d->last) { > > + if (ovl_is_opaquedir(this)) { > > + d->stop = d->opaque = true; > > + goto out; > > + } > > + > > + err = ovl_check_redirect(this, d, prelen, post); > > + if (err) > > + goto out_err; > > } > > - err = ovl_check_redirect(this, d, prelen, post); > > - if (err) > > - goto out_err; > > out: > > *ret = this; > > return 0; > > -- > > 2.13.6 > > -- To unsubscribe from this list: send the line "unsubscribe linux-unionfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html