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 |