On Mon 22-11-21 11:00:35, Chengguang Xu wrote:
quoted hunk ↗ jump to hunk
From: Chengguang Xu <redacted>
Set 'DONTCACHE' flag to overlayfs inode so that
upper inode to be always synced before eviction.
Signed-off-by: Chengguang Xu <redacted>
---
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 [off-list ref]
SUSE Labs, CR