On 10/02/2018 10:43 AM, Pavel Hrdina wrote: > Signed-off-by: Pavel Hrdina <phrdina@xxxxxxxxxx> > --- > src/util/vircgroupv2.c | 24 ++++++++++++++++++++++++ > 1 file changed, 24 insertions(+) > > diff --git a/src/util/vircgroupv2.c b/src/util/vircgroupv2.c > index 57be0b92c9..3ca463e4c2 100644 > --- a/src/util/vircgroupv2.c > +++ b/src/util/vircgroupv2.c > @@ -313,6 +313,29 @@ virCgroupV2GetAnyController(virCgroupPtr group) > } > > > +static int > +virCgroupV2PathOfController(virCgroupPtr group, > + int controller, > + const char *key, > + char **path) > +{ > + if (!virCgroupV2HasController(group, controller)) { > + virReportError(VIR_ERR_INTERNAL_ERROR, > + _("v2 controller '%s' is not available"), > + virCgroupV2ControllerTypeToString(controller)); > + return -1; > + } Looks like this check ^^ can be moved to the caller: virCgroupPathOfController() { if (!virCgroupHasController()) error(); group->backend->pathOfController(); } But feel free to save that for a follow up patch. > + > + if (virAsprintf(path, "%s%s/%s", > + group->unified.mountPoint, > + group->unified.placement, > + key ? key : "") < 0) > + return -1; > + > + return 0; > +} > + > + > virCgroupBackend virCgroupV2Backend = { > .type = VIR_CGROUP_BACKEND_TYPE_V2, > > @@ -327,6 +350,7 @@ virCgroupBackend virCgroupV2Backend = { > .detectControllers = virCgroupV2DetectControllers, > .hasController = virCgroupV2HasController, > .getAnyController = virCgroupV2GetAnyController, > + .pathOfController = virCgroupV2PathOfController, > }; > > > ACK Michal -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list