diff options
Diffstat (limited to 'fs/dcache.c')
-rw-r--r-- | fs/dcache.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/fs/dcache.c b/fs/dcache.c index 48b44a714b35..1b4a3a34ec57 100644 --- a/fs/dcache.c +++ b/fs/dcache.c | |||
@@ -14,7 +14,6 @@ | |||
14 | * the dcache entry is deleted or garbage collected. | 14 | * the dcache entry is deleted or garbage collected. |
15 | */ | 15 | */ |
16 | 16 | ||
17 | #include <linux/config.h> | ||
18 | #include <linux/syscalls.h> | 17 | #include <linux/syscalls.h> |
19 | #include <linux/string.h> | 18 | #include <linux/string.h> |
20 | #include <linux/mm.h> | 19 | #include <linux/mm.h> |
@@ -39,7 +38,7 @@ int sysctl_vfs_cache_pressure __read_mostly = 100; | |||
39 | EXPORT_SYMBOL_GPL(sysctl_vfs_cache_pressure); | 38 | EXPORT_SYMBOL_GPL(sysctl_vfs_cache_pressure); |
40 | 39 | ||
41 | __cacheline_aligned_in_smp DEFINE_SPINLOCK(dcache_lock); | 40 | __cacheline_aligned_in_smp DEFINE_SPINLOCK(dcache_lock); |
42 | static seqlock_t rename_lock __cacheline_aligned_in_smp = SEQLOCK_UNLOCKED; | 41 | static __cacheline_aligned_in_smp DEFINE_SEQLOCK(rename_lock); |
43 | 42 | ||
44 | EXPORT_SYMBOL(dcache_lock); | 43 | EXPORT_SYMBOL(dcache_lock); |
45 | 44 | ||
@@ -1340,10 +1339,10 @@ void d_move(struct dentry * dentry, struct dentry * target) | |||
1340 | */ | 1339 | */ |
1341 | if (target < dentry) { | 1340 | if (target < dentry) { |
1342 | spin_lock(&target->d_lock); | 1341 | spin_lock(&target->d_lock); |
1343 | spin_lock(&dentry->d_lock); | 1342 | spin_lock_nested(&dentry->d_lock, DENTRY_D_LOCK_NESTED); |
1344 | } else { | 1343 | } else { |
1345 | spin_lock(&dentry->d_lock); | 1344 | spin_lock(&dentry->d_lock); |
1346 | spin_lock(&target->d_lock); | 1345 | spin_lock_nested(&target->d_lock, DENTRY_D_LOCK_NESTED); |
1347 | } | 1346 | } |
1348 | 1347 | ||
1349 | /* Move the dentry to the target hash queue, if on different bucket */ | 1348 | /* Move the dentry to the target hash queue, if on different bucket */ |