D_SPLICE_ALIAS(9) The Linux VFS D_SPLICE_ALIAS(9)NAMEd_splice_alias - splice a disconnected dentry into the tree if one
exists
SYNOPSIS
struct dentry * d_splice_alias(struct inode * inode,
struct dentry * dentry);
ARGUMENTS
inode
the inode which may have a disconnected dentry
dentry
a negative dentry which we want to point to the inode.
DESCRIPTION
If 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.
COPYRIGHTKernel Hackers Manual 2.6. November 2013 D_SPLICE_ALIAS(9)