qemuDomainLogContext *qemuDomainLogContextNew(virQEMUDriver *driver,
- virDomainObj *vm,
- qemuDomainLogContextMode mode)
+ virDomainObj *vm)
{
g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
qemuDomainLogContext *ctxt = QEMU_DOMAIN_LOG_CONTEXT(g_object_new(QEMU_TYPE_DOMAIN_LOG_CONTEXT, NULL));
/* For unprivileged startup we must truncate the file since
* we can't rely on logrotate. We don't use O_TRUNC since
* it is better for SELinux policy if we truncate afterwards */
- if (mode == QEMU_DOMAIN_LOG_CONTEXT_MODE_START &&
- !driver->privileged &&
+ if (!driver->privileged &&
ftruncate(ctxt->writefd, 0) < 0) {
virReportSystemError(errno, _("failed to truncate %1$s"),
ctxt->path);
goto error;
}
- if (mode == QEMU_DOMAIN_LOG_CONTEXT_MODE_START) {
- if ((ctxt->readfd = open(ctxt->path, O_RDONLY)) < 0) {
- virReportSystemError(errno, _("failed to open logfile %1$s"),
- ctxt->path);
- goto error;
- }
- if (virSetCloseExec(ctxt->readfd) < 0) {
- virReportSystemError(errno, _("failed to set close-on-exec flag on %1$s"),
- ctxt->path);
- goto error;
- }
+ if ((ctxt->readfd = open(ctxt->path, O_RDONLY)) < 0) {
+ virReportSystemError(errno, _("failed to open logfile %1$s"),
+ ctxt->path);
+ goto error;
+ }
+ if (virSetCloseExec(ctxt->readfd) < 0) {
+ virReportSystemError(errno, _("failed to set close-on-exec flag on %1$s"),
+ ctxt->path);
+ goto error;
}
if ((ctxt->pos = lseek(ctxt->writefd, 0, SEEK_END)) < 0) {
virDomainNetDef *net,
qemuDomainLogContext *logCtxt);
-typedef enum {
- QEMU_DOMAIN_LOG_CONTEXT_MODE_START,
- QEMU_DOMAIN_LOG_CONTEXT_MODE_ATTACH,
- QEMU_DOMAIN_LOG_CONTEXT_MODE_STOP,
-} qemuDomainLogContextMode;
-
qemuDomainLogContext *qemuDomainLogContextNew(virQEMUDriver *driver,
- virDomainObj *vm,
- qemuDomainLogContextMode mode);
+ virDomainObj *vm);
int qemuDomainLogContextWrite(qemuDomainLogContext *ctxt,
const char *fmt, ...) G_GNUC_PRINTF(2, 3);
ssize_t qemuDomainLogContextRead(qemuDomainLogContext *ctxt,
hookData.cfg = cfg;
VIR_DEBUG("Creating domain log file");
- if (!(logCtxt = qemuDomainLogContextNew(driver, vm,
- QEMU_DOMAIN_LOG_CONTEXT_MODE_START))) {
+ if (!(logCtxt = qemuDomainLogContextNew(driver, vm))) {
virLastErrorPrefixMessage("%s", _("can't connect to virtlogd"));
goto cleanup;
}