This will be needed later when getting the lowerdata path from the ovl_entry in ovl_lookup() before the dentry is set up. Signed-off-by: Alexander Larsson <alexl@xxxxxxxxxx> Reviewed-by: Amir Goldstein <amir73il@xxxxxxxxx> --- fs/overlayfs/overlayfs.h | 1 + fs/overlayfs/util.c | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/fs/overlayfs/overlayfs.h b/fs/overlayfs/overlayfs.h index 6ce1c7906bb9..a4867ff97115 100644 --- a/fs/overlayfs/overlayfs.h +++ b/fs/overlayfs/overlayfs.h @@ -391,6 +391,7 @@ void ovl_path_upper(struct dentry *dentry, struct path *path); void ovl_path_lower(struct dentry *dentry, struct path *path); void ovl_path_lowerdata(struct dentry *dentry, struct path *path); void ovl_i_path_real(struct inode *inode, struct path *path); +void ovl_e_path_lowerdata(struct ovl_entry *oe, struct path *path); void ovl_e_path_real(struct ovl_fs *ofs, struct ovl_entry *oe, struct dentry *upperdentry, struct path *path); enum ovl_path_type ovl_path_real(struct dentry *dentry, struct path *path); diff --git a/fs/overlayfs/util.c b/fs/overlayfs/util.c index c32252153e5e..74077ef50bb3 100644 --- a/fs/overlayfs/util.c +++ b/fs/overlayfs/util.c @@ -222,9 +222,9 @@ void ovl_path_lower(struct dentry *dentry, struct path *path) } } -void ovl_path_lowerdata(struct dentry *dentry, struct path *path) +void ovl_e_path_lowerdata(struct ovl_entry *oe, + struct path *path) { - struct ovl_entry *oe = OVL_E(dentry); struct ovl_path *lowerdata = ovl_lowerdata(oe); struct dentry *lowerdata_dentry = ovl_lowerdata_dentry(oe); @@ -242,6 +242,11 @@ void ovl_path_lowerdata(struct dentry *dentry, struct path *path) } } +void ovl_path_lowerdata(struct dentry *dentry, struct path *path) +{ + return ovl_e_path_lowerdata(OVL_E(dentry), path); +} + enum ovl_path_type ovl_path_real(struct dentry *dentry, struct path *path) { enum ovl_path_type type = ovl_path_type(dentry); -- 2.39.2