mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-26 08:31:13 +00:00
Revert "kernfs: remove kernfs_addrm_cxt"
This reverts commit 99177a3411
.
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:
parent
f4b3e631b3
commit
7653fe9d6c
5 changed files with 121 additions and 29 deletions
|
@ -45,6 +45,13 @@ static inline struct kernfs_root *kernfs_root(struct kernfs_node *kn)
|
|||
return kn->dir.root;
|
||||
}
|
||||
|
||||
/*
|
||||
* Context structure to be used while adding/removing nodes.
|
||||
*/
|
||||
struct kernfs_addrm_cxt {
|
||||
struct kernfs_node *removed;
|
||||
};
|
||||
|
||||
/*
|
||||
* mount.c
|
||||
*/
|
||||
|
@ -94,7 +101,10 @@ extern const struct inode_operations kernfs_dir_iops;
|
|||
|
||||
struct kernfs_node *kernfs_get_active(struct kernfs_node *kn);
|
||||
void kernfs_put_active(struct kernfs_node *kn);
|
||||
int kernfs_add_one(struct kernfs_node *kn, struct kernfs_node *parent);
|
||||
void kernfs_addrm_start(struct kernfs_addrm_cxt *acxt);
|
||||
int kernfs_add_one(struct kernfs_addrm_cxt *acxt, struct kernfs_node *kn,
|
||||
struct kernfs_node *parent);
|
||||
void kernfs_addrm_finish(struct kernfs_addrm_cxt *acxt);
|
||||
struct kernfs_node *kernfs_new_node(struct kernfs_root *root, const char *name,
|
||||
umode_t mode, unsigned flags);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue