[LTP] [PATCH] tst_cgroup: Don't try to use V2 if V1 controllers are mounted

Richard Palethorpe rpalethorpe@suse.de
Thu Sep 24 16:05:55 CEST 2020


Hello Li,

Li Wang <liwang@redhat.com> writes:

> Hi Richard,
>
> On Thu, Sep 24, 2020 at 7:11 PM Richard Palethorpe <rpalethorpe@suse.com>
> wrote:
>
>> It is not possible to use a controller in V2 cgroups if it has been
>> mounted as a V1 controller. So if V1 is mounted we use it regardless
>> of if V2 is available.
>>
>> We have to include a space in tst_is_mounted so that we do not match
>> cgroup2.
>>
>> Signed-off-by: Richard Palethorpe <rpalethorpe@suse.com>
>> ---
>>  lib/tst_cgroup.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/lib/tst_cgroup.c b/lib/tst_cgroup.c
>> index ba413d874..73ddd4b82 100644
>> --- a/lib/tst_cgroup.c
>> +++ b/lib/tst_cgroup.c
>> @@ -44,7 +44,7 @@ enum tst_cgroup_ver tst_cgroup_version(void)
>>          enum tst_cgroup_ver cg_ver;
>>
>>          if (tst_cgroup_check("cgroup2")) {
>> -                if (!tst_is_mounted("cgroup2") &&
>> tst_is_mounted("cgroup"))
>> +                if (tst_is_mounted("cgroup "))
>>
>
> Add a space in the suffix still not work as expected.
>
> The reason is that tst_is_mounted("cgroup ") also get non-zero return if
> system only mount cgroup_v2, which lead to choose cgroup_v1 in LTP test.
>
> # cat /proc/mounts |grep cgroup
> cgroup2 /sys/fs/cgroup cgroup2 rw,seclabel,nosuid,nodev,noexec,relatime 0 0

I wonder if it would be better to simply try mounting/using V2 and if
that fails try V1?

-- 
Thank you,
Richard.


More information about the ltp mailing list