diff --git a/ChangeLog b/ChangeLog index 0a471876d3..33ae01b7d6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Wed Sep 3 10:14:00 PDT 2008 Dan Smith + * src/lxc_driver.c: + Add hypervisor version implementation + Wed Sep 3 11:52:00 EST 2008 Cole Robinson * src/domain_conf.c src/domain_conf.h src/qemu_driver.c: diff --git a/src/lxc_driver.c b/src/lxc_driver.c index 8d2e617fc4..fd1eff436b 100644 --- a/src/lxc_driver.c +++ b/src/lxc_driver.c @@ -1110,6 +1110,29 @@ lxcActive(void) { return 0; } +static int lxcVersion(virConnectPtr conn, unsigned long *version) +{ + struct utsname ver; + int maj; + int min; + int rev; + + if (uname(&ver) != 0) { + lxcError(conn, NULL, VIR_ERR_INTERNAL_ERROR, + _("uname(): %m")); + return -1; + } + + if (sscanf(ver.release, "%i.%i.%i", &maj, &min, &rev) != 3) { + lxcError(conn, NULL, VIR_ERR_INTERNAL_ERROR, + _("Unknown release: %s"), ver.release); + return -1; + } + + *version = (maj * 1000 * 1000) + (min * 1000) + rev; + + return 0; +} /* Function Tables */ static virDriver lxcDriver = { @@ -1121,7 +1144,7 @@ static virDriver lxcDriver = { lxcClose, /* close */ NULL, /* supports_feature */ NULL, /* type */ - NULL, /* version */ + lxcVersion, /* version */ NULL, /* getHostname */ NULL, /* getURI */ NULL, /* getMaxVcpus */