When I tried to specify userspace_reap parameter which is libaio
ioengine specific, it caused segfault because thread_data.o.description
was unexpectedly set to 1.

The problem is in a way of setting ioengine specific parameter which
doesn't correctly set the value at corresponding offset in thread_data.eo,
but it unexpectedly sets the value in the same offset in thread_data.o
instead.

This fixes it by providing a correct pointer when setting the ioengine
specific parameters.

Signed-off-by: Akinobu Mita <[email protected]>
---
 options.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/options.c b/options.c
index 4b91f52..f26ff77 100644
--- a/options.c
+++ b/options.c
@@ -3603,7 +3603,7 @@ int fio_cmd_option_parse(struct thread_data *td, const 
char *opt, char *val)
 int fio_cmd_ioengine_option_parse(struct thread_data *td, const char *opt,
                                char *val)
 {
-       return parse_cmd_option(opt, val, td->io_ops->options, td);
+       return parse_cmd_option(opt, val, td->io_ops->options, td->eo);
 }
 
 void fio_fill_default_options(struct thread_data *td)
-- 
1.8.3.1

--
To unsubscribe from this list: send the line "unsubscribe fio" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to