]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
bhyve: implement domainGetOSType
authorRoman Bogorodskiy <bogorodskiy@gmail.com>
Tue, 20 Oct 2015 17:32:42 +0000 (20:32 +0300)
committerRoman Bogorodskiy <bogorodskiy@gmail.com>
Tue, 27 Oct 2015 15:29:05 +0000 (18:29 +0300)
src/bhyve/bhyve_driver.c

index e5d56e98d89171418b2bc2b70c0611c70d81be74..4840a0eb8c534076dcebd62118687ebd566c2f90 100644 (file)
@@ -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 */