- struct dentry * d_add_ci(struct dentry * dentry, struct inode * inode, struct qstr * name);
- the negative dentry that was passed to the parent's lookup func
- the inode case-insensitive lookup has found
- the case-exact name to be associated with the returned dentry
This is to avoid filling the dcache with case-insensitive names to the same inode, only the actual correct case is stored in the dcache for case-insensitive filesystems.
For a case-insensitive lookup match and if the the case-exact dentry already exists in in the dcache, use it and return it.
If no entry exists with the exact case name, allocate new dentry with the exact case, and return the spliced entry.