ioengines: clear out ->td_ops_dlhandle if we close it
[fio.git] / io_u.c
diff --git a/io_u.c b/io_u.c
index 6bb9eabf1cb281891d43cd820deb6c36b632e132..42d98ebfe1d6a0dc85193348a77de95667ff117f 100644 (file)
--- a/io_u.c
+++ b/io_u.c
@@ -759,11 +759,11 @@ static enum fio_ddir rate_ddir(struct thread_data *td, enum fio_ddir ddir)
                        return odir;
 
                /*
-                * Both directions are ahead of rate. sleep the min
-                * switch if necissary
+                * Both directions are ahead of rate. sleep the min,
+                * switch if necessary
                 */
                if (td->rate_next_io_time[ddir] <=
-                       td->rate_next_io_time[odir]) {
+                   td->rate_next_io_time[odir]) {
                        usec = td->rate_next_io_time[ddir] - now;
                } else {
                        usec = td->rate_next_io_time[odir] - now;
@@ -775,8 +775,7 @@ static enum fio_ddir rate_ddir(struct thread_data *td, enum fio_ddir ddir)
        if (td->o.io_submit_mode == IO_MODE_INLINE)
                io_u_quiesce(td);
 
-       usec = usec_sleep(td, usec);
-
+       usec_sleep(td, usec);
        return ddir;
 }
 
@@ -1977,11 +1976,12 @@ static void io_completed(struct thread_data *td, struct io_u **io_u_ptr,
                int ret;
 
                td->io_blocks[ddir]++;
-               td->this_io_blocks[ddir]++;
                td->io_bytes[ddir] += bytes;
 
-               if (!(io_u->flags & IO_U_F_VER_LIST))
+               if (!(io_u->flags & IO_U_F_VER_LIST)) {
+                       td->this_io_blocks[ddir]++;
                        td->this_io_bytes[ddir] += bytes;
+               }
 
                if (ddir == DDIR_WRITE)
                        file_log_write_comp(td, f, io_u->offset, bytes);