On 10/14/2015 12:50 PM, Maxim Nestratov wrote:
From: Maxim Nestratov <mnestratov(a)virtuozzo.com>
As a connection type we report 'vz'.
And because we have no limitation for maximal number of vcpus in containers
we report as maximum 1028 just for the sake of common sence.
Signed-off-by: Maxim Nestratov <mnestratov(a)virtuozzo.com>
---
src/vz/vz_driver.c | 19 +++++++++++++++++++
1 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/src/vz/vz_driver.c b/src/vz/vz_driver.c
index 15dc70f..3cd6096 100644
--- a/src/vz/vz_driver.c
+++ b/src/vz/vz_driver.c
@@ -1337,12 +1337,31 @@ vzDomainMemoryStats(virDomainPtr domain,
return ret;
}
+static int vzConnectGetMaxVcpus(virConnectPtr conn ATTRIBUTE_UNUSED,
+ const char *type)
+{
+ /* As far as we have no limitation for containers
+ * we report maximum */
What about VMs?
+ if (type == NULL || STRCASEEQ(type, "vz"))
What
about parallels virt type?
+ return 1028;
+
Why not 1024?
+ virReportError(VIR_ERR_INVALID_ARG,
+ _("unknown type '%s'"), type);
+ return -1;
+}
+
+static const char *vzConnectGetType(virConnectPtr conn ATTRIBUTE_UNUSED) {
+ return "vz";
+}
+
Is this function really needed? virConnectGetType returns driver name if
it's not
implemented in the driver, exactly what are you doing.
const char *
virConnectGetType(virConnectPtr conn)
{
const char *ret;
VIR_DEBUG("conn=%p", conn);
virResetLastError();
virCheckConnectReturn(conn, NULL);
if (conn->driver->connectGetType) {
ret = conn->driver->connectGetType(conn);
if (ret) return ret;
}
return conn->driver->name;
}
static virHypervisorDriver vzDriver = {
.name = "vz",
.connectOpen = vzConnectOpen, /* 0.10.0 */
.connectClose = vzConnectClose, /* 0.10.0 */
.connectGetVersion = vzConnectGetVersion, /* 0.10.0 */
.connectGetHostname = vzConnectGetHostname, /* 0.10.0 */
+ .connectGetType = vzConnectGetType, /* 1.2.21 */
+ .connectGetMaxVcpus = vzConnectGetMaxVcpus, /* 1.2.21 */
.nodeGetInfo = vzNodeGetInfo, /* 0.10.0 */
.connectGetCapabilities = vzConnectGetCapabilities, /* 0.10.0 */
.connectBaselineCPU = vzConnectBaselineCPU, /* 1.2.6 */