give explicit error when the cgroup are not found

When the cgroup is not mounted, we silently exit without giving
some clues to the user with what is happening.

Give some info and an explicit error.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
This commit is contained in:
Daniel Lezcano 2012-01-05 22:45:31 +01:00
parent 7ad84da79b
commit f0e64b8b66

View File

@ -240,6 +240,7 @@ int lxc_cgroup_create(const char *name, pid_t pid)
struct mntent *mntent; struct mntent *mntent;
FILE *file = NULL; FILE *file = NULL;
int err = -1; int err = -1;
int found = 0;
file = setmntent(MTAB, "r"); file = setmntent(MTAB, "r");
if (!file) { if (!file) {
@ -253,13 +254,18 @@ int lxc_cgroup_create(const char *name, pid_t pid)
if (!strcmp(mntent->mnt_type, "cgroup")) { if (!strcmp(mntent->mnt_type, "cgroup")) {
INFO("found cgroup mounted at '%s'", mntent->mnt_dir); INFO("[%d] found cgroup mounted at '%s',opts='%s'",
++found, mntent->mnt_dir, mntent->mnt_opts);
err = lxc_one_cgroup_create(name, mntent, pid); err = lxc_one_cgroup_create(name, mntent, pid);
if (err) if (err)
goto out; goto out;
} }
}; };
if (!found)
ERROR("No cgroup mounted on the system");
out: out:
endmntent(file); endmntent(file);
return err; return err;