aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorNick Piggin <npiggin@suse.de>2010-01-29 18:38:23 -0500
committerThomas Gleixner <tglx@linutronix.de>2010-04-27 11:32:35 -0400
commit6465e96519c08e46bd8e366ad5e7039fa9a035bb (patch)
tree0f25c38d5e264976180be92ef1d189255e57d3aa /arch
parenta9865fc4ed12399c21bc7393d8f12431c563d18d (diff)
fs-dcache_lock-remove
dcache_lock no longer protects anything (I hope). remove it. This breaks a lot of the tree where I haven't thought about the problem, but it simplifies the dcache.c code quite a bit (and it's also probably a good thing to break unconverted code). So I include this here before making further changes to the locking. 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.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/arch/powerpc/platforms/cell/spufs/inode.c b/arch/powerpc/platforms/cell/spufs/inode.c
index f3eab8dc3df8..5f89414446c4 100644
--- a/arch/powerpc/platforms/cell/spufs/inode.c
+++ b/arch/powerpc/platforms/cell/spufs/inode.c
@@ -158,21 +158,18 @@ static void spufs_prune_dir(struct dentry *dir)
158 158
159 mutex_lock(&dir->d_inode->i_mutex); 159 mutex_lock(&dir->d_inode->i_mutex);
160 list_for_each_entry_safe(dentry, tmp, &dir->d_subdirs, d_u.d_child) { 160 list_for_each_entry_safe(dentry, tmp, &dir->d_subdirs, d_u.d_child) {
161 spin_lock(&dcache_lock);
162 spin_lock(&dentry->d_lock); 161 spin_lock(&dentry->d_lock);
163 if (!(d_unhashed(dentry)) && dentry->d_inode) { 162 if (!(d_unhashed(dentry)) && dentry->d_inode) {
164 dget_locked_dlock(dentry); 163 dget_locked_dlock(dentry);
165 __d_drop(dentry); 164 __d_drop(dentry);
166 spin_unlock(&dentry->d_lock); 165 spin_unlock(&dentry->d_lock);
167 simple_unlink(dir->d_inode, dentry); 166 simple_unlink(dir->d_inode, dentry);
168 /* XXX: what is dcache_lock protecting here? Other 167 /* XXX: what was dcache_lock protecting here? Other
169 * filesystems (IB, configfs) release dcache_lock 168 * filesystems (IB, configfs) release dcache_lock
170 * before unlink */ 169 * before unlink */
171 spin_unlock(&dcache_lock);
172 dput(dentry); 170 dput(dentry);
173 } else { 171 } else {
174 spin_unlock(&dentry->d_lock); 172 spin_unlock(&dentry->d_lock);
175 spin_unlock(&dcache_lock);
176 } 173 }
177 } 174 }
178 shrink_dcache_parent(dir); 175 shrink_dcache_parent(dir);