From: Vivek Goyal Date: Fri, 11 May 2018 15:49:32 +0000 (-0400) Subject: ovl: Treat metacopy dentries as type OVL_PATH_MERGE X-Git-Tag: for-linus-20180825~15^2~9 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=0b17c28af1b8814505fd4eafd96e6e7e05bba01d;p=linux-block.git ovl: Treat metacopy dentries as type OVL_PATH_MERGE Right now OVL_PATH_MERGE is used only for merged directories. But conceptually, a metacopy dentry (backed by a lower data dentry) is a merged entity as well. So mark metacopy dentries as OVL_PATH_MERGE and ovl_rename() makes use of this property later to set redirect on a metacopy file. Signed-off-by: Vivek Goyal Reviewed-by: Amir Goldstein Signed-off-by: Miklos Szeredi --- diff --git a/fs/overlayfs/util.c b/fs/overlayfs/util.c index 73939e08d8bf..61ace2de3019 100644 --- a/fs/overlayfs/util.c +++ b/fs/overlayfs/util.c @@ -134,7 +134,8 @@ enum ovl_path_type ovl_path_type(struct dentry *dentry) */ if (oe->numlower) { type |= __OVL_PATH_ORIGIN; - if (d_is_dir(dentry)) + if (d_is_dir(dentry) || + !ovl_has_upperdata(d_inode(dentry))) type |= __OVL_PATH_MERGE; } } else {