X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=ioengines.c;h=cec0c760f4a4a2c8c5cc089b8abc6d843dc492ea;hb=e38feac48ffb7a45c847cabd31ab5eab7fe05a4e;hp=1bfc06f96d12bf15f07e8aded629e8fa9c7cc92d;hpb=e6fe02651641fc64d2fa4fcfe9b1013b2947d11b;p=fio.git diff --git a/ioengines.c b/ioengines.c index 1bfc06f9..cec0c760 100644 --- a/ioengines.c +++ b/ioengines.c @@ -52,14 +52,12 @@ static bool check_engine_ops(struct ioengine_ops *ops) void unregister_ioengine(struct ioengine_ops *ops) { dprint(FD_IO, "ioengine %s unregistered\n", ops->name); - flist_del(&ops->list); - INIT_FLIST_HEAD(&ops->list); + flist_del_init(&ops->list); } void register_ioengine(struct ioengine_ops *ops) { dprint(FD_IO, "ioengine %s registered\n", ops->name); - INIT_FLIST_HEAD(&ops->list); flist_add_tail(&ops->list, &engine_list); } @@ -196,8 +194,10 @@ void free_ioengine(struct thread_data *td) td->eo = NULL; } - if (td->io_ops_dlhandle) + if (td->io_ops_dlhandle) { dlclose(td->io_ops_dlhandle); + td->io_ops_dlhandle = NULL; + } td->io_ops = NULL; } @@ -311,8 +311,10 @@ int td_io_queue(struct thread_data *td, struct io_u *io_u) } if (ddir_rw(ddir)) { - td->io_issues[ddir]++; - td->io_issue_bytes[ddir] += buflen; + if (!(io_u->flags & IO_U_F_VER_LIST)) { + td->io_issues[ddir]++; + td->io_issue_bytes[ddir] += buflen; + } td->rate_io_issue_bytes[ddir] += buflen; }