diff --git a/fs/overlayfs/dir.c b/fs/overlayfs/dir.c index f4cf2928cf8ed60ed4ff46f2f03b26fe5e0a91da..723b98b9069876d1656b74735dabcaf01484e26d 100644 --- a/fs/overlayfs/dir.c +++ b/fs/overlayfs/dir.c @@ -152,6 +152,9 @@ static void ovl_instantiate(struct dentry *dentry, struct inode *inode, inc_nlink(inode); } d_instantiate(dentry, inode); + /* Force lookup of new upper hardlink to find its lower */ + if (hardlink) + d_drop(dentry); } static bool ovl_type_merge(struct dentry *dentry)