2
0
mirror of git://github.com/lxc/lxc synced 2025-08-30 09:17:48 +00:00

conf, confile: introduce basic structs for shared mount point

Signed-off-by: Liza Tretyakova <elizabet.tretyakova@gmail.com>
This commit is contained in:
Liza Tretyakova 2018-05-02 10:09:34 +03:00 committed by Christian Brauner
parent a633a1edf1
commit adf0ba1fc7
No known key found for this signature in database
GPG Key ID: 8EB056D53EECB12D
3 changed files with 15 additions and 0 deletions

View File

@ -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);
}

View File

@ -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,

View File

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