Revert "kernfs: replace kernfs_node->u.completion with kernfs_root->deactivate_waitq"

This reverts commit ea1c472dfe.

Tejun writes:
        I'm sorry but can you please revert the whole series?
        get_active() waiting while a node is deactivated has potential
        to lead to deadlock and that deactivate/reactivate interface is
        something fundamentally flawed and that cgroup will have to work
        with the remove_self() like everybody else.  IOW, I think the
        first posting was correct.

Cc: Tejun Heo <tj@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Greg Kroah-Hartman 2014-01-13 14:43:11 -08:00
parent 0890147fe0
commit 87da149343
2 changed files with 18 additions and 13 deletions

View file

@ -15,7 +15,7 @@
#include <linux/lockdep.h>
#include <linux/rbtree.h>
#include <linux/atomic.h>
#include <linux/wait.h>
#include <linux/completion.h>
struct file;
struct iattr;
@ -91,6 +91,7 @@ struct kernfs_node {
struct rb_node rb;
union {
struct completion *completion;
struct kernfs_node *removed_list;
} u;
@ -131,7 +132,6 @@ struct kernfs_root {
/* private fields, do not use outside kernfs proper */
struct ida ino_ida;
struct kernfs_dir_ops *dir_ops;
wait_queue_head_t deactivate_waitq;
};
struct kernfs_open_file {