More cpu engine fixes
[fio.git] / ioengines.c
index 8e6fae2267bdc2340fa82453ef65bab3335615ab..d34d2f4303764566da297e327670d935e23de7ea 100644 (file)
@@ -157,6 +157,8 @@ void close_ioengine(struct thread_data *td)
 
 int td_io_prep(struct thread_data *td, struct io_u *io_u)
 {
+       fio_ro_check(td, io_u);
+
        if (td->io_ops->prep)
                return td->io_ops->prep(td, io_u);
 
@@ -182,13 +184,13 @@ int td_io_queue(struct thread_data *td, struct io_u *io_u)
 {
        int ret;
 
+       fio_ro_check(td, io_u);
+
        assert((io_u->flags & IO_U_F_FLIGHT) == 0);
        io_u->flags |= IO_U_F_FLIGHT;
 
        assert(io_u->file->flags & FIO_FILE_OPEN);
 
-       assert(!(io_u->ddir == DDIR_WRITE && !td_write(td)));
-
        io_u->error = 0;
        io_u->resid = 0;
 
@@ -243,7 +245,7 @@ int td_io_init(struct thread_data *td)
        if (td->io_ops->init) {
                ret = td->io_ops->init(td);
                if (ret && td->o.iodepth > 1)
-                       log_err("fio: io engine init failed. Perhaps try reducing io dpeth?\n");
+                       log_err("fio: io engine init failed. Perhaps try reducing io depth?\n");
        }
 
        return ret;