[lxc-devel] [PATCH] Make /dev/kmsg symlinking optional, add lxc.kmsg option

Serge Hallyn serge.hallyn at ubuntu.com
Tue Mar 12 22:28:40 UTC 2013


Quoting Alexander Vladimirov (alexander.idkfa.vladimirov at gmail.com):
> Had this changeset hanging around for some time, maybe this would be useful
> until some better solution come up.

If the default becomes 1, then ack.

> Signed-off-by: Alexander Vladimirov <alexander.idkfa.vladimirov at 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 at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/lxc-devel




More information about the lxc-devel mailing list