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_move - move a dentry*@dentry: entry to move*@target: new dentry*@exchange: exchange the two dentries* Update the dcache to reflect the move of a file name
Proto:static void __d_move(struct dentry *dentry, struct dentry *target, bool exchange)
Type:void
Parameter:
Type | Parameter | Name |
---|---|---|
struct dentry * | dentry | |
struct dentry * | target | |
bool | exchange |
2815 | BUG_ON(d_ancestor - search for an ancestor*@p1: ancestor dentry*@p2: child dentry* Returns the ancestor dentry of p2 which is a child of p1, if p1 is* an ancestor of p2, else NULL.) |
2816 | old_parent = parent directory |
2817 | p = d_ancestor - search for an ancestor*@p1: ancestor dentry*@p2: child dentry* Returns the ancestor dentry of p2 which is a child of p1, if p1 is* an ancestor of p2, else NULL. |
2821 | Else if Not p Then |
2824 | spin_lock_nested( & d_lock, DENTRY_D_LOCK_NESTED) |
2825 | Else |
2828 | If p != target Then spin_lock_nested( & d_lock, DENTRY_D_LOCK_NESTED) |
2832 | spin_lock_nested( & d_lock, 2) |
2833 | spin_lock_nested( & d_lock, 3) |
2837 | n = start_dir_add(dir) |
2838 | __d_lookup_done(target) |
2841 | write_seqcount_begin( & per dentry seqlock ) |
2851 | parent directory = parent directory |
2852 | If Not exchange Then |
2858 | Else |
2859 | parent directory = old_parent |
2860 | swap_names(dentry, target) |
2862 | __d_rehash(target) |
2863 | fsnotify_update_flags(target) |
2866 | __d_rehash(dentry) |
2867 | fsnotify_update_flags(dentry) |
2868 | fscrypt_handle_d_move(dentry) |
2870 | write_seqcount_end( & per dentry seqlock ) |
2871 | write_seqcount_end( & per dentry seqlock ) |
2873 | If dir Then end_dir_add(dir, n) |
2876 | If parent directory != old_parent Then spin_unlock( & d_lock) |
2878 | If dentry != old_parent Then spin_unlock( & d_lock) |
2880 | spin_unlock( & d_lock) |
2881 | spin_unlock( & d_lock) |
Name | Describe |
---|---|
d_move | move a dentry |
d_exchange | d_exchange - exchange two dentries*@dentry1: first dentry*@dentry2: second dentry |
__d_unalias | This helper attempts to cope with remotely renamed directories* It assumes that the caller is already holding* Note: If ever the locking in lock_rename() changes, then please* remember to update this too... |
d_splice_alias | splice a disconnected dentry into the tree if one exists |
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 |