Function report |
Source Code:fs\dcache.c |
Create Date:2022-07-28 20:07:30 |
| Last Modify:2020-03-18 10:27:32 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:d_alloc_parallel
Proto:struct dentry *d_alloc_parallel(struct dentry *parent, const struct qstr *name, wait_queue_head_t *wq)
Type:struct dentry
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct dentry * | parent | |
| const struct qstr * | name | |
| wait_queue_head_t * | wq |
| 2519 | b = in_lookup_hash(parent, hash) |
| 2521 | new = allocate a dcache entry |
| 2525 | If Value for the false possibility is greater at compile time(!new) Then Return ERR_PTR( - ENOMEM) |
| 2528 | retry : |
| 2530 | seq = smp_load_acquire( & i_dir_seq) |
| 2547 | If Value for the false possibility is greater at compile time(read_seqretry( & rename_lock, r_seq)) Then |
| 2549 | Go to retry |
| 2552 | If Value for the false possibility is greater at compile time(seq & 1) Then |
| 2554 | Go to retry |
| 2557 | hlist_bl_lock(b) |
| 2558 | If Value for the false possibility is greater at compile time(READ_ONCE(i_dir_seq) != seq) Then |
| 2559 | hlist_bl_unlock(b) |
| 2561 | Go to retry |
| 2573 | If parent directory != parent Then Continue |
| 2575 | If Not d_same_name(dentry, parent, name) Then Continue |
| 2577 | hlist_bl_unlock(b) |
| 2581 | Go to retry |
| 2590 | d_wait_lookup(dentry) |
| 2597 | If Value for the false possibility is greater at compile time(hash != hash) Then Go to mismatch |
| 2599 | If Value for the false possibility is greater at compile time( parent directory != parent) Then Go to mismatch |
| 2603 | If Value for the false possibility is greater at compile time(!d_same_name(dentry, parent, name)) Then Go to mismatch |
| 2606 | spin_unlock( & d_lock) |
| 2608 | Return dentry |
| 2613 | in-lookup ones only = wq |
| 2615 | hlist_bl_unlock(b) |
| 2616 | Return new |
| 2617 | mismatch : |
| 2618 | spin_unlock( & d_lock) |
| 2620 | Go to retry |
| Name | Describe |
|---|---|
| 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 |
| Source code conversion tool public plug-in interface | X |
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |