On 2012/12/6 11:09, Gao feng wrote: > 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@xxxxxxxxxxxxxx> > --- > kernel/cgroup.c | 6 ++++++ > 1 files changed, 6 insertions(+), 0 deletions(-) > > diff --git a/kernel/cgroup.c b/kernel/cgroup.c > index 5cc3724..6928b3e 100644 > --- a/kernel/cgroup.c > +++ b/kernel/cgroup.c > @@ -932,6 +932,12 @@ static int cgroup_rm_file(struct cgroup *cgrp, const struct cftype *cft) > lockdep_assert_held(&cgrp->dentry->d_inode->i_mutex); > lockdep_assert_held(&cgroup_mutex); > > + /* does @cft->flags tell us this file isn't created on @cgrp? */ > + if ((cft->flags & CFTYPE_NOT_ON_ROOT) && !cgrp->parent) > + return 0; > + if ((cft->flags & CFTYPE_ONLY_ON_ROOT) && cgrp->parent) > + return 0; > + We should move those checks to cgroup_addrm_files() to avoid code duplication. > list_for_each_entry(cfe, &cgrp->files, node) { > struct dentry *d = cfe->dentry; > > _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/containers