From d89de2399ce0e6c213a742c246574f2ca0afad0d Mon Sep 17 00:00:00 2001 From: =?utf8?q?St=C3=A9phane=20Graber?= Date: Tue, 20 Jan 2015 18:40:17 -0500 Subject: [PATCH] Set kmsg to 0 by default MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit It's now been proven over and over again that the symlink from /dev/kmsg to /dev/console is harmful for everything but upstart systems. As Ubuntu is now switching over to systemd too, lets switch the default. Upstart users wishing to see boot messages can always set lxc.kmsg = 1 manually in their config (so long as they don't expect to then dist-upgrade the container to systemd succesfuly). Signed-off-by: Stéphane Graber Acked-by: Serge E. Hallyn --- config/templates/archlinux.common.conf.in | 3 --- doc/lxc.container.conf.sgml.in | 4 ++-- src/lxc/conf.c | 2 +- templates/lxc-debian.in | 6 ------ templates/lxc-fedora.in | 14 -------------- templates/lxc-oracle.in | 5 ----- templates/lxc-sshd.in | 1 - 7 files changed, 3 insertions(+), 32 deletions(-) diff --git a/config/templates/archlinux.common.conf.in b/config/templates/archlinux.common.conf.in index 8dea976af..693f2f455 100644 --- a/config/templates/archlinux.common.conf.in +++ b/config/templates/archlinux.common.conf.in @@ -4,9 +4,6 @@ lxc.include = @LXCTEMPLATECONFIG@/common.conf # Allow for 6 tty devices by default lxc.tty = 6 -# Disable kmsg -lxc.kmsg = 0 - # Set the halt/stop signals lxc.haltsignal=SIGRTMIN+4 lxc.stopsignal=SIGRTMIN+14 diff --git a/doc/lxc.container.conf.sgml.in b/doc/lxc.container.conf.sgml.in index 96d574f89..a86b1e565 100644 --- a/doc/lxc.container.conf.sgml.in +++ b/doc/lxc.container.conf.sgml.in @@ -674,7 +674,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Enable kmsg symlink - Enable creating /dev/kmsg as symlink to /dev/console. This defaults to 1. + Enable creating /dev/kmsg as symlink to /dev/console. This defaults to 0. @@ -683,7 +683,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Set this to 0 to disable /dev/kmsg symlinking. + Set this to 1 to enable /dev/kmsg symlinking. diff --git a/src/lxc/conf.c b/src/lxc/conf.c index f0b224277..10582aecb 100644 --- a/src/lxc/conf.c +++ b/src/lxc/conf.c @@ -2523,7 +2523,7 @@ struct lxc_conf *lxc_conf_init(void) free(new); return NULL; } - new->kmsg = 1; + new->kmsg = 0; lxc_list_init(&new->cgroup); lxc_list_init(&new->network); lxc_list_init(&new->mount_list); diff --git a/templates/lxc-debian.in b/templates/lxc-debian.in index 0a3c4027f..895536321 100644 --- a/templates/lxc-debian.in +++ b/templates/lxc-debian.in @@ -188,12 +188,6 @@ configure_debian_systemd() path=$1 rootfs=$2 - init="$(chroot ${rootfs} dpkg-query --search /sbin/init | cut -d : -f 1)" - if [ "$init" = "systemd-sysv" ]; then - # only appropriate when systemd is PID 1 - echo 'lxc.kmsg = 0' >> "$path/config" - fi - # this only works if we have getty@.service to manipulate if [ -f ${rootfs}/lib/systemd/system/getty\@.service ]; then sed -e 's/^ConditionPathExists=/# ConditionPathExists=/' \ diff --git a/templates/lxc-fedora.in b/templates/lxc-fedora.in index 36d22c50c..5e7de8070 100644 --- a/templates/lxc-fedora.in +++ b/templates/lxc-fedora.in @@ -1117,12 +1117,6 @@ lxc.include = @LXCTEMPLATECONFIG@/fedora.common.conf " >> $config_path/config fi - if [ "x$have_systemd" = "x1" ]; then - cat <> $config_path/config -lxc.kmsg = 0 -EOF - fi - # Append things which require expansion here... cat <> $config_path/config lxc.arch = $arch @@ -1344,14 +1338,6 @@ if [ -z "$release" ]; then fi fi -# Fedora 15 and above run systemd.We need autodev enabled to keep -# systemd from causing problems. -# Also, kmsg must not be mapped to prevent a 100% cpu loop -# in systemd-journald. -if [ $release -gt 14 ]; then - have_systemd="1" -fi - if [ "$(id -u)" != "0" ]; then echo "This script should be run as 'root'" exit 1 diff --git a/templates/lxc-oracle.in b/templates/lxc-oracle.in index 8ec02da3f..c35ac40d6 100644 --- a/templates/lxc-oracle.in +++ b/templates/lxc-oracle.in @@ -480,11 +480,6 @@ EOF echo "lxc.cap.drop = setfcap setpcap" >>$cfg_dir/config fi - # don't create kmsg symlink as it causes journald to use 100% cpu - if [ $container_release_major = "7" ]; then - echo "lxc.kmsg = 0" >>$cfg_dir/config - fi - echo "# Networking" >>$cfg_dir/config # see if the network settings were already specified lxc_network_type=`grep '^lxc.network.type' $cfg_dir/config | awk -F'[= \t]+' '{ print $2 }'` diff --git a/templates/lxc-sshd.in b/templates/lxc-sshd.in index 949c2ad1e..aa45c1d6c 100644 --- a/templates/lxc-sshd.in +++ b/templates/lxc-sshd.in @@ -129,7 +129,6 @@ copy_configuration() cat <> $path/config lxc.utsname = $name lxc.pts = 1024 -lxc.kmsg = 0 lxc.cap.drop = sys_module mac_admin mac_override sys_time # When using LXC with apparmor, uncomment the next line to run unconfined: -- 2.39.5