From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757547Ab3AILp0 (ORCPT ); Wed, 9 Jan 2013 06:45:26 -0500 Received: from mailhub.sw.ru ([195.214.232.25]:25927 "EHLO relay.sw.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757166Ab3AILpZ (ORCPT ); Wed, 9 Jan 2013 06:45:25 -0500 From: Glauber Costa To: Cc: , Andrew Morton , Tejun Heo , Peter Zijlstra , Paul Turner , Peter Zijlstra , Glauber Costa Subject: [PATCH v5 02/11] cgroup: implement CFTYPE_NO_PREFIX Date: Wed, 9 Jan 2013 15:45:29 +0400 Message-Id: <1357731938-8417-3-git-send-email-glommer@parallels.com> X-Mailer: git-send-email 1.7.11.7 In-Reply-To: <1357731938-8417-1-git-send-email-glommer@parallels.com> References: <1357731938-8417-1-git-send-email-glommer@parallels.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Tejun Heo When cgroup files are created, cgroup core automatically prepends the name of the subsystem as prefix. This patch adds CFTYPE_NO_PREFIX which disables the automatic prefix. This will be used to deprecate cpuacct which will make cpu create and serve the cpuacct files. Signed-off-by: Tejun Heo Cc: Peter Zijlstra Cc: Glauber Costa --- include/linux/cgroup.h | 1 + kernel/cgroup.c | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h index 7d73905..7d193f9 100644 --- a/include/linux/cgroup.h +++ b/include/linux/cgroup.h @@ -277,6 +277,7 @@ struct cgroup_map_cb { /* cftype->flags */ #define CFTYPE_ONLY_ON_ROOT (1U << 0) /* only create on root cg */ #define CFTYPE_NOT_ON_ROOT (1U << 1) /* don't create on root cg */ +#define CFTYPE_NO_PREFIX (1U << 2) /* skip subsys prefix */ #define MAX_CFTYPE_NAME 64 diff --git a/kernel/cgroup.c b/kernel/cgroup.c index 4855892..2f98398 100644 --- a/kernel/cgroup.c +++ b/kernel/cgroup.c @@ -2723,7 +2723,8 @@ static int cgroup_add_file(struct cgroup *cgrp, struct cgroup_subsys *subsys, simple_xattrs_init(&cft->xattrs); - if (subsys && !test_bit(ROOT_NOPREFIX, &cgrp->root->flags)) { + if (subsys && !(cft->flags & CFTYPE_NO_PREFIX) && + !test_bit(ROOT_NOPREFIX, &cgrp->root->flags)) { strcpy(name, subsys->name); strcat(name, "."); } -- 1.7.11.7