On Mon 22-11-21 11:00:35, Chengguang Xu wrote: > From: Chengguang Xu <charliecgxu@xxxxxxxxxxx> > > Set 'DONTCACHE' flag to overlayfs inode so that > upper inode to be always synced before eviction. > > Signed-off-by: Chengguang Xu <charliecgxu@xxxxxxxxxxx> > --- > fs/overlayfs/inode.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/fs/overlayfs/inode.c b/fs/overlayfs/inode.c > index 027ffc0a2539..c4472299d5df 100644 > --- a/fs/overlayfs/inode.c > +++ b/fs/overlayfs/inode.c > @@ -791,6 +791,7 @@ void ovl_inode_init(struct inode *inode, struct ovl_inode_params *oip, > ovl_copyattr(realinode, inode); > ovl_copyflags(realinode, inode); > ovl_map_ino(inode, ino, fsid); > + d_mark_dontcache(inode); > } Doesn't this effectively disable dcache for overlayfs dentries? I mean e.g. whenever overlayfs file is closed, we will drop its dentry & inode from the cache. Upper and lower inodes / dentries stay in cache so no disk access should be needed to reconstruct overlayfs dentry & inode but still it may be a bit costly? I guess others more familiar with overlayfs have to judge. Honza -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR