ioengines: clear out ->td_ops_dlhandle if we close it
[fio.git] / ioengines.c
index 02eaee8484938d0e6310b1238e690ecda08dd3c6..cec0c760f4a4a2c8c5cc089b8abc6d843dc492ea 100644 (file)
@@ -194,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;
 }
@@ -309,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;
        }