Add LXC version implementation

This patch adds an implementation of the version function to the LXC driver.
The providers use the hypervisor version in a field of one of the instances,
so we need to have something meaningful here.  AFAICT, the only real option
we have (considering the limitations of the libvirt version information) is
to use the kernel version.
This commit is contained in:
Dan Smith 2008-09-03 17:21:27 +00:00
parent e0b4fcc280
commit df01e14bd7
2 changed files with 28 additions and 1 deletions

View File

@ -1,3 +1,7 @@
Wed Sep 3 10:14:00 PDT 2008 Dan Smith <danms@us.ibm.com>
* src/lxc_driver.c:
Add hypervisor version implementation
Wed Sep 3 11:52:00 EST 2008 Cole Robinson <crobinso@redhat.com>
* src/domain_conf.c src/domain_conf.h src/qemu_driver.c:

View File

@ -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 */