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(a)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++) {