Query: d_splice_alias
OS: centos
Section: 9
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
D_SPLICE_ALIAS(9) The Linux VFS D_SPLICE_ALIAS(9)NAMEd_splice_alias - splice a disconnected dentry into the tree if one existsSYNOPSISstruct dentry * d_splice_alias(struct inode * inode, struct dentry * dentry);ARGUMENTSinode the inode which may have a disconnected dentry dentry a negative dentry which we want to point to the inode.DESCRIPTIONIf inode is a directory and has a 'disconnected' dentry (i.e. IS_ROOT and DCACHE_DISCONNECTED), then d_move that in place of the given dentry and return it, else simply d_add the inode to the dentry and return NULL. This is needed in the lookup routine of any filesystem that is exportable (via knfsd) so that we can build dcache paths to directories effectively. If a dentry was found and moved, then it is returned. Otherwise NULL is returned. This matches the expected return value of ->lookup. Cluster filesystems may call this function with a negative, hashed dentry. In that case, we know that the inode will be a regular file, and also this will only occur during atomic_open. So we need to check for the dentry being already hashed only in the final case.COPYRIGHTKernel Hackers Manual 3.10 June 2014 D_SPLICE_ALIAS(9)