aboutsummaryrefslogtreecommitdiffstats
path: root/tools/libxl/libxl_utils.c
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2012-06-01 12:06:18 +0100
committerIan Campbell <ian.campbell@citrix.com>2012-06-01 12:06:18 +0100
commit1b0c3e785e30de60bd93de53218907b2a3771839 (patch)
treed5cbdc8f285f5f3b12682576700f0ef251f10234 /tools/libxl/libxl_utils.c
parent24879b00baf0e7cf5c9ed43112ac77e3c7735dfb (diff)
downloadxen-1b0c3e785e30de60bd93de53218907b2a3771839.tar.gz
xen-1b0c3e785e30de60bd93de53218907b2a3771839.tar.bz2
xen-1b0c3e785e30de60bd93de53218907b2a3771839.zip
libxl: add internal function to get a domain's scheduler
This takes into account cpupools. Add a helper to get the info for a single cpu pool, refactor libxl_list_cpupool t use this. While there fix the leaks due to not disposing the partial list on realloc failure in that function. Fix the failure of sched_domain_output to free the poolinfo list. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: George Dunlap <george.dunlap@eu.citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
Diffstat (limited to 'tools/libxl/libxl_utils.c')
-rw-r--r--tools/libxl/libxl_utils.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
index 2382c9dda4..67ef82c8e4 100644
--- a/tools/libxl/libxl_utils.c
+++ b/tools/libxl/libxl_utils.c
@@ -133,9 +133,8 @@ int libxl_name_to_cpupoolid(libxl_ctx *ctx, const char *name,
}
free(poolname);
}
- libxl_cpupoolinfo_dispose(poolinfo + i);
}
- free(poolinfo);
+ libxl_cpupoolinfo_list_free(poolinfo, nb_pools);
return ret;
}
@@ -688,6 +687,14 @@ void libxl_vminfo_list_free(libxl_vminfo *list, int nr)
free(list);
}
+void libxl_cpupoolinfo_list_free(libxl_cpupoolinfo *list, int nr)
+{
+ int i;
+ for (i = 0; i < nr; i++)
+ libxl_cpupoolinfo_dispose(&list[i]);
+ free(list);
+}
+
int libxl_domid_valid_guest(uint32_t domid)
{
/* returns 1 if the value _could_ be a valid guest domid, 0 otherwise