aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/cgroup.c
diff options
context:
space:
mode:
authorNick Piggin <npiggin@kernel.dk>2011-01-07 01:49:38 -0500
committerNick Piggin <npiggin@kernel.dk>2011-01-07 01:50:23 -0500
commitb5c84bf6f6fa3a7dfdcb556023a62953574b60ee (patch)
tree7a2c299a180713e21d5cb653cb933121adf53c31 /kernel/cgroup.c
parent949854d02455080d20cd3e1db28a3a18daf7599d (diff)
fs: dcache remove dcache_lock
dcache_lock no longer protects anything. remove it. Signed-off-by: Nick Piggin <npiggin@kernel.dk>
Diffstat (limited to 'kernel/cgroup.c')
-rw-r--r--kernel/cgroup.c6
1 files changed, 0 insertions, 6 deletions
diff --git a/kernel/cgroup.c b/kernel/cgroup.c
index 7b4705b51d4a..1864cb6a6a59 100644
--- a/kernel/cgroup.c
+++ b/kernel/cgroup.c
@@ -876,7 +876,6 @@ static void cgroup_clear_directory(struct dentry *dentry)
876 struct list_head *node; 876 struct list_head *node;
877 877
878 BUG_ON(!mutex_is_locked(&dentry->d_inode->i_mutex)); 878 BUG_ON(!mutex_is_locked(&dentry->d_inode->i_mutex));
879 spin_lock(&dcache_lock);
880 spin_lock(&dentry->d_lock); 879 spin_lock(&dentry->d_lock);
881 node = dentry->d_subdirs.next; 880 node = dentry->d_subdirs.next;
882 while (node != &dentry->d_subdirs) { 881 while (node != &dentry->d_subdirs) {
@@ -891,18 +890,15 @@ static void cgroup_clear_directory(struct dentry *dentry)
891 dget_locked_dlock(d); 890 dget_locked_dlock(d);
892 spin_unlock(&d->d_lock); 891 spin_unlock(&d->d_lock);
893 spin_unlock(&dentry->d_lock); 892 spin_unlock(&dentry->d_lock);
894 spin_unlock(&dcache_lock);
895 d_delete(d); 893 d_delete(d);
896 simple_unlink(dentry->d_inode, d); 894 simple_unlink(dentry->d_inode, d);
897 dput(d); 895 dput(d);
898 spin_lock(&dcache_lock);
899 spin_lock(&dentry->d_lock); 896 spin_lock(&dentry->d_lock);
900 } else 897 } else
901 spin_unlock(&d->d_lock); 898 spin_unlock(&d->d_lock);
902 node = dentry->d_subdirs.next; 899 node = dentry->d_subdirs.next;
903 } 900 }
904 spin_unlock(&dentry->d_lock); 901 spin_unlock(&dentry->d_lock);
905 spin_unlock(&dcache_lock);
906} 902}
907 903
908/* 904/*
@@ -914,14 +910,12 @@ static void cgroup_d_remove_dir(struct dentry *dentry)
914 910
915 cgroup_clear_directory(dentry); 911 cgroup_clear_directory(dentry);
916 912
917 spin_lock(&dcache_lock);
918 parent = dentry->d_parent; 913 parent = dentry->d_parent;
919 spin_lock(&parent->d_lock); 914 spin_lock(&parent->d_lock);
920 spin_lock(&dentry->d_lock); 915 spin_lock(&dentry->d_lock);
921 list_del_init(&dentry->d_u.d_child); 916 list_del_init(&dentry->d_u.d_child);
922 spin_unlock(&dentry->d_lock); 917 spin_unlock(&dentry->d_lock);
923 spin_unlock(&parent->d_lock); 918 spin_unlock(&parent->d_lock);
924 spin_unlock(&dcache_lock);
925 remove_dir(dentry); 919 remove_dir(dentry);
926} 920}
927 921