[libvirt] [PATCHv5 11/19] conf: Refactor code for matching existing resctrls

John Ferlan jferlan at redhat.com
Wed Oct 10 21:58:05 UTC 2018



On 10/9/18 6:30 AM, Wang Huaqiang wrote:
> Refactoring the code of matching the new resctrl with
> existing resctrl groups. Add the virObjectRef action
> into function virDomainResctrlVcpuMatch.
> 
> Signed-off-by: Wang Huaqiang <huaqiang.wang at intel.com>
> ---
>  src/conf/domain_conf.c | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
> 

Extra question here... Another caller to virDomainResctrlVcpuMatch is
virDomainCachetuneDefParse...

Prior to this change, if @alloc was returned we'd go to Unref(alloc)
which I think is a bug, right?  All things considered.

At least with this change, the Unref wouldn't be for the only Ref ever
done on @alloc.

I can push this separately, but the answer perhaps changes the commit
message a bit...

John

> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
> index b77680e..e2b4701 100644
> --- a/src/conf/domain_conf.c
> +++ b/src/conf/domain_conf.c
> @@ -18833,7 +18833,7 @@ virDomainResctrlVcpuMatch(virDomainDefPtr def,
>           * Just updating memory allocation information of that group
>           */
>          if (virBitmapEqual(def->resctrls[i]->vcpus, vcpus)) {
> -            *alloc = def->resctrls[i]->alloc;
> +            *alloc = virObjectRef(def->resctrls[i]->alloc);
>              break;
>          }
>          if (virBitmapOverlaps(def->resctrls[i]->vcpus, vcpus)) {
> @@ -19225,8 +19225,6 @@ virDomainMemorytuneDefParse(virDomainDefPtr def,
>          if (!alloc)
>              goto cleanup;
>          new_alloc = true;
> -    } else {
> -        alloc = virObjectRef(alloc);
>      }
>  
>      for (i = 0; i < n; i++) {
> 




More information about the libvir-list mailing list