函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\dcache.c Create Date:2022-07-29 10:37:36
Last Modify:2020-03-18 10:27:32 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:This helper attempts to cope with remotely renamed directories* It assumes that the caller is already holding* Note: If ever the locking in lock_rename() changes, then please* remember to update this too...

函数原型:static int __d_unalias(struct inode *inode, struct dentry *dentry, struct dentry *alias)

返回类型:int

参数:

类型参数名称
struct inode *inode
struct dentry *dentry>d_parent->d_inode->i_mutex, and rename_lock
struct dentry *alias
2951  struct mutex * m1 = NULL
2952  struct rw_semaphore * m2 = NULL
2953  ret等于负ESTALE
2956  如果 parent directory 恒等于 parent directory 则转到:out_unalias
2960  如果非mutex_trylock - try to acquire the mutex, without waiting*@lock: the mutex to be acquired* Try to acquire the mutex atomically则转到:out_err
2962  m1等于s_vfs_rename_mutex
2963  如果非inode_trylock_shared( Where the name belongs to - NULL is * negative )则转到:out_err
2965  m2等于i_rwsem
2966  out_unalias :
2967  __d_move - move a dentry*@dentry: entry to move*@target: new dentry*@exchange: exchange the two dentries* Update the dcache to reflect the move of a file name
2968  ret等于0
2969  out_err :
2970  如果m2lease a read lock
2972  如果m1mutex_unlock - release the mutex*@lock: the mutex to be released* Unlock a mutex that has been locked by this task previously.* This function must not be used in interrupt context. Unlocking* of a not locked mutex is not allowed.
2974  返回:ret
调用者
名称描述
d_splice_alias链接目录项