diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-01-13 17:09:38 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-01-13 17:09:38 -0500 |
commit | 9b0925a6ff64a33be45497e3c798bfee8790b102 (patch) | |
tree | 827aec07fe844addd8e1dd2d1f09b4bb855c9cd1 /include/linux/kernfs.h | |
parent | a9f138b0e537de55933335d580ebd38c2bc53c47 (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.h | 7 |
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 { | |||
80 | struct kernfs_node { | 80 | struct 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, | |||
234 | struct kernfs_node *kernfs_create_link(struct kernfs_node *parent, | 233 | struct 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); |
237 | void kernfs_deactivate(struct kernfs_node *kn); | ||
238 | void kernfs_reactivate(struct kernfs_node *kn); | ||
239 | void kernfs_deactivate_self(struct kernfs_node *kn); | ||
240 | void kernfs_reactivate_self(struct kernfs_node *kn); | ||
241 | void kernfs_remove(struct kernfs_node *kn); | 236 | void kernfs_remove(struct kernfs_node *kn); |
242 | int kernfs_remove_by_name_ns(struct kernfs_node *parent, const char *name, | 237 | int kernfs_remove_by_name_ns(struct kernfs_node *parent, const char *name, |
243 | const void *ns); | 238 | const void *ns); |