<div dir="ltr"><div dir="ltr"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Sep 18, 2018 at 2:18 PM, Pavel Hrdina <span dir="ltr"><<a href="mailto:phrdina@redhat.com" target="_blank">phrdina@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">This will be required once cgroup v2 is introduced. The cgroup<br>
detection is not simple and we will have multiple backends so we<br>
should not just jump into the middle of the detection code.<br>
<br>
In order to use virCgroupNewSelf we need to create all the remaining<br>
data files.<br>
<br>
Signed-off-by: Pavel Hrdina <<a href="mailto:phrdina@redhat.com" target="_blank">phrdina@redhat.com</a>><br>
---<br>
src/libvirt_private.syms | 1 -<br>
src/util/vircgroup.c | 11 +----------<br>
src/util/vircgrouppriv.h | 2 --<br>
tests/vircgroupdata/cgroups1.<wbr>cgroups | 11 +++++++++++<br>
tests/vircgroupdata/cgroups1.<wbr>self.cgroup | 11 +++++++++++<br>
tests/vircgroupdata/cgroups2.<wbr>cgroups | 10 ++++++++++<br>
tests/vircgroupdata/cgroups2.<wbr>self.cgroup | 10 ++++++++++<br>
tests/vircgroupdata/cgroups3.<wbr>cgroups | 12 ++++++++++++<br>
tests/vircgroupdata/cgroups3.<wbr>self.cgroup | 12 ++++++++++++<br>
tests/vircgroupdata/fedora-<wbr>18.cgroups | 10 ++++++++++<br>
tests/vircgroupdata/fedora-<wbr>18.self.cgroup | 9 +++++++++<br>
tests/vircgroupdata/fedora-<wbr>21.cgroups | 12 ++++++++++++<br>
tests/vircgroupdata/fedora-<wbr>21.self.cgroup | 10 ++++++++++<br>
tests/vircgroupdata/kubevirt.<wbr>cgroups | 10 ++++++++++<br>
tests/vircgroupdata/kubevirt.<wbr>self.cgroup | 10 ++++++++++<br>
tests/vircgroupdata/ovirt-nod<wbr>e-6.6.cgroups | 9 +++++++++<br>
tests/vircgroupdata/ovirt-nod<wbr>e-6.6.self.cgroup | 8 ++++++++<br>
tests/vircgroupdata/ovirt-nod<wbr>e-7.1.cgroups | 11 +++++++++++<br>
tests/vircgroupdata/ovirt-nod<wbr>e-7.1.self.cgroup | 10 ++++++++++<br>
tests/vircgroupdata/rhel-7.1.<wbr>cgroups | 11 +++++++++++<br>
tests/vircgroupdata/rhel-7.1.<wbr>self.cgroup | 10 ++++++++++<br>
tests/vircgrouptest.c | 6 +-----<br>
22 files changed, 188 insertions(+), 18 deletions(-)<br>
create mode 100644 tests/vircgroupdata/cgroups1.c<wbr>groups<br>
create mode 100644 tests/vircgroupdata/cgroups1.s<wbr>elf.cgroup<br>
create mode 100644 tests/vircgroupdata/cgroups2.c<wbr>groups<br>
create mode 100644 tests/vircgroupdata/cgroups2.s<wbr>elf.cgroup<br>
create mode 100644 tests/vircgroupdata/cgroups3.c<wbr>groups<br>
create mode 100644 tests/vircgroupdata/cgroups3.s<wbr>elf.cgroup<br>
create mode 100644 tests/vircgroupdata/fedora-18.<wbr>cgroups<br>
create mode 100644 tests/vircgroupdata/fedora-18.<wbr>self.cgroup<br>
create mode 100644 tests/vircgroupdata/fedora-21.<wbr>cgroups<br>
create mode 100644 tests/vircgroupdata/fedora-21.<wbr>self.cgroup<br>
create mode 100644 tests/vircgroupdata/kubevirt.c<wbr>groups<br>
create mode 100644 tests/vircgroupdata/kubevirt.s<wbr>elf.cgroup<br>
create mode 100644 tests/vircgroupdata/ovirt-node<wbr>-6.6.cgroups<br>
create mode 100644 tests/vircgroupdata/ovirt-node<wbr>-6.6.self.cgroup<br>
create mode 100644 tests/vircgroupdata/ovirt-node<wbr>-7.1.cgroups<br>
create mode 100644 tests/vircgroupdata/ovirt-node<wbr>-7.1.self.cgroup<br>
create mode 100644 tests/vircgroupdata/rhel-7.1.c<wbr>groups<br>
create mode 100644 tests/vircgroupdata/rhel-7.1.s<wbr>elf.cgroup<br>
<br>
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms<br>
index 7f3b5738c4..75c59fbf89 100644<br>
--- a/src/libvirt_private.syms<br>
+++ b/src/libvirt_private.syms<br>
@@ -1513,7 +1513,6 @@ virCgroupDelThread;<br>
virCgroupDenyAllDevices;<br>
virCgroupDenyDevice;<br>
virCgroupDenyDevicePath;<br>
-virCgroupDetectMounts;<br>
virCgroupFree;<br>
<wbr>virCgroupGetBlkioDeviceReadBps<wbr>;<br>
<wbr>virCgroupGetBlkioDeviceReadIop<wbr>s;<br>
diff --git a/src/util/vircgroup.c b/src/util/vircgroup.c<br>
index f8ef76136b..e85e0bde24 100644<br>
--- a/src/util/vircgroup.c<br>
+++ b/src/util/vircgroup.c<br>
@@ -429,7 +429,7 @@ virCgroupMountOptsMatchControl<wbr>ler(const char *mntOpts,<br>
* Process /proc/mounts figuring out what controllers are<br>
* mounted and where<br>
*/<br>
-int<br>
+static int<br>
virCgroupDetectMounts(virCgro<wbr>upPtr group)<br>
{<br>
size_t i;<br>
@@ -4072,15 +4072,6 @@ virCgroupAvailable(void)<br>
}<br>
<br>
<br>
-int<br>
-virCgroupDetectMounts(virCgro<wbr>upPtr group ATTRIBUTE_UNUSED)<br>
-{<br>
- virReportSystemError(ENXIO, "%s",<br>
- _("Control groups not supported on this platform"));<br>
- return -1;<br>
-}<br>
-<br>
-<br>
int<br>
virCgroupNewPartition(const char *path ATTRIBUTE_UNUSED,<br>
bool create ATTRIBUTE_UNUSED,<br>
diff --git a/src/util/vircgrouppriv.h b/src/util/vircgrouppriv.h<br>
index f78fe8bb9c..046c96c52c 100644<br>
--- a/src/util/vircgrouppriv.h<br>
+++ b/src/util/vircgrouppriv.h<br>
@@ -50,8 +50,6 @@ struct _virCgroup {<br>
virCgroupController controllers[VIR_CGROUP_CONTROL<wbr>LER_LAST];<br>
};<br>
<br>
-int virCgroupDetectMounts(virCgrou<wbr>pPtr group);<br>
-<br>
int virCgroupNewPartition(const char *path,<br>
bool create,<br>
int controllers,<br>
diff --git a/tests/vircgroupdata/cgroups1<wbr>.cgroups b/tests/vircgroupdata/cgroups1<wbr>.cgroups<br>
new file mode 100644<br>
index 0000000000..a03c290a98<br>
--- /dev/null<br>
+++ b/tests/vircgroupdata/cgroups1<wbr>.cgroups<br>
@@ -0,0 +1,11 @@<br>
+#subsys_name hierarchy num_cgroups enabled<br>
+cpuset 1 1 1<br>
+cpu 2 1 1<br>
+cpuacct 3 1 1<br>
+blkio 8 1 1<br>
+memory 4 1 1<br>
+devices 5 1 1<br>
+freezer 6 1 1<br>
+net_cls 7 1 1<br>
+net_prio 9 1 1<br>
+hugetlb 10 1 1<br>
diff --git a/tests/vircgroupdata/cgroups1<wbr>.self.cgroup b/tests/vircgroupdata/cgroups1<wbr>.self.cgroup<br>
new file mode 100644<br>
index 0000000000..181f0c22f8<br>
--- /dev/null<br>
+++ b/tests/vircgroupdata/cgroups1<wbr>.self.cgroup<br>
@@ -0,0 +1,11 @@<br>
+10:hugetlb:/<br>
+9:net_prio:/<br>
+8:blkio:/<br>
+7:net_cls:/<br>
+6:freezer:/<br>
+5:devices:/<br>
+4:memory:/<br>
+3:cpuacct:/<br>
+2:cpu:/<br>
+1:cpuset:/<br>
+0:name=openrc:/<br>
diff --git a/tests/vircgroupdata/cgroups2<wbr>.cgroups b/tests/vircgroupdata/cgroups2<wbr>.cgroups<br>
new file mode 100644<br>
index 0000000000..f0a7699559<br>
--- /dev/null<br>
+++ b/tests/vircgroupdata/cgroups2<wbr>.cgroups<br>
@@ -0,0 +1,10 @@<br>
+#subsys_name hierarchy num_cgroups enabled<br>
+cpuset 1 1 1<br>
+cpu 2 1 1<br>
+cpuacct 3 1 1<br>
+blkio 7 1 1<br>
+memory 4 1 1<br>
+devices 5 1 1<br>
+freezer 6 1 1<br>
+perf_event 8 1 1<br>
+hugetlb 9 1 1<br>
diff --git a/tests/vircgroupdata/cgroups2<wbr>.self.cgroup b/tests/vircgroupdata/cgroups2<wbr>.self.cgroup<br>
new file mode 100644<br>
index 0000000000..3d0e793e5a<br>
--- /dev/null<br>
+++ b/tests/vircgroupdata/cgroups2<wbr>.self.cgroup<br>
@@ -0,0 +1,10 @@<br>
+9:hugetlb:/<br>
+8:perf_event:/<br>
+7:blkio:/<br>
+6:freezer:/<br>
+5:devices:/<br>
+4:memory:/<br>
+3:cpuacct:/<br>
+2:cpu:/<br>
+1:cpuset:/<br>
+0:name=openrc:/<br>
diff --git a/tests/vircgroupdata/cgroups3<wbr>.cgroups b/tests/vircgroupdata/cgroups3<wbr>.cgroups<br>
new file mode 100644<br>
index 0000000000..294d95dedf<br>
--- /dev/null<br>
+++ b/tests/vircgroupdata/cgroups3<wbr>.cgroups<br>
@@ -0,0 +1,12 @@<br>
+#subsys_name hierarchy num_cgroups enabled<br>
+cpuset 1 1 1<br>
+cpu 2 1 1<br>
+cpuacct 3 1 1<br>
+blkio 8 1 1<br>
+memory 4 1 1<br>
+devices 5 1 1<br>
+freezer 6 1 1<br>
+net_cls 7 1 1<br>
+perf_event 9 1 1<br>
+net_prio 10 1 1<br>
+hugetlb 11 1 1<br>
diff --git a/tests/vircgroupdata/cgroups3<wbr>.self.cgroup b/tests/vircgroupdata/cgroups3<wbr>.self.cgroup<br>
new file mode 100644<br>
index 0000000000..bf346abdf9<br>
--- /dev/null<br>
+++ b/tests/vircgroupdata/cgroups3<wbr>.self.cgroup<br>
@@ -0,0 +1,12 @@<br>
+11:hugetlb:/<br>
+10:net_prio:/<br>
+9:perf_event:/<br>
+8:blkio:/<br>
+7:net_cls:/<br>
+6:freezer:/<br>
+5:devices:/<br>
+4:memory:/<br>
+3:cpuacct:/<br>
+2:cpu:/<br>
+1:cpuset:/<br>
+0:name=openrc:/<br>
diff --git a/tests/vircgroupdata/fedora-1<wbr>8.cgroups b/tests/vircgroupdata/fedora-1<wbr>8.cgroups<br>
new file mode 100644<br>
index 0000000000..8eb41087f3<br>
--- /dev/null<br>
+++ b/tests/vircgroupdata/fedora-1<wbr>8.cgroups<br>
@@ -0,0 +1,10 @@<br>
+#subsys_name hierarchy num_cgroups enabled<br>
+cpuset 1 1 1<br>
+cpu 2 1 1<br>
+cpuacct 2 1 1<br>
+blkio 7 1 1<br>
+memory 3 1 1<br>
+devices 4 1 1<br>
+freezer 5 1 1<br>
+net_cls 6 1 1<br>
+perf_event 8 1 1<br>
diff --git a/tests/vircgroupdata/fedora-1<wbr>8.self.cgroup b/tests/vircgroupdata/fedora-1<wbr>8.self.cgroup<br>
new file mode 100644<br>
index 0000000000..da9ad8ad4d<br>
--- /dev/null<br>
+++ b/tests/vircgroupdata/fedora-1<wbr>8.self.cgroup<br>
@@ -0,0 +1,9 @@<br>
+8:perf_event:/<br>
+7:blkio:/<br>
+6:net_cls:/<br>
+5:freezer:/<br>
+4:devices:/<br>
+3:memory:/<br>
+2:cpu,cpuacct:/<br>
+1:cpuset:/<br>
+0:name=systemd:/<br>
diff --git a/tests/vircgroupdata/fedora-2<wbr>1.cgroups b/tests/vircgroupdata/fedora-2<wbr>1.cgroups<br>
new file mode 100644<br>
index 0000000000..3e1401ee98<br>
--- /dev/null<br>
+++ b/tests/vircgroupdata/fedora-2<wbr>1.cgroups<br>
@@ -0,0 +1,12 @@<br>
+#subsys_name hierarchy num_cgroups enabled<br>
+cpuset 1 1 1<br>
+cpu 2 1 1<br>
+cpuacct 2 1 1<br>
+blkio 7 1 1<br>
+memory 3 1 1<br>
+devices 4 1 1<br>
+freezer 5 1 1<br>
+net_cls 6 1 1<br>
+perf_event 8 1 1<br>
+net_prio 6 1 1<br>
+hugetlb 9 1 1<br>
diff --git a/tests/vircgroupdata/fedora-2<wbr>1.self.cgroup b/tests/vircgroupdata/fedora-2<wbr>1.self.cgroup<br>
new file mode 100644<br>
index 0000000000..4c666bd59e<br>
--- /dev/null<br>
+++ b/tests/vircgroupdata/fedora-2<wbr>1.self.cgroup<br>
@@ -0,0 +1,10 @@<br>
+9:hugetlb:/<br>
+8:perf_event:/<br>
+7:blkio:/<br>
+6:net_cls,net_prio:/<br>
+5:freezer:/<br>
+4:devices:/<br>
+3:memory:/<br>
+2:cpu,cpuacct:/<br>
+1:cpuset:/<br>
+0:name=systemd:/<br>
diff --git a/tests/vircgroupdata/kubevirt<wbr>.cgroups b/tests/vircgroupdata/kubevirt<wbr>.cgroups<br>
new file mode 100644<br>
index 0000000000..f0a7699559<br>
--- /dev/null<br>
+++ b/tests/vircgroupdata/kubevirt<wbr>.cgroups<br>
@@ -0,0 +1,10 @@<br>
+#subsys_name hierarchy num_cgroups enabled<br>
+cpuset 1 1 1<br>
+cpu 2 1 1<br>
+cpuacct 3 1 1<br>
+blkio 7 1 1<br>
+memory 4 1 1<br>
+devices 5 1 1<br>
+freezer 6 1 1<br>
+perf_event 8 1 1<br>
+hugetlb 9 1 1<br>
diff --git a/tests/vircgroupdata/kubevirt<wbr>.self.cgroup b/tests/vircgroupdata/kubevirt<wbr>.self.cgroup<br>
new file mode 100644<br>
index 0000000000..3d0e793e5a<br>
--- /dev/null<br>
+++ b/tests/vircgroupdata/kubevirt<wbr>.self.cgroup<br>
@@ -0,0 +1,10 @@<br>
+9:hugetlb:/<br>
+8:perf_event:/<br>
+7:blkio:/<br>
+6:freezer:/<br>
+5:devices:/<br>
+4:memory:/<br>
+3:cpuacct:/<br>
+2:cpu:/<br>
+1:cpuset:/<br>
+0:name=openrc:/<br>
diff --git a/tests/vircgroupdata/ovirt-no<wbr>de-6.6.cgroups b/tests/vircgroupdata/ovirt-no<wbr>de-6.6.cgroups<br>
new file mode 100644<br>
index 0000000000..aaabf11a44<br>
--- /dev/null<br>
+++ b/tests/vircgroupdata/ovirt-no<wbr>de-6.6.cgroups<br>
@@ -0,0 +1,9 @@<br>
+#subsys_name hierarchy num_cgroups enabled<br>
+cpuset 0 1 1<br>
+cpu 1 1 1<br>
+cpuacct 2 1 1<br>
+blkio 7 1 1<br>
+memory 3 1 1<br>
+devices 4 1 1<br>
+freezer 5 1 1<br>
+net_cls 6 1 1<br>
diff --git a/tests/vircgroupdata/ovirt-no<wbr>de-6.6.self.cgroup b/tests/vircgroupdata/ovirt-no<wbr>de-6.6.self.cgroup<br>
new file mode 100644<br>
index 0000000000..dadc8155fa<br>
--- /dev/null<br>
+++ b/tests/vircgroupdata/ovirt-no<wbr>de-6.6.self.cgroup<br>
@@ -0,0 +1,8 @@<br>
+7:blkio:/<br>
+6:net_cls:/<br>
+5:freezer:/<br>
+4:devices:/<br>
+3:memory:/<br>
+2:cpuacct:/<br>
+1:cpu:/<br>
+0:cpuset:/<br>
diff --git a/tests/vircgroupdata/ovirt-no<wbr>de-7.1.cgroups b/tests/vircgroupdata/ovirt-no<wbr>de-7.1.cgroups<br>
new file mode 100644<br>
index 0000000000..687297ad4a<br>
--- /dev/null<br>
+++ b/tests/vircgroupdata/ovirt-no<wbr>de-7.1.cgroups<br>
@@ -0,0 +1,11 @@<br>
+#subsys_name hierarchy num_cgroups enabled<br>
+cpuset 1 1 1<br>
+cpu 2 1 1<br>
+cpuacct 2 1 1<br>
+blkio 7 1 1<br>
+memory 3 1 1<br>
+devices 4 1 1<br>
+freezer 5 1 1<br>
+net_cls 6 1 1<br>
+perf_event 8 1 1<br>
+hugetlb 9 1 1<br>
diff --git a/tests/vircgroupdata/ovirt-no<wbr>de-7.1.self.cgroup b/tests/vircgroupdata/ovirt-no<wbr>de-7.1.self.cgroup<br>
new file mode 100644<br>
index 0000000000..f07e8e20f5<br>
--- /dev/null<br>
+++ b/tests/vircgroupdata/ovirt-no<wbr>de-7.1.self.cgroup<br>
@@ -0,0 +1,10 @@<br>
+9:hugetlb:/<br>
+8:perf_event:/<br>
+7:blkio:/<br>
+6:net_cls:/<br>
+5:freezer:/<br>
+4:devices:/<br>
+3:memory:/<br>
+2:cpu,cpuacct:/<br>
+1:cpuset:/<br>
+0:name=systemd:/<br>
diff --git a/tests/vircgroupdata/rhel-7.1<wbr>.cgroups b/tests/vircgroupdata/rhel-7.1<wbr>.cgroups<br>
new file mode 100644<br>
index 0000000000..687297ad4a<br>
--- /dev/null<br>
+++ b/tests/vircgroupdata/rhel-7.1<wbr>.cgroups<br>
@@ -0,0 +1,11 @@<br>
+#subsys_name hierarchy num_cgroups enabled<br>
+cpuset 1 1 1<br>
+cpu 2 1 1<br>
+cpuacct 2 1 1<br>
+blkio 7 1 1<br>
+memory 3 1 1<br>
+devices 4 1 1<br>
+freezer 5 1 1<br>
+net_cls 6 1 1<br>
+perf_event 8 1 1<br>
+hugetlb 9 1 1<br>
diff --git a/tests/vircgroupdata/rhel-7.1<wbr>.self.cgroup b/tests/vircgroupdata/rhel-7.1<wbr>.self.cgroup<br>
new file mode 100644<br>
index 0000000000..f07e8e20f5<br>
--- /dev/null<br>
+++ b/tests/vircgroupdata/rhel-7.1<wbr>.self.cgroup<br>
@@ -0,0 +1,10 @@<br>
+9:hugetlb:/<br>
+8:perf_event:/<br>
+7:blkio:/<br>
+6:net_cls:/<br>
+5:freezer:/<br>
+4:devices:/<br>
+3:memory:/<br>
+2:cpu,cpuacct:/<br>
+1:cpuset:/<br>
+0:name=systemd:/<br>
diff --git a/tests/vircgrouptest.c b/tests/vircgrouptest.c<br>
index 6a38091a86..bbbe6ffbe5 100644<br>
--- a/tests/vircgrouptest.c<br>
+++ b/tests/vircgrouptest.c<br>
@@ -175,10 +175,7 @@ testCgroupDetectMounts(const void *args)<br>
if (virAsprintf(&parsed, "%s/vircgroupdata/%s.parsed", abs_srcdir, file) < 0)<br>
goto cleanup;<br>
<br>
- if (VIR_ALLOC(group) < 0)<br>
- goto cleanup;<br>
-<br>
- if (virCgroupDetectMounts(group) < 0)<br>
+ if (virCgroupNewSelf(&group) < 0)<br>
goto cleanup;<br>
<br>
for (i = 0; i < VIR_CGROUP_CONTROLLER_LAST; i++) {<br>
@@ -887,7 +884,6 @@ mymain(void)<br>
DETECT_MOUNTS("cgroups2");<br>
DETECT_MOUNTS("cgroups3");<br>
DETECT_MOUNTS("all-in-one");<br>
- DETECT_MOUNTS("no-cgroups");<br></blockquote><div><br></div><div>I've talked to Pavel and sems that this change should not be part of this patch.</div><div>However, if the tests is not removed, vircgrouptest will fail.</div><div><br></div><div>Maybe a way to go is adding the files which are missing for no-cgroups tests and mark the test as expected to fail? (Maybe through a new macro ...)?<br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
DETECT_MOUNTS("kubevirt");<br>
<br>
setenv("VIR_CGROUP_MOCK_FILEN<wbr>AME", "systemd", 1);<br>
<span class="m_-1163953125842810384gmail-HOEnZb"><font color="#888888">-- <br>
2.17.1<br>
<br>
--<br>
libvir-list mailing list<br>
<a href="mailto:libvir-list@redhat.com" target="_blank">libvir-list@redhat.com</a><br>
<a href="https://www.redhat.com/mailman/listinfo/libvir-list" rel="noreferrer" target="_blank">https://www.redhat.com/mailman<wbr>/listinfo/libvir-list</a><br>
</font></span></blockquote></div><br></div></div></div></div>