}
}
+
+static qemuAgent *
+bhyveDomainObjEnterAgent(virDomainObj *obj)
+{
+ bhyveDomainObjPrivate *priv = obj->privateData;
+ qemuAgent *agent = priv->agent;
+
+ VIR_DEBUG("Entering agent (agent=%p vm=%p name=%s)",
+ priv->agent, obj, obj->def->name);
+
+ virObjectLock(agent);
+ virObjectRef(agent);
+ virObjectUnlock(obj);
+
+ return agent;
+}
+
+
+static void
+bhyveDomainObjExitAgent(virDomainObj *obj, qemuAgent *agent)
+{
+ virObjectUnlock(agent);
+ virObjectUnref(agent);
+ virObjectLock(obj);
+
+ VIR_DEBUG("Exited agent (agent=%p vm=%p name=%s)",
+ agent, obj, obj->def->name);
+}
+
+
+static bool
+bhyveDomainAgentAvailable(virDomainObj *vm,
+ bool reportError)
+{
+ bhyveDomainObjPrivate *priv = vm->privateData;
+
+ if (virDomainObjGetState(vm, NULL) != VIR_DOMAIN_RUNNING) {
+ if (reportError) {
+ virReportError(VIR_ERR_OPERATION_INVALID, "%s",
+ _("domain is not running"));
+ }
+ return false;
+ }
+
+ if (!priv->agent) {
+ if (bhyveFindAgentConfig(vm->def)) {
+ if (reportError) {
+ virReportError(VIR_ERR_AGENT_UNRESPONSIVE, "%s",
+ _("QEMU guest agent is not connected"));
+ }
+ return false;
+ } else {
+ if (reportError) {
+ virReportError(VIR_ERR_ARGUMENT_UNSUPPORTED, "%s",
+ _("QEMU guest agent is not configured"));
+ }
+ return false;
+ }
+ }
+ return true;
+}
+
+
+static int
+bhyveDomainEnsureAgent(virDomainObj *vm,
+ bool reportError)
+{
+ bhyveDomainObjPrivate *priv = vm->privateData;
+
+ if (virDomainObjGetState(vm, NULL) != VIR_DOMAIN_RUNNING) {
+ if (reportError) {
+ virReportError(VIR_ERR_OPERATION_INVALID, "%s",
+ _("domain is not running"));
+ }
+ return -1;
+ }
+
+ if (priv->agent)
+ return 0;
+
+ if (!priv->eventThread &&
+ virBhyveDomainObjStartWorker(vm) < 0)
+ return -1;
+
+ if (bhyveConnectAgent(NULL, vm) < 0)
+ return -1;
+
+ return 0;
+}
+
+
/**
* bhyveDriverGetCapabilities:
*
}
-static qemuAgent *
-bhyveDomainObjEnterAgent(virDomainObj *obj)
-{
- bhyveDomainObjPrivate *priv = obj->privateData;
- qemuAgent *agent = priv->agent;
-
- VIR_DEBUG("Entering agent (agent=%p vm=%p name=%s)",
- priv->agent, obj, obj->def->name);
-
- virObjectLock(agent);
- virObjectRef(agent);
- virObjectUnlock(obj);
-
- return agent;
-}
-
-
-static void
-bhyveDomainObjExitAgent(virDomainObj *obj, qemuAgent *agent)
-{
- virObjectUnlock(agent);
- virObjectUnref(agent);
- virObjectLock(obj);
-
- VIR_DEBUG("Exited agent (agent=%p vm=%p name=%s)",
- agent, obj, obj->def->name);
-}
-
-
-static bool
-bhyveDomainAgentAvailable(virDomainObj *vm,
- bool reportError)
-{
- bhyveDomainObjPrivate *priv = vm->privateData;
-
- if (virDomainObjGetState(vm, NULL) != VIR_DOMAIN_RUNNING) {
- if (reportError) {
- virReportError(VIR_ERR_OPERATION_INVALID, "%s",
- _("domain is not running"));
- }
- return false;
- }
-
- if (!priv->agent) {
- if (bhyveFindAgentConfig(vm->def)) {
- if (reportError) {
- virReportError(VIR_ERR_AGENT_UNRESPONSIVE, "%s",
- _("QEMU guest agent is not connected"));
- }
- return false;
- } else {
- if (reportError) {
- virReportError(VIR_ERR_ARGUMENT_UNSUPPORTED, "%s",
- _("QEMU guest agent is not configured"));
- }
- return false;
- }
- }
- return true;
-}
-
-
-static int
-bhyveDomainEnsureAgent(virDomainObj *vm,
- bool reportError)
-{
- bhyveDomainObjPrivate *priv = vm->privateData;
-
- if (virDomainObjGetState(vm, NULL) != VIR_DOMAIN_RUNNING) {
- if (reportError) {
- virReportError(VIR_ERR_OPERATION_INVALID, "%s",
- _("domain is not running"));
- }
- return -1;
- }
-
- if (priv->agent)
- return 0;
-
- if (!priv->eventThread &&
- virBhyveDomainObjStartWorker(vm) < 0)
- return -1;
-
- if (bhyveConnectAgent(NULL, vm) < 0)
- return -1;
-
- return 0;
-}
-
-
static int
bhyveDomainGetHostnameAgent(virDomainObj *vm,
char **hostname)