aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/kernfs.h
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-01-13 14:43:11 -0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-01-13 14:43:11 -0800
commit87da149343c8c93f6984c0f4b9da7651709624f7 (patch)
tree47e2f102a0dd40ae822a8b7c470da07f3a1b9081 /include/linux/kernfs.h
parentRevert "kernfs: remove KERNFS_ACTIVE_REF and add kernfs_lockdep()" (diff)
downloadlinux-dev-87da149343c8c93f6984c0f4b9da7651709624f7.tar.xz
linux-dev-87da149343c8c93f6984c0f4b9da7651709624f7.zip
Revert "kernfs: replace kernfs_node->u.completion with kernfs_root->deactivate_waitq"
This reverts commit ea1c472dfeada211a0100daa7976e8e8e779b858. 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>
Diffstat (limited to 'include/linux/kernfs.h')
-rw-r--r--include/linux/kernfs.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/linux/kernfs.h b/include/linux/kernfs.h
index 232f1a632383..d2c439db4efa 100644
--- a/include/linux/kernfs.h
+++ b/include/linux/kernfs.h
@@ -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 {