From ddf16fe4da558a2778bf1ba06c965080d318cb24 Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Fri, 4 Dec 2009 10:54:45 +0100 Subject: [PATCH] CGROUP fixes Signed-off-by: Jens Axboe --- cgroup.c | 20 ++++++++++++++++++++ options.c | 1 - 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/cgroup.c b/cgroup.c index 15641e67..548740a0 100644 --- a/cgroup.c +++ b/cgroup.c @@ -6,6 +6,18 @@ #include "fio.h" #include "cgroup.h" +/* + * Check if the given root appears valid + */ +static int cgroup_check_fs(struct thread_data *td) +{ + struct stat sb; + char tmp[256]; + + sprintf(tmp, "%s/tasks", td->o.cgroup_root); + return stat(tmp, &sb); +} + static char *get_cgroup_root(struct thread_data *td) { char *str = malloc(64); @@ -67,6 +79,12 @@ int cgroup_setup(struct thread_data *td) char *root, tmp[256]; FILE *f; + if (cgroup_check_fs(td)) { + log_err("fio: blkio cgroup mount point %s not valid\n", + td->o.cgroup_root); + return 1; + } + /* * Create container, if it doesn't exist */ @@ -100,6 +118,8 @@ int cgroup_setup(struct thread_data *td) void cgroup_shutdown(struct thread_data *td) { + if (cgroup_check_fs(td)) + return; if (!td->o.cgroup_weight) return; diff --git a/options.c b/options.c index cb6337c2..77cfd424 100644 --- a/options.c +++ b/options.c @@ -1746,7 +1746,6 @@ static struct fio_option options[] = { .help = "Use given weight for cgroup", .minval = 100, .maxval = 1000, - .def = "0", }, { .name = NULL, -- 2.25.1