Had this changeset hanging around for some time, maybe this would be useful until some better solution come up.
Signed-off-by: Alexander Vladimirov <alexander.idkfa.vladimi...@gmail.com> --- src/lxc/conf.c | 6 ++++-- src/lxc/conf.h | 1 + src/lxc/confile.c | 12 ++++++++++++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/lxc/conf.c b/src/lxc/conf.c index add3c74..1600e73 100644 --- a/src/lxc/conf.c +++ b/src/lxc/conf.c @@ -2746,8 +2746,10 @@ int lxc_setup(const char *name, struct lxc_conf *lxc_conf) return -1; } - if (setup_kmsg(&lxc_conf->rootfs, &lxc_conf->console)) // don't fail - ERROR("failed to setup kmsg for '%s'", name); + if (lxc_conf->kmsg) { + if (setup_kmsg(&lxc_conf->rootfs, &lxc_conf->console)) // don't fail + ERROR("failed to setup kmsg for '%s'", name); + } if (setup_tty(&lxc_conf->rootfs, &lxc_conf->tty_info, lxc_conf->ttydir)) { ERROR("failed to setup the ttys for '%s'", name); diff --git a/src/lxc/conf.h b/src/lxc/conf.h index f20fb2f..652a1be 100644 --- a/src/lxc/conf.h +++ b/src/lxc/conf.h @@ -277,6 +277,7 @@ struct lxc_conf { #endif int maincmd_fd; int autodev; // if 1, mount and fill a /dev at start + int kmsg; // if 1, create /dev/kmsg symlink char *rcfile; // Copy of the top level rcfile we read }; diff --git a/src/lxc/confile.c b/src/lxc/confile.c index d350f01..87f3ae1 100644 --- a/src/lxc/confile.c +++ b/src/lxc/confile.c @@ -54,6 +54,7 @@ static int config_personality(const char *, const char *, struct lxc_conf *); static int config_pts(const char *, const char *, struct lxc_conf *); static int config_tty(const char *, const char *, struct lxc_conf *); static int config_ttydir(const char *, const char *, struct lxc_conf *); +static int config_kmsg(const char *, const char *, struct lxc_conf *); #if HAVE_APPARMOR static int config_aa_profile(const char *, const char *, struct lxc_conf *); #endif @@ -94,6 +95,7 @@ static struct lxc_config_t config[] = { { "lxc.pts", config_pts }, { "lxc.tty", config_tty }, { "lxc.devttydir", config_ttydir }, + { "lxc.kmsg", config_kmsg }, #if HAVE_APPARMOR { "lxc.aa_profile", config_aa_profile }, #endif @@ -902,6 +904,16 @@ static int config_ttydir(const char *key, const char *value, return 0; } +static int config_kmsg(const char *key, const char *value, + struct lxc_conf *lxc_conf) +{ + int v = atoi(value); + + lxc_conf->kmsg = v; + + return 0; +} + #if HAVE_APPARMOR static int config_aa_profile(const char *key, const char *value, struct lxc_conf *lxc_conf) -- 1.8.1.5 ------------------------------------------------------------------------------ Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the endpoint security space. For insight on selecting the right partner to tackle endpoint security challenges, access the full report. http://p.sf.net/sfu/symantec-dev2dev _______________________________________________ Lxc-devel mailing list Lxc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lxc-devel