Thread (21 messages) 21 messages, 3 authors, 2021-11-27

Re: [RFC PATCH V6 4/7] ovl: set 'DONTCACHE' flag for overlayfs inode

From: Jan Kara <jack@suse.cz>
Date: 2021-11-26 09:22:26
Also in: linux-fsdevel, lkml

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help