Re: [PATCH 13/53] vircgroup: introduce virCgroupV2PathOfController

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Oct 04, 2018 at 01:18:12PM +0200, Michal Privoznik wrote:
> 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.

Technically yes, but once hybrid support is enabled using the backend
specific function in each backend will save some cycles to figure out
which backend to use.  Originally I had it like that but I realized that
moving it to backend I can use the backend specific *HasController.

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

Attachment: signature.asc
Description: PGP signature

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux