summaryrefslogtreecommitdiff
path: root/kernel/cgroup_freezer.c
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2012-11-19 08:13:38 -0800
committerTejun Heo <tj@kernel.org>2012-11-19 08:13:38 -0800
commitb1929db42f8a649d9a9e397119f628c27fd4021f (patch)
tree04c0fa6f056395f8d17b5cd918403547be3f1425 /kernel/cgroup_freezer.c
parent4b8b47eb0001a89f271d671d959b235faa8f03e2 (diff)
downloadlwn-b1929db42f8a649d9a9e397119f628c27fd4021f.tar.gz
lwn-b1929db42f8a649d9a9e397119f628c27fd4021f.zip
cgroup: allow ->post_create() to fail
There could be cases where controllers want to do initialization operations which may fail from ->post_create(). This patch makes ->post_create() return -errno to indicate failure and online_css() relay such failures. Signed-off-by: Tejun Heo <tj@kernel.org> Acked-by: Li Zefan <lizefan@huawei.com> Cc: Glauber Costa <glommer@parallels.com>
Diffstat (limited to 'kernel/cgroup_freezer.c')
-rw-r--r--kernel/cgroup_freezer.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/cgroup_freezer.c b/kernel/cgroup_freezer.c
index 670a4af7dc94..ee8bb671688c 100644
--- a/kernel/cgroup_freezer.c
+++ b/kernel/cgroup_freezer.c
@@ -112,7 +112,7 @@ static struct cgroup_subsys_state *freezer_create(struct cgroup *cgroup)
* parent's freezing state while holding both parent's and our
* freezer->lock.
*/
-static void freezer_post_create(struct cgroup *cgroup)
+static int freezer_post_create(struct cgroup *cgroup)
{
struct freezer *freezer = cgroup_freezer(cgroup);
struct freezer *parent = parent_freezer(freezer);
@@ -136,6 +136,8 @@ static void freezer_post_create(struct cgroup *cgroup)
spin_unlock(&freezer->lock);
if (parent)
spin_unlock_irq(&parent->lock);
+
+ return 0;
}
/**