[lxc-devel] [PATCH 4/8] Initialize default mount point
Daniel Lezcano
daniel.lezcano at free.fr
Sun Oct 3 21:46:33 UTC 2010
Let's initialize rootfs->mount to LXCROOTFSMOUNT. The value
will be overwritten by the configuration in case it is specified.
That will make the code nicer, instead of the ugly rootfs->mount checks.
Signed-off-by: Daniel Lezcano <dlezcano at fr.ibm.com>
---
src/lxc/conf.c | 27 +++++++++++----------------
1 files changed, 11 insertions(+), 16 deletions(-)
diff --git a/src/lxc/conf.c b/src/lxc/conf.c
index 3da522f..dac5b45 100644
--- a/src/lxc/conf.c
+++ b/src/lxc/conf.c
@@ -394,7 +394,7 @@ static int setup_tty(const struct lxc_rootfs *rootfs,
struct lxc_pty_info *pty_info = &tty_info->pty_info[i];
snprintf(path, sizeof(path), "%s/dev/tty%d",
- rootfs->mount ? rootfs->mount : LXCROOTFSMOUNT, i + 1);
+ rootfs->mount, i + 1);
/* At this point I can not use the "access" function
* to check the file is present or not because it fails
@@ -589,47 +589,42 @@ static int setup_rootfs_pivot_root(const char *rootfs, const char *pivotdir)
if (remove_pivotdir && rmdir(pivotdir))
WARN("can't remove mountpoint '%s': %m", pivotdir);
- INFO("pivoted to '%s'", rootfs);
-
return 0;
}
static int setup_rootfs(const struct lxc_rootfs *rootfs)
{
- char *mpath = rootfs->mount ? rootfs->mount : LXCROOTFSMOUNT;
-
if (!rootfs->path)
return 0;
- if (access(mpath, F_OK)) {
+ if (access(rootfs->mount, F_OK)) {
SYSERROR("failed to access to '%s', check it is present",
- mpath);
+ rootfs->mount);
return -1;
}
- if (mount(rootfs->path, mpath, "none", MS_BIND|MS_REC, NULL)) {
- SYSERROR("failed to mount '%s'->'%s'", rootfs->path, mpath);
+ if (mount(rootfs->path, rootfs->mount, "none", MS_BIND|MS_REC, NULL)) {
+ SYSERROR("failed to mount '%s'->'%s'",
+ rootfs->path, rootfs->mount);
return -1;
}
- DEBUG("mounted '%s' on '%s'", rootfs->path, mpath);
+ DEBUG("mounted '%s' on '%s'", rootfs->path, rootfs->mount);
return 0;
}
int setup_pivot_root(const struct lxc_rootfs *rootfs)
{
- char *mpath = rootfs->mount ? rootfs->mount : LXCROOTFSMOUNT;
-
if (!rootfs->path)
return 0;
- if (setup_rootfs_pivot_root(mpath, rootfs->pivot)) {
+ if (setup_rootfs_pivot_root(rootfs->mount, rootfs->pivot)) {
ERROR("failed to setup pivot root");
return -1;
}
- DEBUG("pivot rooted to '%s'", mpath);
+ DEBUG("pivot rooted to '%s'", rootfs->mount);
return 0;
}
@@ -693,8 +688,7 @@ static int setup_console(const struct lxc_rootfs *rootfs,
if (!rootfs->path)
return 0;
- snprintf(path, sizeof(path), "%s/dev/console",
- rootfs->mount ? rootfs->mount : LXCROOTFSMOUNT);
+ snprintf(path, sizeof(path), "%s/dev/console", rootfs->mount);
if (access(path, F_OK)) {
WARN("rootfs specified but no console found at '%s'", path);
@@ -1160,6 +1154,7 @@ struct lxc_conf *lxc_conf_init(void)
new->console.master = -1;
new->console.slave = -1;
new->console.name[0] = '\0';
+ new->rootfs.mount = LXCROOTFSMOUNT;
lxc_list_init(&new->cgroup);
lxc_list_init(&new->network);
lxc_list_init(&new->mount_list);
--
1.7.0.4
More information about the lxc-devel
mailing list