|
|
@@ -815,7 +815,7 @@ struct dentry *ovl_lookup(struct inode *dir, struct dentry *dentry,
|
|
|
.is_dir = false,
|
|
|
.opaque = false,
|
|
|
.stop = false,
|
|
|
- .last = !poe->numlower,
|
|
|
+ .last = ofs->config.redirect_follow ? false : !poe->numlower,
|
|
|
.redirect = NULL,
|
|
|
};
|
|
|
|
|
|
@@ -873,7 +873,11 @@ struct dentry *ovl_lookup(struct inode *dir, struct dentry *dentry,
|
|
|
for (i = 0; !d.stop && i < poe->numlower; i++) {
|
|
|
struct ovl_path lower = poe->lowerstack[i];
|
|
|
|
|
|
- d.last = i == poe->numlower - 1;
|
|
|
+ if (!ofs->config.redirect_follow)
|
|
|
+ d.last = i == poe->numlower - 1;
|
|
|
+ else
|
|
|
+ d.last = lower.layer->idx == roe->numlower;
|
|
|
+
|
|
|
err = ovl_lookup_layer(lower.dentry, &d, &this);
|
|
|
if (err)
|
|
|
goto out_put;
|