函数逻辑报告 |
Source Code:fs\namei.c |
Create Date:2022-07-29 10:35:11 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:vfs_link - create a new link*@old_dentry: object to be linked*@dir: new parent*@new_dentry: where to create the new link*@delegated_inode: returns inode needing a delegation break* The caller must hold dir->i_mutex* If vfs_link discovers a delegation on
函数原型:int vfs_link(struct dentry *old_dentry, struct inode *dir, struct dentry *new_dentry, struct inode **delegated_inode)
返回类型:int
参数:
类型 | 参数 | 名称 |
---|---|---|
struct dentry * | old_dentry | |
struct inode * | dir | |
struct dentry * | new_dentry | |
struct inode ** | delegated_inode |
4141 | max_links等于s_max_links |
4157 | 如果IS_APPEND(inode)或IS_IMMUTABLE(inode)则返回:负EPERM |
4164 | 如果HAS_UNMAPPED_ID(inode)则返回:负EPERM |
4171 | error等于security_inode_link(old_dentry, dir, new_dentry) |
4175 | inode_lock(inode) |
4177 | 如果i_nlink恒等于0且非Misc 按位与I_LINKABLE的值则error等于负ENOENT |
4181 | 否则 |
4182 | error等于try_break_deleg(inode, delegated_inode) |
4183 | 如果非error则error等于link(old_dentry, dir, new_dentry) |
4187 | 如果非error且Misc 按位与I_LINKABLE则 |
4192 | inode_unlock(inode) |
4193 | 如果非error则snotify_link - new hardlink in 'inode' directory* Note: We have to pass also the linked inode ptr as some filesystems leave |
4195 | 返回:error |
名称 | 描述 |
---|---|
do_linkat | Hardlinks are often used in delicate situations. We avoid* security-related surprises by not following symlinks on the* newname. --KAB* We don't follow them on the oldname either to be compatible* with linux 2.0, and to avoid hard-linking to directories |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |