]> xenbits.xensource.com Git - libvirt.git/commitdiff
vircgroup: extract virCgroupV1HasController
authorPavel Hrdina <phrdina@redhat.com>
Sun, 19 Aug 2018 17:17:27 +0000 (19:17 +0200)
committerPavel Hrdina <phrdina@redhat.com>
Tue, 25 Sep 2018 11:40:22 +0000 (13:40 +0200)
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
src/util/vircgroup.c
src/util/vircgroupbackend.h
src/util/vircgroupv1.c

index 61c62b08c214ced112925b680826661f68d10903..80b9a0c83f844e45409b1ba88ecbcc072ec3d43d 100644 (file)
@@ -1439,7 +1439,8 @@ virCgroupHasController(virCgroupPtr cgroup, int controller)
         return false;
     if (controller < 0 || controller >= VIR_CGROUP_CONTROLLER_LAST)
         return false;
-    return cgroup->controllers[controller].mountPoint != NULL;
+
+    return cgroup->backend->hasController(cgroup, controller);
 }
 
 
index 011d1b00daf6f2a334fb2fc83fedfe6758e07c31..29b2fd119f4c9b146d2b218e75510870064010dd 100644 (file)
@@ -73,6 +73,10 @@ typedef int
 (*virCgroupDetectControllersCB)(virCgroupPtr group,
                                 int controllers);
 
+typedef bool
+(*virCgroupHasControllerCB)(virCgroupPtr cgroup,
+                            int controller);
+
 struct _virCgroupBackend {
     virCgroupBackendType type;
 
@@ -86,6 +90,7 @@ struct _virCgroupBackend {
     virCgroupValidatePlacementCB validatePlacement;
     virCgroupStealPlacementCB stealPlacement;
     virCgroupDetectControllersCB detectControllers;
+    virCgroupHasControllerCB hasController;
 };
 typedef struct _virCgroupBackend virCgroupBackend;
 typedef virCgroupBackend *virCgroupBackendPtr;
index 9a04cc18188f3c12fe1c40e4483ba0d2025b2e5c..0b41fca1cc897e444c0141a6ee5d11107a04fc63 100644 (file)
@@ -477,6 +477,14 @@ virCgroupV1DetectControllers(virCgroupPtr group,
 }
 
 
+static bool
+virCgroupV1HasController(virCgroupPtr group,
+                         int controller)
+{
+    return group->controllers[controller].mountPoint != NULL;
+}
+
+
 virCgroupBackend virCgroupV1Backend = {
     .type = VIR_CGROUP_BACKEND_TYPE_V1,
 
@@ -489,6 +497,7 @@ virCgroupBackend virCgroupV1Backend = {
     .validatePlacement = virCgroupV1ValidatePlacement,
     .stealPlacement = virCgroupV1StealPlacement,
     .detectControllers = virCgroupV1DetectControllers,
+    .hasController = virCgroupV1HasController,
 };