From: Liza Tretyakova Date: Wed, 2 May 2018 07:09:34 +0000 (+0300) Subject: conf, confile: introduce basic structs for shared mount point X-Git-Tag: lxc-3.1.0~195^2~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=adf0ba1fc7c792346b71925656a3fdcbcbbec281;p=thirdparty%2Flxc.git conf, confile: introduce basic structs for shared mount point Signed-off-by: Liza Tretyakova --- diff --git a/src/lxc/conf.c b/src/lxc/conf.c index d36987c81..723910cb2 100644 --- a/src/lxc/conf.c +++ b/src/lxc/conf.c @@ -2714,6 +2714,8 @@ struct lxc_conf *lxc_conf_init(void) new->lsm_aa_profile = NULL; new->lsm_se_context = NULL; new->tmp_umount_proc = false; + new->lxc_shmount.path_host = NULL; + new->lxc_shmount.path_cont = NULL; /* if running in a new user namespace, init and COMMAND * default to running as UID/GID 0 when using lxc-execute */ @@ -4041,6 +4043,8 @@ void lxc_conf_free(struct lxc_conf *conf) lxc_clear_procs(conf, "lxc.proc"); free(conf->cgroup_meta.dir); free(conf->cgroup_meta.controllers); + free(conf->lxc_shmount.path_host); + free(conf->lxc_shmount.path_cont); free(conf); } diff --git a/src/lxc/conf.h b/src/lxc/conf.h index f7a879c30..59526507e 100644 --- a/src/lxc/conf.h +++ b/src/lxc/conf.h @@ -189,6 +189,9 @@ enum { LXC_AUTO_CGROUP_FULL_NOSPEC = 0x0E0, /* /sys/fs/cgroup (full mount, r/w or mixed, depending on caps) */ LXC_AUTO_CGROUP_FORCE = 0x100, /* mount cgroups even when cgroup namespaces are supported */ LXC_AUTO_CGROUP_MASK = 0x1F0, /* all known cgroup options, doe not contain LXC_AUTO_CGROUP_FORCE */ + + LXC_AUTO_SHMOUNTS = 0x200, /* shared mount point */ + LXC_AUTO_SHMOUNTS_MASK = 0x200, /* shared mount point mask */ LXC_AUTO_ALL_MASK = 0x1FF, /* all known settings */ }; @@ -367,6 +370,13 @@ struct lxc_conf { /* procs */ struct lxc_list procs; + + struct lxc_shmount { + /* Absolute path to the shared mount point on the host */ + char *path_host; + /* Absolute path (in the container) to the shared mount point */ + char *path_cont; + } lxc_shmount; }; extern int write_id_mapping(enum idtype idtype, pid_t pid, const char *buf, diff --git a/src/lxc/confile.c b/src/lxc/confile.c index 5a18d11bf..86dcdb90b 100644 --- a/src/lxc/confile.c +++ b/src/lxc/confile.c @@ -1659,6 +1659,7 @@ static int set_config_mount_auto(const char *key, const char *value, { "cgroup-full:mixed:force", LXC_AUTO_CGROUP_MASK, LXC_AUTO_CGROUP_FULL_MIXED | LXC_AUTO_CGROUP_FORCE }, { "cgroup-full:ro:force", LXC_AUTO_CGROUP_MASK, LXC_AUTO_CGROUP_FULL_RO | LXC_AUTO_CGROUP_FORCE }, { "cgroup-full:rw:force", LXC_AUTO_CGROUP_MASK, LXC_AUTO_CGROUP_FULL_RW | LXC_AUTO_CGROUP_FORCE }, + { "shmounts:", LXC_AUTO_SHMOUNTS_MASK, LXC_AUTO_SHMOUNTS }, /* For adding anything that is just a single on/off, but has no * options: keep mask and flag identical and just define the enum * value as an unused bit so far