fs: dcache remove dcache_lock
[linux-flexiantxendom0-natty.git] / kernel / cgroup.c
index 7b4705b..1864cb6 100644 (file)
@@ -876,7 +876,6 @@ static void cgroup_clear_directory(struct dentry *dentry)
        struct list_head *node;
 
        BUG_ON(!mutex_is_locked(&dentry->d_inode->i_mutex));
-       spin_lock(&dcache_lock);
        spin_lock(&dentry->d_lock);
        node = dentry->d_subdirs.next;
        while (node != &dentry->d_subdirs) {
@@ -891,18 +890,15 @@ static void cgroup_clear_directory(struct dentry *dentry)
                        dget_locked_dlock(d);
                        spin_unlock(&d->d_lock);
                        spin_unlock(&dentry->d_lock);
-                       spin_unlock(&dcache_lock);
                        d_delete(d);
                        simple_unlink(dentry->d_inode, d);
                        dput(d);
-                       spin_lock(&dcache_lock);
                        spin_lock(&dentry->d_lock);
                } else
                        spin_unlock(&d->d_lock);
                node = dentry->d_subdirs.next;
        }
        spin_unlock(&dentry->d_lock);
-       spin_unlock(&dcache_lock);
 }
 
 /*
@@ -914,14 +910,12 @@ static void cgroup_d_remove_dir(struct dentry *dentry)
 
        cgroup_clear_directory(dentry);
 
-       spin_lock(&dcache_lock);
        parent = dentry->d_parent;
        spin_lock(&parent->d_lock);
        spin_lock(&dentry->d_lock);
        list_del_init(&dentry->d_u.d_child);
        spin_unlock(&dentry->d_lock);
        spin_unlock(&parent->d_lock);
-       spin_unlock(&dcache_lock);
        remove_dir(dentry);
 }