Skip to content

Commit

Permalink
confile: lxc.mount --> lxc.mount.fstab
Browse files Browse the repository at this point in the history
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
  • Loading branch information
Christian Brauner committed Jul 2, 2017
1 parent 3aed493 commit 47148e9
Show file tree
Hide file tree
Showing 8 changed files with 36 additions and 17 deletions.
2 changes: 1 addition & 1 deletion doc/lxc.container.conf
@@ -1,5 +1,5 @@
# the fstab mount file
lxc.mount = ./fstab
lxc.mount.fstab = ./fstab

# the hostname to be set into the container
lxc.utsname = virtnode
Expand Down
4 changes: 2 additions & 2 deletions doc/lxc.container.conf.sgml.in
Expand Up @@ -815,7 +815,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
<variablelist>
<varlistentry>
<term>
<option>lxc.mount</option>
<option>lxc.mount.fstab</option>
</term>
<listitem>
<para>
Expand Down Expand Up @@ -1987,7 +1987,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
lxc.cgroup.devices.deny = a
lxc.cgroup.devices.allow = c 1:3 rw
lxc.cgroup.devices.allow = b 8:0 rw
lxc.mount = /etc/fstab.complex
lxc.mount.fstab = /etc/fstab.complex
lxc.mount.entry = /lib /root/myrootfs/lib none ro,bind 0 0
lxc.rootfs.path = dir:/mnt/rootfs.complex
lxc.cap.drop = sys_module mknod setuid net_raw
Expand Down
23 changes: 14 additions & 9 deletions src/lxc/confile.c
Expand Up @@ -87,7 +87,7 @@ lxc_config_define(log_level);
lxc_config_define(log_file);
lxc_config_define(mount);
lxc_config_define(mount_auto);
lxc_config_define(fstab);
lxc_config_define(mount_fstab);
lxc_config_define(rootfs_mount);
lxc_config_define(rootfs_options);
lxc_config_define(rootfs_backend);
Expand Down Expand Up @@ -159,11 +159,16 @@ static struct lxc_config_t config[] = {
{ "lxc.id_map", set_config_idmaps, get_config_idmaps, clr_config_idmaps, },
{ "lxc.mount.entry", set_config_mount, get_config_mount, clr_config_mount, },
{ "lxc.mount.auto", set_config_mount_auto, get_config_mount_auto, clr_config_mount_auto, },
{ "lxc.mount", set_config_fstab, get_config_fstab, clr_config_fstab, },
{ "lxc.mount.fstab", set_config_mount_fstab, get_config_mount_fstab, clr_config_mount_fstab, },
{ "lxc.rootfs.mount", set_config_rootfs_mount, get_config_rootfs_mount, clr_config_rootfs_mount, },
{ "lxc.rootfs.options", set_config_rootfs_options, get_config_rootfs_options, clr_config_rootfs_options, },
{ "lxc.rootfs.path", set_config_rootfs_path, get_config_rootfs_path, clr_config_rootfs_path, },

/* REMOVE IN LXC 3.0
legacy mount key
*/
{ "lxc.mount", set_config_mount_fstab, get_config_mount_fstab, clr_config_mount_fstab, },

/* REMOVE IN LXC 3.0
legacy rootfs.backend key
*/
Expand Down Expand Up @@ -1739,11 +1744,11 @@ static int set_config_idmaps(const char *key, const char *value,
return -1;
}

static int set_config_fstab(const char *key, const char *value,
struct lxc_conf *lxc_conf, void *data)
static int set_config_mount_fstab(const char *key, const char *value,
struct lxc_conf *lxc_conf, void *data)
{
if (lxc_config_value_empty(value)) {
clr_config_fstab(key, lxc_conf, NULL);
clr_config_mount_fstab(key, lxc_conf, NULL);
return -1;
}

Expand Down Expand Up @@ -2926,8 +2931,8 @@ static int get_config_log_file(const char *key, char *retv, int inlen,
return lxc_get_conf_str(retv, inlen, c->logfile);
}

static int get_config_fstab(const char *key, char *retv, int inlen,
struct lxc_conf *c, void *data)
static int get_config_mount_fstab(const char *key, char *retv, int inlen,
struct lxc_conf *c, void *data)
{
return lxc_get_conf_str(retv, inlen, c->fstab);
}
Expand Down Expand Up @@ -3441,8 +3446,8 @@ static inline int clr_config_mount_auto(const char *key, struct lxc_conf *c,
return lxc_clear_automounts(c);
}

static inline int clr_config_fstab(const char *key, struct lxc_conf *c,
void *data)
static inline int clr_config_mount_fstab(const char *key, struct lxc_conf *c,
void *data)
{
free(c->fstab);
c->fstab = NULL;
Expand Down
7 changes: 6 additions & 1 deletion src/lxc/lxccontainer.c
Expand Up @@ -2803,8 +2803,13 @@ static int copy_fstab(struct lxc_container *oldc, struct lxc_container *c)
if (!oldpath)
return 0;

/* REMOVE IN LXC 3.0
legacy mount key
*/
clear_unexp_config_line(c->lxc_conf, "lxc.mount", false);

clear_unexp_config_line(c->lxc_conf, "lxc.mount.fstab", false);

char *p = strrchr(oldpath, '/');
if (!p)
return -1;
Expand All @@ -2829,7 +2834,7 @@ static int copy_fstab(struct lxc_container *oldc, struct lxc_container *c)
ERROR("error: allocating pathname");
return -1;
}
if (!do_append_unexp_config_line(c->lxc_conf, "lxc.mount", newpath)) {
if (!do_append_unexp_config_line(c->lxc_conf, "lxc.mount.fstab", newpath)) {
ERROR("error saving new lxctab");
return -1;
}
Expand Down
11 changes: 10 additions & 1 deletion src/tests/parse_config_file.c
Expand Up @@ -473,13 +473,22 @@ int main(int argc, char *argv[])
goto non_test_error;
}

/* lxc.mount */
/* REMOVE IN LXC 3.0
legacy lxc.mount key
*/
if (set_get_compare_clear_save_load(c, "lxc.mount", "/some/path", NULL,
true) < 0) {
lxc_error("%s\n", "lxc.mount");
goto non_test_error;
}

/* lxc.mount.fstab */
if (set_get_compare_clear_save_load(c, "lxc.mount.fstab", "/some/path", NULL,
true) < 0) {
lxc_error("%s\n", "lxc.mount.fstab");
goto non_test_error;
}

/* lxc.mount.auto
* Note that we cannot compare the values since the getter for
* lxc.mount.auto does not preserve ordering.
Expand Down
2 changes: 1 addition & 1 deletion templates/lxc-download.in
Expand Up @@ -545,7 +545,7 @@ if [ -e "${LXC_PATH}/config-auto" ]; then
rm ${LXC_PATH}/config-auto
fi
if [ -e "$fstab" ]; then
echo "lxc.mount = ${LXC_PATH}/fstab" >> ${LXC_PATH}/config
echo "lxc.mount.fstab = ${LXC_PATH}/fstab" >> ${LXC_PATH}/config
fi
echo "lxc.uts.name = ${LXC_NAME}" >> ${LXC_PATH}/config

Expand Down
2 changes: 1 addition & 1 deletion templates/lxc-pld.in
Expand Up @@ -242,7 +242,7 @@ lxc.uts.name = $utsname
lxc.tty = 4
lxc.pts = 1024
# Consider if below line is right for systemd container
lxc.mount = $config_path/fstab
lxc.mount.fstab = $config_path/fstab
lxc.cap.drop = sys_module mac_admin mac_override sys_time
lxc.autodev = $auto_dev
Expand Down
2 changes: 1 addition & 1 deletion templates/lxc-slackware.in
Expand Up @@ -641,7 +641,7 @@ cat <<EOF >> $path/config
lxc.uts.name = $name
lxc.arch = $arch
lxc.mount = $rootfs/etc/fstab
lxc.mount.fstab = $rootfs/etc/fstab
lxc.include = ${LXC_TEMPLATE_CONFIG}/slackware.common.conf
EOF
Expand Down

0 comments on commit 47148e9

Please sign in to comment.