CPU set creation and destruction can fail on some platforms
Check for that and error out if necessary.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
diff --git a/options.c b/options.c
index 8e11227..f5bc9c0 100644
--- a/options.c
+++ b/options.c
@@ -247,8 +247,15 @@
struct thread_data *td = data;
unsigned int i;
long max_cpu;
+ int ret;
- fio_cpuset_init(td);
+ ret = fio_cpuset_init(&td->o.cpumask);
+ if (ret < 0) {
+ log_err("fio: cpuset_init failed\n");
+ td_verror(td, ret, "fio_cpuset_init");
+ return 1;
+ }
+
max_cpu = sysconf(_SC_NPROCESSORS_ONLN);
for (i = 0; i < sizeof(int) * 8; i++) {
@@ -274,7 +281,12 @@
long max_cpu;
int ret = 0;
- fio_cpuset_init(td);
+ ret = fio_cpuset_init(&td->o.cpumask);
+ if (ret < 0) {
+ log_err("fio: cpuset_init failed\n");
+ td_verror(td, ret, "fio_cpuset_init");
+ return 1;
+ }
p = str = strdup(input);