[libvirt] [PATCH 17/53] vircgroup: introduce virCgroupV2HasEmptyTasks

Pavel Hrdina phrdina at redhat.com
Thu Oct 4 13:10:35 UTC 2018


On Thu, Oct 04, 2018 at 02:55:30PM +0200, Fabiano Fidêncio wrote:
> On Tue, 2018-10-02 at 10:44 +0200, Pavel Hrdina wrote:
> > Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
> > ---
> >  src/util/vircgroupv2.c | 17 +++++++++++++++++
> >  1 file changed, 17 insertions(+)
> > 
> > diff --git a/src/util/vircgroupv2.c b/src/util/vircgroupv2.c
> > index e7dbace42b..c6a9e0a7df 100644
> > --- a/src/util/vircgroupv2.c
> > +++ b/src/util/vircgroupv2.c
> > @@ -446,6 +446,22 @@ virCgroupV2AddTask(virCgroupPtr group,
> >  }
> >  
> >  
> > +static int
> > +virCgroupV2HasEmptyTasks(virCgroupPtr cgroup,
> > +                         int controller)
> > +{
> > +    int ret = -1;
> > +    VIR_AUTOFREE(char *) content = NULL;
> > +
> 
> Just a nitpick here. I've noticed that in the v1 you're actually
> checking whether cgroup is NULL or not.
> 
> Shouldn't you consider doing the same here as well?

Sure, good point :) but if cgroup is NULL it will segfault in
virCgroupHasEmptyTasks because there we call
cgroup->backend->hasEmptyTasks(cgroup, controller);

The proper fix would be remove the NULL check from cgroup v1 backend.

Another point to this topic, the code in libvirt using cgroups currently
relies on cgroup to be allocated (LXC) or cgroup to be available and
allocated (QEMU).  So technically it should not never happen unless
there is programming error.

Pavel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20181004/8f52f7a5/attachment-0001.sig>


More information about the libvir-list mailing list