[PATCH RFC v2 6/8] ovl: Set inode S_CASEFOLD for casefolded dentries

André Almeida posted 8 patches 2 months ago
There is a newer version of this series
[PATCH RFC v2 6/8] ovl: Set inode S_CASEFOLD for casefolded dentries
Posted by André Almeida 2 months ago
For casefolded dentries, set their inode flag with S_CASEFOLD.

Signed-off-by: André Almeida <andrealmeid@igalia.com>
---
 fs/overlayfs/inode.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/fs/overlayfs/inode.c b/fs/overlayfs/inode.c
index ecb9f2019395ecd01a124ad029375b1a1d13ebb5..5dec29811b6a5088f838793eb2f561abd12db1d2 100644
--- a/fs/overlayfs/inode.c
+++ b/fs/overlayfs/inode.c
@@ -1301,6 +1301,13 @@ struct inode *ovl_get_inode(struct super_block *sb,
 
 	if (inode->i_state & I_NEW)
 		unlock_new_inode(inode);
+
+	if (realpath.dentry && ovl_dentry_casefolded(realpath.dentry)) {
+		int flags = inode->i_flags | S_CASEFOLD;
+
+		inode_set_flags(inode, flags, flags);
+	}
+
 out:
 	return inode;
 

-- 
2.50.1