lock.c lock.h \
namespace.h namespace.c \
conf.c conf.h \
+ confile.c confile.h \
list.h \
state.c state.h \
log.c log.h \
lxc_init_SOURCES = lxc_init.c
lxc_init_LDADD = liblxc.la
-lxc_create_SOURCES = lxc_create.c confile.c confile.h
+lxc_create_SOURCES = lxc_create.c
lxc_create_LDADD = liblxc.la
lxc_destroy_SOURCES = lxc_destroy.c
lxc_stop_SOURCES = lxc_stop.c
lxc_stop_LDADD = liblxc.la
-lxc_execute_SOURCES = lxc_execute.c confile.c confile.h
+lxc_execute_SOURCES = lxc_execute.c
lxc_execute_LDADD = liblxc.la
lxc_monitor_SOURCES = lxc_monitor.c
return flags;
}
+extern int lxc_config_read(const char *file, struct lxc_conf *conf);
+
int lxc_setup(const char *name, const char *cons,
const struct lxc_tty_info *tty_info)
* work after chrooting */
long flags = make_conf_flagset(name, cons, tty_info);
+ struct lxc_conf lxc_conf;
+ char path[MAXPATHLEN];
+
+ if (lxc_conf_init(&lxc_conf)) {
+ ERROR("failed to initialize the configuration");
+ return -1;
+ }
+
+ snprintf(path, sizeof(path), LXCPATH "/%s/config", name);
+
+ if (!access(path, F_OK)) {
+
+ if (lxc_config_read(path, &lxc_conf)) {
+ ERROR("failed to read the configuration file");
+ return -1;
+ }
+ }
+
if (conf_is_set(flags, utsname) && setup_utsname(name)) {
ERROR("failed to setup the utsname for '%s'", name);
return -1;