函数逻辑报告 |
Source Code:fs\dcache.c |
Create Date:2022-07-29 10:37:34 |
| Last Modify:2020-03-18 10:27:32 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:d_alloc_parallel
函数原型:struct dentry *d_alloc_parallel(struct dentry *parent, const struct qstr *name, wait_queue_head_t *wq)
返回类型:struct dentry
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct dentry * | parent | |
| const struct qstr * | name | |
| wait_queue_head_t * | wq |
| 2519 | b等于in_lookup_hash(parent, hash) |
| 2525 | 如果此条件成立可能性小(为编译器优化)(!new)则返回:错误号 |
| 2528 | retry : |
| 2530 | seq等于smp_load_acquire( & i_dir_seq) |
| 2533 | 如果此条件成立可能性小(为编译器优化)(dentry)则 |
| 2547 | 如果此条件成立可能性小(为编译器优化)(read_seqretry( & rename_lock, r_seq))则 |
| 2549 | 转到:retry |
| 2552 | 如果此条件成立可能性小(为编译器优化)(seq & 1)则 |
| 2554 | 转到:retry |
| 2557 | hlist_bl_lock(b) |
| 2558 | 如果此条件成立可能性小(为编译器优化)(READ_ONCE(i_dir_seq) != seq)则 |
| 2559 | hlist_bl_unlock(b) |
| 2561 | 转到:retry |
| 2573 | 如果 parent directory 不等于parent则继续下一循环 |
| 2575 | 如果非d_same_name(dentry, parent, name)则继续下一循环 |
| 2577 | hlist_bl_unlock(b) |
| 2579 | 如果非 有引用则递增计数则 |
| 2581 | 转到:retry |
| 2589 | 加自旋锁 |
| 2590 | d_wait_lookup(dentry) |
| 2597 | 如果此条件成立可能性小(为编译器优化)(hash != hash)则转到:mismatch |
| 2599 | 如果此条件成立可能性小(为编译器优化)( parent directory != parent)则转到:mismatch |
| 2601 | 如果此条件成立可能性小(为编译器优化)(目录项存在于哈希中)则转到:mismatch |
| 2603 | 如果此条件成立可能性小(为编译器优化)(!d_same_name(dentry, parent, name))则转到:mismatch |
| 2606 | 自旋锁解锁 |
| 2608 | 返回:dentry |
| 2613 | in-lookup ones only 等于wq |
| 2615 | hlist_bl_unlock(b) |
| 2616 | 返回:new |
| 2617 | mismatch : |
| 2618 | 自旋锁解锁 |
| 2620 | 转到:retry |
| 名称 | 描述 |
|---|---|
| lookup_open | Look up and maybe create and open the last component |
| d_add_ci | d_add_ci - lookup or allocate new dentry with case-exact name*@inode: the inode case-insensitive lookup has found*@dentry: the negative dentry that was passed to the parent's lookup func*@name: the case-exact name to be associated with the returned |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |