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:
@@ -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 {
|
||||
|
Reference in New Issue
Block a user