On Mon, Jun 01, 2009 at 11:02:58PM -0700, [email protected] wrote: > > The patch titled > cgroups: forbid noprefix if mounting more than just cpuset subsystem > has been added to the -mm tree. Its filename is > cgroups-forbid-noprefix-if-mounting-more-than-just-cpuset-subsystem.patch > > Before you just go and hit "reply", please: > a) Consider who else should be cc'ed > b) Prefer to cc a suitable mailing list as well > c) Ideally: find the original patch on the mailing list and do a > reply-to-all to that, adding suitable additional cc's > > *** Remember to use Documentation/SubmitChecklist when testing your code *** > > See http://userweb.kernel.org/~akpm/stuff/added-to-mm.txt to find > out what to do about this > > The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/ > > ------------------------------------------------------ > Subject: cgroups: forbid noprefix if mounting more than just cpuset subsystem > From: Li Zefan <[email protected]> > > The 'noprefix' option was introduced for backwards-compatibility of > cpuset, but actually it can be used when mounting other subsystems. > > This results in possibility of name collision, and now the collision can > really happen, because we have 'stat' file in both memory and cpuacct > subsystem: > > # mount -t cgroup -o noprefix,memory,cpuacct xxx /mnt > > Cgroup will happily mount the 2 subsystems, but only 'stat' file of memory > subsys can be seen. > > We don't want users to use nopreifx, and also want to avoid name > collision, so we change to allow noprefix only if mounting just the cpuset > subsystem. >
I am not sure if this is a good idea. For libcgroup, we would then be adding a special case for just cpuset. I would rather that we allow it either for all the subsystems or none of them. thanks, > Signed-off-by: Li Zefan <[email protected]> > Cc: Paul Menage <[email protected]> > Cc: KAMEZAWA Hiroyuki <[email protected]> > Cc: Balbir Singh <[email protected]> > Cc: Dhaval Giani <[email protected]> > Signed-off-by: Andrew Morton <[email protected]> > --- > > kernel/cgroup.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff -puN > kernel/cgroup.c~cgroups-forbid-noprefix-if-mounting-more-than-just-cpuset-subsystem > kernel/cgroup.c > --- > a/kernel/cgroup.c~cgroups-forbid-noprefix-if-mounting-more-than-just-cpuset-subsystem > +++ a/kernel/cgroup.c > @@ -842,6 +842,11 @@ static int parse_cgroupfs_options(char * > struct cgroup_sb_opts *opts) > { > char *token, *o = data ?: "all"; > + unsigned long mask = (unsigned long)-1; > + > +#ifdef CONFIG_CPUSETS > + mask = ~(1 << cpuset_subsys_id); > +#endif > > opts->subsys_bits = 0; > opts->flags = 0; > @@ -886,6 +891,11 @@ static int parse_cgroupfs_options(char * > } > } > > + /* We allow noprefix only if mounting just the cpuset subsystem */ > + if (test_bit(ROOT_NOPREFIX, &opts->flags) && > + (opts->subsys_bits & mask)) > + return -EINVAL; > + > /* We can't have an empty hierarchy */ > if (!opts->subsys_bits) > return -EINVAL; > _ > > Patches currently in -mm which might be from [email protected] are > > origin.patch > linux-next.patch > mm-add-swap-cache-interface-for-swap-reference.patch > mm-modify-swap_map-and-add-swap_has_cache-flag.patch > mm-reuse-unused-swap-entry-if-necessary.patch > hexdump-remove-the-trailing-space.patch > cgroups-make-messages-more-readable.patch > cgroups-forbid-noprefix-if-mounting-more-than-just-cpuset-subsystem.patch > devcgroup-skip-superfluous-checks-when-found-the-dev_all-elem.patch > memcg-remove-some-redundant-checks.patch > memcg-remove-unneeded-forward-declaration-from-schedh.patch > memcg-fix-swap-accounting.patch -- regards, Dhaval ------------------------------------------------------------------------------ OpenSolaris 2009.06 is a cutting edge operating system for enterprises looking to deploy the next generation of Solaris that includes the latest innovations from Sun and the OpenSource community. Download a copy and enjoy capabilities such as Networking, Storage and Virtualization. Go to: http://p.sf.net/sfu/opensolaris-get _______________________________________________ Libcg-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libcg-devel
