mirror of
git://github.com/lxc/lxc
synced 2025-08-31 21:29:27 +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:
committed by
Christian Brauner
parent
a633a1edf1
commit
adf0ba1fc7
@@ -2714,6 +2714,8 @@ struct lxc_conf *lxc_conf_init(void)
|
|||||||
new->lsm_aa_profile = NULL;
|
new->lsm_aa_profile = NULL;
|
||||||
new->lsm_se_context = NULL;
|
new->lsm_se_context = NULL;
|
||||||
new->tmp_umount_proc = false;
|
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
|
/* if running in a new user namespace, init and COMMAND
|
||||||
* default to running as UID/GID 0 when using lxc-execute */
|
* 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");
|
lxc_clear_procs(conf, "lxc.proc");
|
||||||
free(conf->cgroup_meta.dir);
|
free(conf->cgroup_meta.dir);
|
||||||
free(conf->cgroup_meta.controllers);
|
free(conf->cgroup_meta.controllers);
|
||||||
|
free(conf->lxc_shmount.path_host);
|
||||||
|
free(conf->lxc_shmount.path_cont);
|
||||||
free(conf);
|
free(conf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -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_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_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_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 */
|
LXC_AUTO_ALL_MASK = 0x1FF, /* all known settings */
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -367,6 +370,13 @@ struct lxc_conf {
|
|||||||
|
|
||||||
/* procs */
|
/* procs */
|
||||||
struct lxc_list 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,
|
extern int write_id_mapping(enum idtype idtype, pid_t pid, const char *buf,
|
||||||
|
@@ -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: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: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 },
|
{ "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
|
/* For adding anything that is just a single on/off, but has no
|
||||||
* options: keep mask and flag identical and just define the enum
|
* options: keep mask and flag identical and just define the enum
|
||||||
* value as an unused bit so far
|
* value as an unused bit so far
|
||||||
|
Reference in New Issue
Block a user