X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=ioengines.c;h=b7df860825e55bb433b20a981f45c2ebf6439734;hb=bf5dc3891ee7f72b19b990e969123af774ad5916;hp=47f606a75409c9a2679443ad02ba7f818e6f6ed4;hpb=9a0ac6c7b69355ea095f06c6b0a08115c946dd61;p=fio.git diff --git a/ioengines.c b/ioengines.c index 47f606a7..b7df8608 100644 --- a/ioengines.c +++ b/ioengines.c @@ -288,7 +288,14 @@ enum fio_q_status td_io_queue(struct thread_data *td, struct io_u *io_u) assert((io_u->flags & IO_U_F_FLIGHT) == 0); io_u_set(td, io_u, IO_U_F_FLIGHT); - if (td->o.serialize_overlap && td->o.io_submit_mode == IO_MODE_OFFLOAD) + + /* + * If overlap checking was enabled in offload mode we + * can release this lock that was acquired when we + * started the overlap check because the IO_U_F_FLIGHT + * flag is now set + */ + if (td_offload_overlap(td)) pthread_mutex_unlock(&overlap_check); assert(fio_file_open(io_u->file));