On Thu, Jun 20, 2024 at 06:15:09PM +0200, Stefano Brivio wrote: > The most apparent issue fixed by this series is the one from 4/6: with > a log file configured, we wouldn't print to standard error anymore, > during initialisation, which means that users such as libvirt lost > the ability to report meaningful error messages that occurred during > initialisation, in that case. > > v5: > - in 4/8, rename the new flag once more to 'log_runtime': we don't > want to log to standard error if we're running in foreground, a > log file is given, and initialisation is done, otherwise debugging > pasta when it spawns its own shell becomes rather impractical Ah.. right. See, I still think the semantics of always printing to stderr when foreground make more sense, but I guess I do see the point that having pasta messages appear in your pasta-spawned shell is ugly. My preferred approach for that would to keep the basic semantics that we always log to stderr when foreground, but when we're spawning a pasta shell we default to 'quiet' log level. That way if you really do want messages to stderr along with your shell/command (which I sometimes do), you can get that by using --debug or whatever. Regardless of that quibble, though, the semantics are substantially saner with this series than without so I'm happy to go ahead with it. > - add 9/8, taking care of a direct stderr print left-over > > v4: > - in 4/8, name the new flag 'log_daemonised' instead of > 'log_daemon_ready' > > v3: > - add 2/8: we don't really need --stderr anymore > - in 5/8, save errno at the beginning of the _perror() helper > - in 7/8, avoid assigning errno to whatever return code we have just > for the sake of using the new helpers: strerror() is actually less > convoluted than that > - add 8/8: there's no need to call __openlog() with a log file > > v2: > - turn flag bitmap into simple, separate boolean flags > - move errno description after message in _perror() functions > - make some of the old perror() messages more descriptive > *** BLURB HERE *** > > Stefano Brivio (9): > conf, passt: Don't try to log to stderr after we close it > conf, passt: Make --stderr do nothing, and deprecate it > conf, log: Instead of abusing log levels, add log_conf_parsed flag > log, passt: Always print to stderr before initialisation is complete > log: Add _perror() logging function variants > treewide: Replace perror() calls with calls to logging functions > treewide: Replace strerror() calls > conf, passt: Don't call __openlog() if a log file is used > log: Don't report syslog failures to stderr after initialisation > > arch.c | 10 ++++----- > conf.c | 41 ++++++++++++--------------------- > fwd.c | 2 +- > isolation.c | 46 ++++++++++++++++--------------------- > log.c | 65 ++++++++++++++++++++++++++++++++--------------------- > log.h | 25 +++++++++++++++++---- > netlink.c | 4 ++-- > passt.1 | 9 ++++---- > passt.c | 64 +++++++++++++++++++--------------------------------- > passt.h | 2 -- > pasta.c | 27 +++++++++------------- > pcap.c | 8 +++---- > tap.c | 14 ++++++------ > tcp.c | 24 +++++++------------- > util.c | 12 +++++----- > 15 files changed, 164 insertions(+), 189 deletions(-) > -- David Gibson (he or they) | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you, not the other way | around. http://www.ozlabs.org/~dgibson