| From f33fddc2b9573d8359f1007d4bbe5cd587a0c093 Mon Sep 17 00:00:00 2001 |
| From: Gao feng <gaofeng@cn.fujitsu.com> |
| Date: Thu, 6 Dec 2012 14:38:57 +0800 |
| Subject: cgroup_rm_file: don't delete the uncreated files |
| |
| From: Gao feng <gaofeng@cn.fujitsu.com> |
| |
| commit f33fddc2b9573d8359f1007d4bbe5cd587a0c093 upstream. |
| |
| in cgroup_add_file,when creating files for cgroup, |
| some of creation may be skipped. So we need to avoid |
| deleting these uncreated files in cgroup_rm_file, |
| otherwise the warning msg will be triggered. |
| |
| "cgroup_addrm_files: failed to remove memory_pressure_enabled, err=-2" |
| |
| Signed-off-by: Gao feng <gaofeng@cn.fujitsu.com> |
| Acked-by: Li Zefan <lizefan@huawei.com> |
| Signed-off-by: Tejun Heo <tj@redhat.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| kernel/cgroup.c | 12 ++++++------ |
| 1 file changed, 6 insertions(+), 6 deletions(-) |
| |
| --- a/kernel/cgroup.c |
| +++ b/kernel/cgroup.c |
| @@ -2789,12 +2789,6 @@ static int cgroup_add_file(struct cgroup |
| |
| simple_xattrs_init(&cft->xattrs); |
| |
| - /* does @cft->flags tell us to skip creation on @cgrp? */ |
| - if ((cft->flags & CFTYPE_NOT_ON_ROOT) && !cgrp->parent) |
| - return 0; |
| - if ((cft->flags & CFTYPE_ONLY_ON_ROOT) && cgrp->parent) |
| - return 0; |
| - |
| if (subsys && !test_bit(ROOT_NOPREFIX, &cgrp->root->flags)) { |
| strcpy(name, subsys->name); |
| strcat(name, "."); |
| @@ -2835,6 +2829,12 @@ static int cgroup_addrm_files(struct cgr |
| int err, ret = 0; |
| |
| for (cft = cfts; cft->name[0] != '\0'; cft++) { |
| + /* does cft->flags tell us to skip this file on @cgrp? */ |
| + if ((cft->flags & CFTYPE_NOT_ON_ROOT) && !cgrp->parent) |
| + continue; |
| + if ((cft->flags & CFTYPE_ONLY_ON_ROOT) && cgrp->parent) |
| + continue; |
| + |
| if (is_add) |
| err = cgroup_add_file(cgrp, subsys, cft); |
| else |