mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-18 10:35:20 +00:00
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:
parent
e0b4fcc280
commit
df01e14bd7
@ -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:
|
||||
|
@ -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 */
|
||||
|
Loading…
x
Reference in New Issue
Block a user