[PATCH 5/8] mdev: add syslog logging mode
Denys Vlasenko
vda.linux at googlemail.com
Sun Nov 22 13:45:42 UTC 2020
Applied, thanks
On Mon, Dec 16, 2019 at 10:57 PM Jan Klötzke <jan at kloetzke.net> wrote:
>
> If mdev is run as daemon it should be possible to forward the debug
> messages to syslog. This feature might be useful if mdev is run with -s
> during boot too. OTOH it makes no sense for the daemon to log to
> mdev.log. This can be handled by a syslog daemon way better. If the
> daemon stays in the foreground due to -f, the messages are still written
> to stderr as before.
>
> Signed-off-by: Jan Klötzke <jan at kloetzke.net>
> ---
> util-linux/mdev.c | 24 ++++++++++++++++++------
> 1 file changed, 18 insertions(+), 6 deletions(-)
>
> diff --git a/util-linux/mdev.c b/util-linux/mdev.c
> index 91c4ff466..1ef7a029e 100644
> --- a/util-linux/mdev.c
> +++ b/util-linux/mdev.c
> @@ -81,7 +81,7 @@
> //kbuild:lib-$(CONFIG_MDEV) += mdev.o
>
> //usage:#define mdev_trivial_usage
> -//usage: "[-s]" IF_FEATURE_MDEV_DAEMON(" | [-df]")
> +//usage: "[-S] " IF_FEATURE_MDEV_DAEMON("[") "[-s]" IF_FEATURE_MDEV_DAEMON(" | [-df]]")
> //usage:#define mdev_full_usage "\n\n"
> //usage: "mdev -s is to be run during boot to scan /sys and populate /dev.\n"
> //usage: IF_FEATURE_MDEV_DAEMON(
> @@ -89,6 +89,9 @@
> //usage: " -f: stay in foreground.\n"
> //usage: )
> //usage: "\n"
> +//usage: "optional arguments:\n"
> +//usage: " -S: Log to syslog too\n"
> +//usage: "\n"
> //usage: "Bare mdev is a kernel hotplug helper. To activate it:\n"
> //usage: " echo /sbin/mdev >/proc/sys/kernel/hotplug\n"
> //usage: IF_FEATURE_MDEV_CONF(
> @@ -114,6 +117,7 @@
> #include "common_bufsiz.h"
> #include "xregex.h"
> #include <linux/netlink.h>
> +#include <syslog.h>
>
> /* "mdev -s" scans /sys/class/xxx, looking for directories which have dev
> * file (it is of the form "M:m\n"). Example: /sys/class/tty/tty0/dev
> @@ -1244,8 +1248,9 @@ int mdev_main(int argc UNUSED_PARAM, char **argv)
> {
> enum {
> MDEV_OPT_SCAN = 1 << 0,
> - MDEV_OPT_DAEMON = 1 << 1,
> - MDEV_OPT_FOREGROUND = 1 << 2,
> + MDEV_OPT_SYSLOG = 1 << 1,
> + MDEV_OPT_DAEMON = 1 << 2,
> + MDEV_OPT_FOREGROUND = 1 << 3,
> };
> int opt;
> RESERVE_CONFIG_BUFFER(temp, PATH_MAX + SCRATCH_SIZE);
> @@ -1261,7 +1266,7 @@ int mdev_main(int argc UNUSED_PARAM, char **argv)
>
> xchdir("/dev");
>
> - opt = getopt32(argv, "s" IF_FEATURE_MDEV_DAEMON("df"));
> + opt = getopt32(argv, "sS" IF_FEATURE_MDEV_DAEMON("df"));
>
> #if ENABLE_FEATURE_MDEV_CONF
> G.filename = "/etc/mdev.conf";
> @@ -1271,8 +1276,17 @@ int mdev_main(int argc UNUSED_PARAM, char **argv)
> }
> #endif
>
> + if (opt & MDEV_OPT_SYSLOG) {
> + openlog(applet_name, LOG_PID, LOG_DAEMON);
> + logmode |= LOGMODE_SYSLOG;
> + }
> +
> #if ENABLE_FEATURE_MDEV_DAEMON
> if (opt & MDEV_OPT_DAEMON) {
> + // there is no point in write()ing to /dev/null
> + if (!(opt & MDEV_OPT_FOREGROUND))
> + logmode &= ~LOGMODE_STDIO;
> +
> /*
> * Daemon mode listening on uevent netlink socket. Fork away
> * after initial scan so that caller can be sure everything
> @@ -1283,8 +1297,6 @@ int mdev_main(int argc UNUSED_PARAM, char **argv)
> if (!(opt & MDEV_OPT_FOREGROUND))
> bb_daemonize_or_rexec(0, argv);
>
> - open_mdev_log(NULL, getpid());
> -
> daemon_loop(temp, fd);
> }
> #endif
> --
> 2.20.1
>
> _______________________________________________
> busybox mailing list
> busybox at busybox.net
> http://lists.busybox.net/mailman/listinfo/busybox
More information about the busybox
mailing list