From: Roman Bogorodskiy Date: Tue, 20 Oct 2015 17:32:42 +0000 (+0300) Subject: bhyve: implement domainGetOSType X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=8c5d7c7a2c3081c8c069dfb243389cc7aaed9b54;p=people%2Fliuw%2Flibxenctrl-split%2Flibvirt.git bhyve: implement domainGetOSType --- diff --git a/src/bhyve/bhyve_driver.c b/src/bhyve/bhyve_driver.c index e5d56e98d..4840a0eb8 100644 --- a/src/bhyve/bhyve_driver.c +++ b/src/bhyve/bhyve_driver.c @@ -464,6 +464,27 @@ bhyveDomainIsPersistent(virDomainPtr domain) return ret; } +static char * +bhyveDomainGetOSType(virDomainPtr dom) +{ + virDomainObjPtr vm; + char *ret = NULL; + + if (!(vm = bhyveDomObjFromDomain(dom))) + goto cleanup; + + if (virDomainGetOSTypeEnsureACL(dom->conn, vm->def) < 0) + goto cleanup; + + if (VIR_STRDUP(ret, virDomainOSTypeToString(vm->def->os.type)) < 0) + goto cleanup; + + cleanup: + if (vm) + virObjectUnlock(vm); + return ret; +} + static char * bhyveDomainGetXMLDesc(virDomainPtr domain, unsigned int flags) { @@ -1487,6 +1508,7 @@ static virHypervisorDriver bhyveHypervisorDriver = { .domainDefineXML = bhyveDomainDefineXML, /* 1.2.2 */ .domainDefineXMLFlags = bhyveDomainDefineXMLFlags, /* 1.2.12 */ .domainUndefine = bhyveDomainUndefine, /* 1.2.2 */ + .domainGetOSType = bhyveDomainGetOSType, /* 1.2.21 */ .domainGetXMLDesc = bhyveDomainGetXMLDesc, /* 1.2.2 */ .domainIsActive = bhyveDomainIsActive, /* 1.2.2 */ .domainIsPersistent = bhyveDomainIsPersistent, /* 1.2.2 */