[CRIU] [PATCH 2/2] cgroups: Introduce cgroup management modes
Pavel Emelyanov
xemul at parallels.com
Tue Jun 2 10:33:36 PDT 2015
On 06/02/2015 07:56 PM, Cyrill Gorcunov wrote:
> On Tue, Jun 02, 2015 at 07:24:15PM +0300, Pavel Emelyanov wrote:
>>
>> OK, so we have 3 options for 2 objects. 3 for cgroups -- must be there
>> (like 0 flags for open); may be there. create otherwise (O_CREAT for open);
>> should not be there, create new (O_CREAT|O_EXCL). 3 for props -- always
>> restore, maybe restore (if created), don't restore. I.e. -- 9 behaviors.
>>
>> cgroup props
>> 0 always
>> 0 maybe -- this is "dont", directory is expected to be there
>> 0 dont
>>
>> O_CREAT always -- this is what we need for openvz
>> O_CREAT maybe -- this is current behavior
>> O_CREAT dont -- this is stupid :) default props for created cgroup is not nice
>>
>> O_EXCL always
>> O_EXCL maybe -- this is "always" -- directory is created or restore fails
>> O_EXCL dont -- this is stupid just as O_CREAT + dont
>>
>> So after cleaning this list out left things are
>>
>> 0 always -- need cgroups and overwrite props
> bindroot,props, that's what we need for openvz, not the below
>
>> 0 dont -- need cgroups with good props
> no such mode, bindroot stands for '0' here but properties
> still be restored if not exist
"Not exist" is not the case -- 0 means it _must_ exist.
>> O_CREAT always -- this is what we need for openvz
> no such mode, lazy for O_CREATE but props are stil be
> handled depending on "props" option
>
>> O_CREAT maybe -- this is current behavior
> lazy
>
>> O_EXCL always -- strict fresh new restore
> lazy,props
>
>>
>> What are the combinations of lazy, bindroot and props for those? And -- can we
>> have some more meaningful names for it? And -- do we need separate options for
>> mkdir/props for root and non-root cgroups?
>
> By root you mean controllers, or toplevel cgroups?
Top-level cgroup. Do we?
> Maybe use some manage-cgroup=controller:[open|creat|excl],props:[try|always]?
> where open|creat|excl stand for your 0|O_CREAT|O_EXCL and try|always for
> restore if not exist otherwise skip, and overwrite explicitly.
-- Pavel
More information about the CRIU
mailing list