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 <serge.hallyn@ubuntu.com>
This commit is contained in:
Serge Hallyn 2012-08-09 18:00:58 -05:00 committed by Stéphane Graber
parent 8f2c3a702a
commit 09ad624693

View File

@ -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) {