<dec f='src/src/sys/miscfs/genfs/genfs.h' l='69' type='int genfs_sane_rename(const struct genfs_rename_ops * , struct vnode * , struct componentname * , void * , struct vnode * , struct componentname * , void * , kauth_cred_t , _Bool )'/>
<use f='src/src/sys/fs/tmpfs/tmpfs_rename.c' l='87' u='c' c='tmpfs_sane_rename'/>
<def f='src/src/sys/miscfs/genfs/genfs_rename.c' l='248' ll='380' type='int genfs_sane_rename(const struct genfs_rename_ops * ops, struct vnode * fdvp, struct componentname * fcnp, void * fde, struct vnode * tdvp, struct componentname * tcnp, void * tde, kauth_cred_t cred, _Bool posixly_correct)'/>
<doc f='src/src/sys/miscfs/genfs/genfs_rename.c' l='240'>/*
 * genfs_sane_rename: Generic implementation of the saner API for the
 * rename vop.  Handles ancestry checks, locking, and permissions
 * checks.  Caller is responsible for implementing the genfs rename
 * operations.
 *
 * fdvp and tdvp must be referenced and unlocked.
 */</doc>
<use f='src/src/sys/ufs/ext2fs/ext2fs_rename.c' l='99' u='c' c='ext2fs_sane_rename'/>
<use f='src/src/sys/ufs/lfs/lfs_rename.c' l='1133' u='c' c='lfs_sane_rename'/>
<use f='src/src/sys/ufs/ufs/ufs_rename.c' l='100' u='c' c='ufs_sane_rename'/>
