<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>