VIR_LOG_INIT("qemu.qemu_extdevice");
int
-qemuExtDeviceLogCommand(qemuDomainLogContextPtr logCtxt,
+qemuExtDeviceLogCommand(virQEMUDriverPtr driver,
+ virDomainObjPtr vm,
virCommandPtr cmd,
const char *info)
{
- int ret = -1;
- char *timestamp = NULL;
- char *logline = NULL;
- int logFD;
+ VIR_AUTOFREE(char *) timestamp = virTimeStringNow();
+ VIR_AUTOFREE(char *) cmds = virCommandToString(cmd, false);
- logFD = qemuDomainLogContextGetWriteFD(logCtxt);
-
- if ((timestamp = virTimeStringNow()) == NULL)
- goto cleanup;
-
- if (virAsprintf(&logline, "%s: Starting external device: %s\n",
- timestamp, info) < 0)
- goto cleanup;
-
- if (safewrite(logFD, logline, strlen(logline)) < 0)
- goto cleanup;
-
- virCommandWriteArgLog(cmd, logFD);
-
- ret = 0;
-
- cleanup:
- VIR_FREE(timestamp);
- VIR_FREE(logline);
+ if (!timestamp || !cmds)
+ return -1;
- return ret;
+ return qemuDomainLogAppendMessage(driver, vm,
+ _("%s: Starting external device: %s\n%s\n"),
+ timestamp, info, cmds);
}
+
/*
* qemuExtDevicesInitPaths:
*
int
qemuExtDevicesStart(virQEMUDriverPtr driver,
virDomainObjPtr vm,
- qemuDomainLogContextPtr logCtxt,
bool incomingMigration)
{
int ret = 0;
return -1;
if (vm->def->tpm)
- ret = qemuExtTPMStart(driver, vm, logCtxt, incomingMigration);
+ ret = qemuExtTPMStart(driver, vm, incomingMigration);
return ret;
}
#include "qemu_conf.h"
#include "qemu_domain.h"
-int qemuExtDeviceLogCommand(qemuDomainLogContextPtr logCtxt,
+int qemuExtDeviceLogCommand(virQEMUDriverPtr driver,
+ virDomainObjPtr vm,
virCommandPtr cmd,
const char *info)
- ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3)
+ ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3) ATTRIBUTE_NONNULL(4)
ATTRIBUTE_RETURN_CHECK;
int qemuExtDevicesPrepareHost(virQEMUDriverPtr driver,
int qemuExtDevicesStart(virQEMUDriverPtr driver,
virDomainObjPtr vm,
- qemuDomainLogContextPtr logCtxt,
bool incomingMigration)
- ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3)
+ ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2)
ATTRIBUTE_RETURN_CHECK;
void qemuExtDevicesStop(virQEMUDriverPtr driver,
if (qemuProcessGenID(vm, flags) < 0)
goto cleanup;
- if (qemuExtDevicesStart(driver, vm, logCtxt, incoming != NULL) < 0)
+ if (qemuExtDevicesStart(driver, vm, incoming != NULL) < 0)
goto cleanup;
VIR_DEBUG("Building emulator command line");
*
* @driver: QEMU driver
* @vm: the domain object
- * @logCtxt: log context
* @incomingMigration: whether we have an incoming migration
*
* Start the external TPM Emulator:
static int
qemuExtTPMStartEmulator(virQEMUDriverPtr driver,
virDomainObjPtr vm,
- qemuDomainLogContextPtr logCtxt,
bool incomingMigration)
{
int ret = -1;
incomingMigration)))
goto cleanup;
- if (qemuExtDeviceLogCommand(logCtxt, cmd, "TPM Emulator") < 0)
+ if (qemuExtDeviceLogCommand(driver, vm, cmd, "TPM Emulator") < 0)
goto cleanup;
virCommandSetErrorBuffer(cmd, &errbuf);
int
qemuExtTPMStart(virQEMUDriverPtr driver,
virDomainObjPtr vm,
- qemuDomainLogContextPtr logCtxt,
bool incomingMigration)
{
int ret = 0;
switch (tpm->type) {
case VIR_DOMAIN_TPM_TYPE_EMULATOR:
- ret = qemuExtTPMStartEmulator(driver, vm, logCtxt, incomingMigration);
+ ret = qemuExtTPMStartEmulator(driver, vm, incomingMigration);
break;
case VIR_DOMAIN_TPM_TYPE_PASSTHROUGH:
case VIR_DOMAIN_TPM_TYPE_LAST:
int qemuExtTPMStart(virQEMUDriverPtr driver,
virDomainObjPtr vm,
- qemuDomainLogContextPtr logCtxt,
bool incomingMigration)
- ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3)
+ ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2)
ATTRIBUTE_RETURN_CHECK;
void qemuExtTPMStop(virQEMUDriverPtr driver,