diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-01-13 17:27:16 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-01-13 17:27:16 -0500 |
commit | 55f6e30d0a6a8975cc0831e8a4a3715b815b6a2f (patch) | |
tree | 0316cdf73f1d42a386563dca5e9ff73f296d6ec4 /fs/kernfs/file.c | |
parent | 7653fe9d6cddc3fc5e4220608079006d8ac0054c (diff) |
Revert "kernfs: invoke kernfs_unmap_bin_file() directly from __kernfs_remove()"
This reverts commit f601f9a2bf7dc1f7ee18feece4c4e2fc6845d6c4.
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 'fs/kernfs/file.c')
-rw-r--r-- | fs/kernfs/file.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/kernfs/file.c b/fs/kernfs/file.c index 404ffd2f27bc..231a171f48b6 100644 --- a/fs/kernfs/file.c +++ b/fs/kernfs/file.c | |||
@@ -700,11 +700,14 @@ static int kernfs_fop_release(struct inode *inode, struct file *filp) | |||
700 | return 0; | 700 | return 0; |
701 | } | 701 | } |
702 | 702 | ||
703 | void kernfs_unmap_file(struct kernfs_node *kn) | 703 | void kernfs_unmap_bin_file(struct kernfs_node *kn) |
704 | { | 704 | { |
705 | struct kernfs_open_node *on; | 705 | struct kernfs_open_node *on; |
706 | struct kernfs_open_file *of; | 706 | struct kernfs_open_file *of; |
707 | 707 | ||
708 | if (!(kn->flags & KERNFS_HAS_MMAP)) | ||
709 | return; | ||
710 | |||
708 | spin_lock_irq(&kernfs_open_node_lock); | 711 | spin_lock_irq(&kernfs_open_node_lock); |
709 | on = kn->attr.open; | 712 | on = kn->attr.open; |
710 | if (on) | 713 | if (on) |