aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorNick Piggin <npiggin@suse.de>2010-01-29 18:38:21 -0500
committerThomas Gleixner <tglx@linutronix.de>2010-04-27 11:32:32 -0400
commitd4fe09131b66c5a7176a5dbfc9bd1ef6939643e8 (patch)
tree1b2293bcc65f2c97c7a2b5a27d5d55eb7a195bd6 /arch
parent5c0eb5cec064ce26ffcd0cdd684c9b6dd7c9074e (diff)
fs-dcache-scale-d_unhashed
Protect d_unhashed(dentry) condition with d_lock. Signed-off-by: Nick Piggin <npiggin@suse.de> Signed-off-by: John Stultz <johnstul@us.ibm.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/platforms/cell/spufs/inode.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/cell/spufs/inode.c b/arch/powerpc/platforms/cell/spufs/inode.c
index a8bc4808e411..f3eab8dc3df8 100644
--- a/arch/powerpc/platforms/cell/spufs/inode.c
+++ b/arch/powerpc/platforms/cell/spufs/inode.c
@@ -165,6 +165,9 @@ static void spufs_prune_dir(struct dentry *dir)
165 __d_drop(dentry); 165 __d_drop(dentry);
166 spin_unlock(&dentry->d_lock); 166 spin_unlock(&dentry->d_lock);
167 simple_unlink(dir->d_inode, dentry); 167 simple_unlink(dir->d_inode, dentry);
168 /* XXX: what is dcache_lock protecting here? Other
169 * filesystems (IB, configfs) release dcache_lock
170 * before unlink */
168 spin_unlock(&dcache_lock); 171 spin_unlock(&dcache_lock);
169 dput(dentry); 172 dput(dentry);
170 } else { 173 } else {