From: Li Zefan <lizefan-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
To: Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org
Subject: Re: [PATCH v3 6/9] cgroup: make rebind_subsystems() handle file additions and removals with proper error handling
Date: Fri, 12 Jul 2013 14:13:40 +0800 [thread overview]
Message-ID: <51DF9E94.1070402@huawei.com> (raw)
In-Reply-To: <20130711172001.GF10195-9pTldWuhBndy/B6EtB590w@public.gmane.org>
On 2013/7/12 1:20, Tejun Heo wrote:
>>From 705da98c48f39ebe565439353a5b35a0bab08b23 Mon Sep 17 00:00:00 2001
> From: Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
> Date: Fri, 28 Jun 2013 17:07:30 -0700
>
> Currently, creating and removing cgroup files in the root directory
> are handled separately from the actual subsystem binding and unbinding
> which happens in rebind_subsystems(). Also, rebind_subsystems() users
> aren't handling file creation errors properly. Let's integrate
> top_cgroup file handling into rebind_subsystems() so that it's simpler
> to use and everyone handles file creation errors correctly.
>
> * On a successful return, rebind_subsystems() is guaranteed to have
> created all files of the new subsystems and deleted the ones
> belonging to the removed subsystems. After a failure, no file is
> created or removed.
>
> * cgroup_remount() no longer needs to make explicit populate/clear
> calls as it's all handled by rebind_subsystems(), and it gets proper
> error handling automatically.
>
> * cgroup_mount() has been updated such that the root dentry and cgroup
> are linked before rebind_subsystems(). Also, the init_cred dancing
> and base file handling are moved right above rebind_subsystems()
> call and proper error handling for the base files is added. While
> at it, add a comment explaining what's going on with the cred thing.
>
> * cgroup_kill_sb() calls rebind_subsystems() to unbind all subsystems
> which now implies removing all subsystem files which requires the
> directory's i_mutex. Grab it. This means that files on the root
> cgroup are removed earlier - they used to be deleted from generic
> super_block cleanup from vfs. This doesn't lead to any functional
> difference and it's cleaner to do the clean up explicitly for all
> files.
>
> Combined with the previous changes, this makes all cgroup file
> creation errors handled correctly.
>
> v2: Added comment on init_cred.
>
> v3: Li spotted that cgroup_mount() wasn't freeing tmp_links after base
> file addition failure. Fix it by adding free_tmp_links error
> handling label.
>
> Signed-off-by: Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Acked-by: Li Zefan <lizefan-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
next prev parent reply other threads:[~2013-07-12 6:13 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-28 23:45 [PATCHSET] cgroup: fix and clean up cgroup file creations and removals Tejun Heo
[not found] ` <1372463145-4245-1-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2013-06-28 23:45 ` [PATCH 1/9] cgroup: minor updates around cgroup_clear_directory() Tejun Heo
[not found] ` <1372463145-4245-2-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2013-07-11 6:42 ` Li Zefan
2013-06-28 23:45 ` Tejun Heo
2013-06-28 23:45 ` [PATCH 2/9] cgroup: fix error path of cgroup_addrm_files() Tejun Heo
[not found] ` <1372463145-4245-3-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2013-07-11 6:43 ` Li Zefan
2013-06-28 23:45 ` Tejun Heo
2013-06-28 23:45 ` [PATCH 3/9] cgroup: fix cgroup_add_cftypes() error handling Tejun Heo
[not found] ` <1372463145-4245-4-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2013-07-11 6:43 ` Li Zefan
2013-06-28 23:45 ` Tejun Heo
2013-06-28 23:45 ` [PATCH 4/9] cgroup: separate out cgroup_base_files[] handling out of cgroup_populate/clear_dir() Tejun Heo
[not found] ` <1372463145-4245-5-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2013-07-11 6:44 ` Li Zefan
2013-06-28 23:45 ` Tejun Heo
2013-06-28 23:45 ` [PATCH 5/9] cgroup: update error handling in cgroup_populate_dir() Tejun Heo
2013-06-28 23:45 ` Tejun Heo
[not found] ` <1372463145-4245-6-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2013-07-11 7:08 ` Li Zefan
[not found] ` <51DE59D7.2000203-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2013-07-11 17:01 ` Tejun Heo
[not found] ` <20130711170123.GA10195-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2013-07-12 6:36 ` Li Zefan
2013-07-11 17:18 ` [PATCH v2 " Tejun Heo
[not found] ` <20130711171825.GD10195-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2013-07-12 6:07 ` Li Zefan
2013-07-11 17:18 ` Tejun Heo
2013-06-28 23:45 ` [PATCH 6/9] cgroup: make rebind_subsystems() handle file additions and removals with proper error handling Tejun Heo
[not found] ` <1372463145-4245-7-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2013-06-29 0:10 ` [PATCH v2 " Tejun Heo
2013-07-11 7:09 ` [PATCH " Li Zefan
2013-07-11 17:20 ` [PATCH v3 " Tejun Heo
[not found] ` <20130711172001.GF10195-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2013-07-12 6:13 ` Li Zefan [this message]
2013-07-12 19:37 ` [PATCH v4 " Tejun Heo
2013-07-12 19:37 ` Tejun Heo
2013-06-28 23:45 ` [PATCH " Tejun Heo
2013-06-28 23:45 ` [PATCH 7/9] cgroup: cosmetic follow-up cleanups Tejun Heo
2013-06-28 23:45 ` Tejun Heo
[not found] ` <1372463145-4245-8-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2013-06-29 0:09 ` Tejun Heo
2013-06-29 0:09 ` Tejun Heo
2013-07-11 7:10 ` Li Zefan
2013-06-28 23:45 ` [PATCH 8/9] cgroup: move number_of_cgroups test out of rebind_subsystems() into cgroup_remount() Tejun Heo
[not found] ` <1372463145-4245-9-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2013-07-11 7:10 ` Li Zefan
2013-07-11 7:10 ` Li Zefan
2013-06-28 23:45 ` Tejun Heo
2013-06-28 23:45 ` [PATCH 9/9] blkcg: make blkcg_policy_register() correctly handle cgroup_add_cftypes() failures Tejun Heo
2013-06-28 23:45 ` Tejun Heo
2013-07-11 17:19 ` [PATCH 5.5/9] cgroup: use for_each_subsys() instead of for_each_root_subsys() in cgroup_populate/clear_dir() Tejun Heo
[not found] ` <20130711171927.GE10195-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2013-07-12 6:13 ` Li Zefan
2013-07-11 17:19 ` Tejun Heo
2013-07-12 7:45 ` [PATCHSET] cgroup: fix and clean up cgroup file creations and removals Tejun Heo
2013-07-12 7:45 ` Tejun Heo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=51DF9E94.1070402@huawei.com \
--to=lizefan-hv44wf8li93qt0dzr+alfa@public.gmane.org \
--cc=cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
--cc=tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.