On Thu, Sep 11, 2025 at 06:11:47PM +0000, Richard Henderson wrote: > On 9/10/25 18:03, Daniel P. Berrangé wrote: > > --- a/storage-daemon/qemu-storage-daemon.c > > +++ b/storage-daemon/qemu-storage-daemon.c > > @@ -47,6 +47,7 @@ > > #include "qemu/cutils.h" > > #include "qemu/config-file.h" > > #include "qemu/error-report.h" > > +#include "qemu/message.h" > > #include "qemu/help_option.h" > > #include "qemu/job.h" > > #include "qemu/log.h" > > @@ -65,6 +66,10 @@ static const char *pid_file; > > static char *pid_file_realpath; > > static volatile bool exit_requested = false; > > +#define QMESSAGE_FORMAT_DEFAULT \ > > + (QMESSAGE_FORMAT_PROGRAM_NAME | \ > > + QMESSAGE_FORMAT_THREAD_INFO) > > + > > void qemu_system_killed(int signal, pid_t pid) > > { > > exit_requested = true; > > @@ -399,6 +404,7 @@ int main(int argc, char *argv[]) > > #endif > > error_init(argv[0]); > > + qmessage_set_format(QMESSAGE_FORMAT_DEFAULT); > > qemu_init_exec_dir(argv[0]); > > os_setup_signal_handling(); > > diff --git a/system/vl.c b/system/vl.c > > index 9030212c50..20b655a7bc 100644 > > --- a/system/vl.c > > +++ b/system/vl.c > > @@ -145,6 +145,10 @@ > > #define MAX_VIRTIO_CONSOLES 1 > > +#define QMESSAGE_FORMAT_DEFAULT \ > > + (QMESSAGE_FORMAT_PROGRAM_NAME | \ > > + QMESSAGE_FORMAT_THREAD_INFO) > > + > > typedef struct BlockdevOptionsQueueEntry { > > BlockdevOptions *bdo; > > Location loc; > > @@ -811,10 +815,9 @@ static void realtime_init(void) > > } > > } > > - > > static void configure_msg(QemuOpts *opts) > > { > > - int flags = QMESSAGE_FORMAT_PROGRAM_NAME; > > + int flags = QMESSAGE_FORMAT_DEFAULT; > > if (qemu_opt_get_bool(opts, "timestamp", false)) { > > flags |= QMESSAGE_FORMAT_TIMESTAMP; > > } > > @@ -2888,6 +2891,7 @@ void qemu_init(int argc, char **argv) > > module_call_init(MODULE_INIT_OPTS); > > error_init(argv[0]); > > + qmessage_set_format(QMESSAGE_FORMAT_DEFAULT); > > Worth a static initial value of the variable, rather than require two other > startup calls?
NB, the qmessage stuff is linked into all our other binaries too, and so I only wanted to turn on thread info for the subset of binaries that are likely to be using multiple threads. Then again, posibly both qemu-nbd and qemu-img might use threads in some scenarios > This also seems like it should be a separate patch from adding THREAD_INFO > to qmessage_context_print. Sure, I can do that. With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|