projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Windows: include winsock2.h instead of windows.h to avoid a warning.
[fio.git]
/
init.c
diff --git
a/init.c
b/init.c
index 0cc6a520b15269c177ff1fa7ab01a4fddc2ac038..70b56e38f21b5dab4c1789234d3ee226acabaed5 100644
(file)
--- a/
init.c
+++ b/
init.c
@@
-749,6
+749,10
@@
int ioengine_load(struct thread_data *td)
*/
if (td->io_ops)
return 0;
*/
if (td->io_ops)
return 0;
+ if (!td->o.ioengine) {
+ log_err("fio: internal fault, no IO engine specified\n");
+ return 1;
+ }
engine = get_engine_name(td->o.ioengine);
td->io_ops = load_ioengine(td, engine);
engine = get_engine_name(td->o.ioengine);
td->io_ops = load_ioengine(td, engine);
@@
-1725,7
+1729,13
@@
int parse_cmd_line(int argc, char *argv[], int client_type)
fio_options_set_ioengine_opts(l_opts, td);
}
fio_options_set_ioengine_opts(l_opts, td);
}
- ret = fio_cmd_option_parse(td, opt, val);
+ if ((!val || !strlen(val)) &&
+ l_opts[lidx].has_arg == required_argument) {
+ log_err("fio: option %s requires an argument\n", opt);
+ ret = 1;
+ } else
+ ret = fio_cmd_option_parse(td, opt, val);
+
if (ret) {
if (td) {
put_job(td);
if (ret) {
if (td) {
put_job(td);
@@
-1838,10
+1848,8
@@
int parse_cmd_line(int argc, char *argv[], int client_type)
break;
}
break;
}
- if (do_exit) {
- if (exit_val && !(is_backend || nr_clients))
- exit(exit_val);
- }
+ if (do_exit && !(is_backend || nr_clients))
+ exit(exit_val);
if (nr_clients && fio_clients_connect()) {
do_exit++;
if (nr_clients && fio_clients_connect()) {
do_exit++;