[libvirt PATCH v5 14/32] qemu: move qemuProcessReadLog() to qemuLogContext
Jonathon Jongsma
jjongsma at redhat.com
Thu Feb 16 15:24:44 UTC 2023
On 2/16/23 8:56 AM, Peter Krempa wrote:
> On Tue, Feb 14, 2023 at 11:08:01 -0600, Jonathon Jongsma wrote:
>> This code can be used by the nbdkit implementation for reading back
>> filtered log data for error reporting. Move it to qemuLogContext so that
>> it can be shared. Renamed to qemuLogContextReadFiltered().
>>
>> Signed-off-by: Jonathon Jongsma <jjongsma at redhat.com>
>> Reviewed-by: Peter Krempa <pkrempa at redhat.com>
>> ---
>> src/qemu/qemu_logcontext.c | 65 ++++++++++++++++++++++++++++++++++++
>> src/qemu/qemu_logcontext.h | 3 ++
>> src/qemu/qemu_process.c | 67 +-------------------------------------
>> 3 files changed, 69 insertions(+), 66 deletions(-)
>>
>> diff --git a/src/qemu/qemu_logcontext.c b/src/qemu/qemu_logcontext.c
>> index 6ad0beeeae..fed5112e28 100644
>> --- a/src/qemu/qemu_logcontext.c
>> +++ b/src/qemu/qemu_logcontext.c
>> @@ -21,6 +21,7 @@
>> #include "qemu_logcontext.h"
>> #include "viralloc.h"
>> #include "virlog.h"
>> +#include "virstring.h"
>> #include "virutil.h"
>>
>> #include <fcntl.h>
>> @@ -236,6 +237,70 @@ qemuLogContextRead(qemuLogContext *ctxt,
>> }
>>
>>
>> +/**
>> + * qemuLogContextFilter: Read and filter log for relevant messages
>> + * @ctxt: the domain log context
>> + * @msg: pointer to buffer to store the read messages in
>> + * @max: maximum length of the message returned in @msg after filtering
>> + *
>> + * Reads log output from @ctxt and filters it. Skips messages not produced by
>> + * the target executable or irrelevant messages. If @max is not zero, @buf will
>> + * contain at most @max characters from the end of the log and @buf will start
>> + * after a new line if possible.
>> + */
>> +int
>> +qemuLogContextReadFiltered(qemuLogContext *ctxt,
>> + char **msg,
>> + size_t max)
>> +{
>> + char *buf;
>> + char *eol;
>> + char *filter_next;
>> + size_t skip;
>> + ssize_t got;
>> +
>> + if ((got = qemuLogContextRead(ctxt, &buf) < 0))
>
> You've got the quotes wrong here compared to the place where you took it
> from
>
>> - if ((got = qemuLogContextRead(logCtxt, &buf)) < 0)
>
>
> I wonder how that happened as it looks like code movement.
>
Whoa, that's weird. I have no idea. Good catch.
Jonathon
More information about the libvir-list
mailing list