From: Serge Hallyn Date: Thu, 9 Aug 2012 23:00:58 +0000 (-0500) Subject: confile: support 'lxc.include' option to include other config files X-Git-Tag: lxc-0.9.0.alpha1~1^2~168 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=09ad624693cb0ef41cf246e2876b5f356783b34d;p=thirdparty%2Flxc.git confile: support 'lxc.include' option to include other config files For instance lxc.include = /var/lib/lxc/commonopts in /var/lib/lxc/q1/config would cause the configuration in /var/lib/lxc/commonopts to be loaded when container q1 starts. Signed-off-by: Serge Hallyn --- diff --git a/src/lxc/confile.c b/src/lxc/confile.c index 367a92cd0..2b5e73c91 100644 --- a/src/lxc/confile.c +++ b/src/lxc/confile.c @@ -76,6 +76,7 @@ static int config_network_ipv6_gateway(const char *, char *, struct lxc_conf *); static int config_cap_drop(const char *, char *, struct lxc_conf *); static int config_console(const char *, char *, struct lxc_conf *); static int config_seccomp(const char *, char *, struct lxc_conf *); +static int config_includefile(const char *, char *, struct lxc_conf *); typedef int (*config_cb)(const char *, char *, struct lxc_conf *); @@ -120,6 +121,7 @@ static struct config config[] = { { "lxc.cap.drop", config_cap_drop }, { "lxc.console", config_console }, { "lxc.seccomp", config_seccomp }, + { "lxc.include", config_includefile }, }; static const size_t config_size = sizeof(config)/sizeof(struct config); @@ -894,6 +896,12 @@ static int config_console(const char *key, char *value, return 0; } +static int config_includefile(const char *key, char *value, + struct lxc_conf *lxc_conf) +{ + return lxc_config_read(value, lxc_conf); +} + static int config_rootfs(const char *key, char *value, struct lxc_conf *lxc_conf) { if (strlen(value) >= MAXPATHLEN) {