diff --git a/src/logging/log_daemon_dispatch.c b/src/logging/log_daemon_dispatch.c index da7c41463283c4e294a8a312e488924952c9dd39..a5fa7f0c760b5c5c90e534fc92ba0778fc7ad6cd 100644 --- a/src/logging/log_daemon_dispatch.c +++ b/src/logging/log_daemon_dispatch.c @@ -56,6 +56,7 @@ virLogManagerProtocolDispatchDomainOpenLogFile(virNetServerPtr server ATTRIBUTE_ (unsigned char *)args->dom.uuid, args->dom.name, args->path, + args->flags, &inode, &offset)) < 0) goto cleanup; @@ -89,6 +90,7 @@ virLogManagerProtocolDispatchDomainGetLogFilePosition(virNetServerPtr server ATT if (virLogHandlerDomainGetLogFilePosition(virLogDaemonGetHandler(logDaemon), args->path, + args->flags, &inode, &offset) < 0) goto cleanup; @@ -127,7 +129,8 @@ virLogManagerProtocolDispatchDomainReadLogFile(virNetServerPtr server ATTRIBUTE_ args->path, args->pos.inode, args->pos.offset, - args->maxlen)) == NULL) + args->maxlen, + args->flags)) == NULL) goto cleanup; ret->data = data; diff --git a/src/logging/log_handler.c b/src/logging/log_handler.c index 55da48ed46a8f887c7595fc339686f8987ca9ad9..92cff503c4fe25246ccae82b2c204f6d3b72a0a1 100644 --- a/src/logging/log_handler.c +++ b/src/logging/log_handler.c @@ -357,6 +357,7 @@ virLogHandlerDomainOpenLogFile(virLogHandlerPtr handler, const unsigned char *domuuid, const char *domname, const char *path, + unsigned int flags, ino_t *inode, off_t *offset) { @@ -364,6 +365,8 @@ virLogHandlerDomainOpenLogFile(virLogHandlerPtr handler, virLogHandlerLogFilePtr file = NULL; int pipefd[2] = { -1, -1 }; + virCheckFlags(0, -1); + virObjectLock(handler); handler->inhibitor(true, handler->opaque); @@ -432,6 +435,7 @@ virLogHandlerDomainOpenLogFile(virLogHandlerPtr handler, int virLogHandlerDomainGetLogFilePosition(virLogHandlerPtr handler, const char *path, + unsigned int flags, ino_t *inode, off_t *offset) { @@ -439,6 +443,8 @@ virLogHandlerDomainGetLogFilePosition(virLogHandlerPtr handler, int ret = -1; size_t i; + virCheckFlags(0, -1); + virObjectLock(handler); for (i = 0; i < handler->nfiles; i++) { @@ -472,12 +478,15 @@ virLogHandlerDomainReadLogFile(virLogHandlerPtr handler, const char *path, ino_t inode, off_t offset, - size_t maxlen) + size_t maxlen, + unsigned int flags) { virRotatingFileReaderPtr file = NULL; char *data = NULL; ssize_t got; + virCheckFlags(0, NULL); + virObjectLock(handler); if (!(file = virRotatingFileReaderNew(path, DEFAULT_MAX_BACKUP))) diff --git a/src/logging/log_handler.h b/src/logging/log_handler.h index 6a130722129e4887c19277fdad497bd1f0c6db69..e61f32d4d4d9fc6030d8285836183c5c7fdc07fe 100644 --- a/src/logging/log_handler.h +++ b/src/logging/log_handler.h @@ -48,11 +48,13 @@ int virLogHandlerDomainOpenLogFile(virLogHandlerPtr handler, const unsigned char *domuuid, const char *domname, const char *path, + unsigned int flags, ino_t *inode, off_t *offset); int virLogHandlerDomainGetLogFilePosition(virLogHandlerPtr handler, const char *path, + unsigned int flags, ino_t *inode, off_t *offset); @@ -60,7 +62,8 @@ char *virLogHandlerDomainReadLogFile(virLogHandlerPtr handler, const char *path, ino_t inode, off_t offset, - size_t maxlen); + size_t maxlen, + unsigned int flags); virJSONValuePtr virLogHandlerPreExecRestart(virLogHandlerPtr handler);