| 函数逻辑报告 | 
| Source Code: fs\d_path.c | Create Date:2022-07-29 10:42:51 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| 首页 | 函数Tree | 
| 注解内核,赢得工具 | 下载SCCT | English | 
函数名称:prepend_path - Prepend path string to a buffer*@path: the dentry/vfsmount to report*@root: root vfsmnt/dentry*@buffer: pointer to the end of the buffer*@buflen: pointer to buffer length* The function will first try to write out the pathname without taking
函数原型:static int prepend_path(const struct path *path, const struct path *root, char **buffer, int *buflen)
返回类型:int
参数:
| 类型 | 参数 | 名称 | 
|---|---|---|
| const struct path * | path | |
| const struct path * | root | |
| char ** | buffer | |
| int * | buflen | 
| 82 | error等于0 | 
| 83 | m_seq等于0 | 
| 88 | restart_mnt : | 
| 90 | seq等于0 | 
| 92 | restart : | 
| 95 | error等于0 | 
| 98 | mnt等于real_mount(vfsmnt) | 
| 104 | parent等于READ_ONCE(mnt_parent) | 
| 106 | 如果dentry不等于 root of the mounted tree 则 | 
| 119 | 如果is_mounted(vfsmnt)且非is_anon_ns( containing namespace )则error等于1 | 
| 121 | 否则error等于2 | 
| 123 | 退出 | 
| 125 | parent等于 parent directory | 
| 135 | 如果need_seqretry( & rename_lock, seq)则 | 
| 139 | done_seqretry( & rename_lock, seq) | 
| 144 | m_seq等于1 | 
| 145 | 转到:restart_mnt | 
| 150 | 如果blen先自减小于0则error等于负ENAMETOOLONG | 
| 152 | 否则*bptr先自减等于'/' | 
| 157 | 返回:error | 
| 名称 | 描述 | 
|---|---|
| __d_path | __d_path - return the path of a dentry*@path: the dentry/vfsmount to report*@root: root vfsmnt/dentry*@buf: buffer to return value in*@buflen: buffer length* Convert a dentry into an ASCII path name | 
| d_absolute_path | |
| path_with_deleted | same as __d_path but appends "(deleted)" for unlinked files. | 
| SYSCALL_DEFINE2 | NOTE! The user-level library version returns a* character pointer | 
| 源代码转换工具 开放的插件接口 | X | 
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |