backend: move rated submit code to its own file
[fio.git] / engines / sync.c
index 41612dfa8c31ba0f8fc81436d162fee1ece500da..f5801fec9a9fd7a471e18d90fbb048d7a9fd03ec 100644 (file)
@@ -63,8 +63,10 @@ static int fio_io_end(struct thread_data *td, struct io_u *io_u, int ret)
                        io_u->error = errno;
        }
 
-       if (io_u->error)
+       if (io_u->error) {
+               io_u_log_error(td, io_u);
                td_verror(td, io_u->error, "xfer");
+       }
 
        return FIO_Q_COMPLETED;
 }
@@ -315,9 +317,11 @@ static void fio_vsyncio_cleanup(struct thread_data *td)
 {
        struct syncio_data *sd = td->io_ops->data;
 
-       free(sd->iovecs);
-       free(sd->io_us);
-       free(sd);
+       if (sd) {
+               free(sd->iovecs);
+               free(sd->io_us);
+               free(sd);
+       }
 }
 
 static struct ioengine_ops ioengine_rw = {