#include <string.h>
#include <errno.h>
#include <sys/ipc.h>
+#ifndef FIO_NO_HAVE_SHM_H
#include <sys/shm.h>
+#endif
#include <sys/types.h>
#include <sys/stat.h>
profile_add_hooks(td);
td->thread_number = thread_number;
+
+ if (!parent || !parent->o.group_reporting)
+ stat_number++;
+
return td;
}
td->o.compress_percentage = 0;
}
+ /*
+ * Using a non-uniform random distribution excludes usage of
+ * a random map
+ */
+ if (td->o.random_distribution != FIO_RAND_DIST_RANDOM)
+ td->o.norandommap = 1;
+
return ret;
}
return 0;
}
+static void init_flags(struct thread_data *td)
+{
+ struct thread_options *o = &td->o;
+
+ if (o->verify_backlog)
+ td->flags |= TD_F_VER_BACKLOG;
+ if (o->trim_backlog)
+ td->flags |= TD_F_TRIM_BACKLOG;
+ if (o->read_iolog_file)
+ td->flags |= TD_F_READ_IOLOG;
+ if (o->refill_buffers)
+ td->flags |= TD_F_REFILL_BUFFERS;
+ if (o->scramble_buffers)
+ td->flags |= TD_F_SCRAMBLE_BUFFERS;
+ if (o->verify != VERIFY_NONE)
+ td->flags |= TD_F_VER_NONE;
+}
+
/*
* Adds a job to the list of things todo. Sanitizes the various options
* to make sure we don't have conflicts, and initializes various
if (td == &def_thread)
return 0;
+ init_flags(td);
+
/*
* if we are just dumping the output command line, don't add the job
*/
fio_getaffinity(getpid(), &def_thread.o.cpumask);
def_thread.o.timeout = def_timeout;
-
+ def_thread.o.error_dump = 1;
/*
* fill default options
*/
break;
case 'V':
terse_version = atoi(optarg);
- if (!(terse_version == 2 || terse_version == 3) ||
- (terse_version == 4)) {
+ if (!(terse_version == 2 || terse_version == 3 ||
+ terse_version == 4)) {
log_err("fio: bad terse version format\n");
exit_val = 1;
do_exit++;