aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/kernfs.h
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-01-13 17:09:38 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-01-13 17:09:38 -0500
commit9b0925a6ff64a33be45497e3c798bfee8790b102 (patch)
tree827aec07fe844addd8e1dd2d1f09b4bb855c9cd1 /include/linux/kernfs.h
parenta9f138b0e537de55933335d580ebd38c2bc53c47 (diff)
Revert "kernfs: implement kernfs_{de|re}activate[_self]()"
This reverts commit 9f010c2ad5194a4b682e747984477850fabd03be. 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.h7
1 files changed, 1 insertions, 6 deletions
diff --git a/include/linux/kernfs.h b/include/linux/kernfs.h
index ac8693027058..9b5a4bb88c64 100644
--- a/include/linux/kernfs.h
+++ b/include/linux/kernfs.h
@@ -80,8 +80,6 @@ struct kernfs_elem_attr {
80struct kernfs_node { 80struct kernfs_node {
81 atomic_t count; 81 atomic_t count;
82 atomic_t active; 82 atomic_t active;
83 int deact_depth;
84 unsigned int hash; /* ns + name hash */
85#ifdef CONFIG_DEBUG_LOCK_ALLOC 83#ifdef CONFIG_DEBUG_LOCK_ALLOC
86 struct lockdep_map dep_map; 84 struct lockdep_map dep_map;
87#endif 85#endif
@@ -92,6 +90,7 @@ struct kernfs_node {
92 struct rb_node rb; 90 struct rb_node rb;
93 91
94 const void *ns; /* namespace tag */ 92 const void *ns; /* namespace tag */
93 unsigned int hash; /* ns + name hash */
95 union { 94 union {
96 struct kernfs_elem_dir dir; 95 struct kernfs_elem_dir dir;
97 struct kernfs_elem_symlink symlink; 96 struct kernfs_elem_symlink symlink;
@@ -234,10 +233,6 @@ struct kernfs_node *__kernfs_create_file(struct kernfs_node *parent,
234struct kernfs_node *kernfs_create_link(struct kernfs_node *parent, 233struct kernfs_node *kernfs_create_link(struct kernfs_node *parent,
235 const char *name, 234 const char *name,
236 struct kernfs_node *target); 235 struct kernfs_node *target);
237void kernfs_deactivate(struct kernfs_node *kn);
238void kernfs_reactivate(struct kernfs_node *kn);
239void kernfs_deactivate_self(struct kernfs_node *kn);
240void kernfs_reactivate_self(struct kernfs_node *kn);
241void kernfs_remove(struct kernfs_node *kn); 236void kernfs_remove(struct kernfs_node *kn);
242int kernfs_remove_by_name_ns(struct kernfs_node *parent, const char *name, 237int kernfs_remove_by_name_ns(struct kernfs_node *parent, const char *name,
243 const void *ns); 238 const void *ns);