struct dentry * __d_find_alias (struct inode * inode, int want_discon);
If inode has a hashed alias, or is a directory and has any alias, acquire the reference to alias and return it. Otherwise return NULL. Notice that if inode is a directory there can be only one alias and it can be unhashed only if it has no children, or if it is the root of a filesystem.
If the inode has a DCACHE_DISCONNECTED alias, then prefer any other hashed alias over that one unless want_discon is set, in which case only return a DCACHE_DISCONNECTED alias.