提交 df01e14b 编写于 作者: D Dan Smith

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.
上级 e0b4fcc2
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> 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: * src/domain_conf.c src/domain_conf.h src/qemu_driver.c:
......
...@@ -1110,6 +1110,29 @@ lxcActive(void) { ...@@ -1110,6 +1110,29 @@ lxcActive(void) {
return 0; 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 */ /* Function Tables */
static virDriver lxcDriver = { static virDriver lxcDriver = {
...@@ -1121,7 +1144,7 @@ static virDriver lxcDriver = { ...@@ -1121,7 +1144,7 @@ static virDriver lxcDriver = {
lxcClose, /* close */ lxcClose, /* close */
NULL, /* supports_feature */ NULL, /* supports_feature */
NULL, /* type */ NULL, /* type */
NULL, /* version */ lxcVersion, /* version */
NULL, /* getHostname */ NULL, /* getHostname */
NULL, /* getURI */ NULL, /* getURI */
NULL, /* getMaxVcpus */ NULL, /* getMaxVcpus */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册