use configuration structure for the mount points

Do not use the directory configuration for the mount points.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
This commit is contained in:
Daniel Lezcano 2009-10-09 11:38:39 +02:00
parent d852c78cf0
commit 1bc60a65c9

View File

@ -605,20 +605,6 @@ static int configure_rootfs(const char *name, const char *rootfs)
return -1; return -1;
} }
static int configure_mount(const char *name, const char *fstab)
{
char path[MAXPATHLEN];
snprintf(path, MAXPATHLEN, LXCPATH "/%s/fstab", name);
if (lxc_copy_file(fstab, path)) {
ERROR("failed to copy the fstab file");
return -1;
}
return 0;
}
static int unconfigure_ip_addresses(const char *directory) static int unconfigure_ip_addresses(const char *directory)
{ {
char path[MAXPATHLEN]; char path[MAXPATHLEN];
@ -1059,26 +1045,25 @@ static int parse_mntopts(struct mntent *mntent, unsigned long *mntflags,
return 0; return 0;
} }
static int setup_mount(const char *name) static int setup_mount(const char *fstab)
{ {
char path[MAXPATHLEN];
struct mntent *mntent; struct mntent *mntent;
FILE *file; FILE *file;
int ret = -1; int ret = -1;
unsigned long mntflags; unsigned long mntflags;
char *mntdata; char *mntdata;
snprintf(path, MAXPATHLEN, LXCPATH "/%s/fstab", name); if (!fstab)
return 0;
file = setmntent(path, "r"); file = setmntent(fstab, "r");
if (!file) { if (!file) {
if (errno == ENOENT) SYSERROR("failed to use '%s'", fstab);
return 0; return -1;
SYSERROR("failed to open '%s'", path);
goto out;
} }
while ((mntent = getmntent(file))) { while ((mntent = getmntent(file))) {
mntflags = 0; mntflags = 0;
mntdata = NULL; mntdata = NULL;
if (parse_mntopts(mntent, &mntflags, &mntdata) < 0) { if (parse_mntopts(mntent, &mntflags, &mntdata) < 0) {
@ -1398,11 +1383,6 @@ int lxc_configure(const char *name, struct lxc_conf *conf)
return -1; return -1;
} }
if (conf->fstab && configure_mount(name, conf->fstab)) {
ERROR("failed to configure the mount points");
return -1;
}
return 0; return 0;
} }
@ -1804,7 +1784,7 @@ int lxc_setup(const char *name, const char *cons,
return -1; return -1;
} }
if (lxc_conf.fstab && setup_mount(name)) { if (setup_mount(lxc_conf.fstab)) {
ERROR("failed to setup the mounts for '%s'", name); ERROR("failed to setup the mounts for '%s'", name);
return -1; return -1;
} }