From 5533a01af302fe873f5bd5dc26cb962cda7092eb Mon Sep 17 00:00:00 2001 From: Daniel Veillard Date: Thu, 12 Oct 2006 16:25:51 +0000 Subject: [PATCH] * src/xen_internal.c: one of the fix for system with page size != 4k was missing Daniel --- ChangeLog | 5 +++++ src/xen_internal.c | 8 +++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 462a896d3d..ec4b628fdd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thu Oct 12 17:31:13 CEST 2006 Daniel Veillard + + * src/xen_internal.c: one of the fix for system with page size != 4k + was missing + Thu Oct 12 13:37:24 CEST 2006 Daniel Veillard * src/xen_internal.c: applied patch from Philippe Berthault diff --git a/src/xen_internal.c b/src/xen_internal.c index 8d08275360..b497bff41f 100644 --- a/src/xen_internal.c +++ b/src/xen_internal.c @@ -1466,6 +1466,12 @@ xenHypervisorGetDomMaxMemory(virConnectPtr conn, int id) if ((conn == NULL) || (conn->handle < 0)) return (0); + if (kb_per_pages == 0) { + kb_per_pages = sysconf(_SC_PAGESIZE) / 1024; + if (kb_per_pages <= 0) + kb_per_pages = 4; + } + XEN_GETDOMAININFO_CLEAR(dominfo); ret = virXen_getdomaininfo(conn->handle, id, &dominfo); @@ -1473,7 +1479,7 @@ xenHypervisorGetDomMaxMemory(virConnectPtr conn, int id) if ((ret < 0) || (XEN_GETDOMAININFO_DOMAIN(dominfo) != id)) return (0); - return((unsigned long) XEN_GETDOMAININFO_MAX_PAGES(dominfo) * 4); + return((unsigned long) XEN_GETDOMAININFO_MAX_PAGES(dominfo) * kb_per_pages); } #ifndef PROXY