* 'Fix_Assert_TdIoQueue_Serialize_Overlap_Offload' of https://github.com/horshack-dpreview/fio:
ioengines.c:346: td_io_queue: Assertion `res == 0' failed
Signed-off-by: Jens Axboe <axboe@kernel.dk>
IO_U_F_TRIMMED = 1 << 5,
IO_U_F_BARRIER = 1 << 6,
IO_U_F_VER_LIST = 1 << 7,
- IO_U_F_PATTERN_DONE = 1 << 8,
+ IO_U_F_PATTERN_DONE = 1 << 8,
+ IO_U_F_OVERLAP_LOCK = 1 << 9,
};
/*
* started the overlap check because the IO_U_F_FLIGHT
* flag is now set
*/
- if (td_offload_overlap(td)) {
+ if (io_u->flags & IO_U_F_OVERLAP_LOCK) {
int res = pthread_mutex_unlock(&overlap_check);
assert(res == 0);
+ io_u_clear(td, io_u, IO_U_F_OVERLAP_LOCK);
}
assert(fio_file_open(io_u->file));
assert(res == 0);
goto retry;
}
+ io_u_set(td, io_u, IO_U_F_OVERLAP_LOCK);
}
static int io_workqueue_fn(struct submit_worker *sw,