diff options
Diffstat (limited to 'fs/dcache.c')
-rw-r--r-- | fs/dcache.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/dcache.c b/fs/dcache.c index ad4a542e9bab..817c243c1ff1 100644 --- a/fs/dcache.c +++ b/fs/dcache.c | |||
@@ -1636,7 +1636,7 @@ struct dentry *d_alloc(struct dentry * parent, const struct qstr *name) | |||
1636 | struct dentry *dentry = __d_alloc(parent->d_sb, name); | 1636 | struct dentry *dentry = __d_alloc(parent->d_sb, name); |
1637 | if (!dentry) | 1637 | if (!dentry) |
1638 | return NULL; | 1638 | return NULL; |
1639 | 1639 | dentry->d_flags |= DCACHE_RCUACCESS; | |
1640 | spin_lock(&parent->d_lock); | 1640 | spin_lock(&parent->d_lock); |
1641 | /* | 1641 | /* |
1642 | * don't need child lock because it is not subject | 1642 | * don't need child lock because it is not subject |
@@ -2358,7 +2358,6 @@ static void __d_rehash(struct dentry * entry, struct hlist_bl_head *b) | |||
2358 | { | 2358 | { |
2359 | BUG_ON(!d_unhashed(entry)); | 2359 | BUG_ON(!d_unhashed(entry)); |
2360 | hlist_bl_lock(b); | 2360 | hlist_bl_lock(b); |
2361 | entry->d_flags |= DCACHE_RCUACCESS; | ||
2362 | hlist_bl_add_head_rcu(&entry->d_hash, b); | 2361 | hlist_bl_add_head_rcu(&entry->d_hash, b); |
2363 | hlist_bl_unlock(b); | 2362 | hlist_bl_unlock(b); |
2364 | } | 2363 | } |
@@ -2843,6 +2842,7 @@ static void __d_move(struct dentry *dentry, struct dentry *target, | |||
2843 | /* ... and switch them in the tree */ | 2842 | /* ... and switch them in the tree */ |
2844 | if (IS_ROOT(dentry)) { | 2843 | if (IS_ROOT(dentry)) { |
2845 | /* splicing a tree */ | 2844 | /* splicing a tree */ |
2845 | dentry->d_flags |= DCACHE_RCUACCESS; | ||
2846 | dentry->d_parent = target->d_parent; | 2846 | dentry->d_parent = target->d_parent; |
2847 | target->d_parent = target; | 2847 | target->d_parent = target; |
2848 | list_del_init(&target->d_child); | 2848 | list_del_init(&target->d_child); |