X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=ioengines.c;h=476df58da7c1239c6cf8a60546f77a7dcdc56aad;hb=b34eb155e4a6a05dbe43b0f7342a8118d09fdc7c;hp=78262bc1a3c70484701345e524f17fb06e60870e;hpb=5a8a6a0343b42d087fa7b65ae884985d0f183c8b;p=fio.git diff --git a/ioengines.c b/ioengines.c index 78262bc1..476df58d 100644 --- a/ioengines.c +++ b/ioengines.c @@ -79,10 +79,16 @@ static struct ioengine_ops *find_ioengine(const char *name) static void *dlopen_external(struct thread_data *td, const char *engine) { char engine_path[PATH_MAX]; + void *dlhandle; sprintf(engine_path, "%s/lib%s.so", FIO_EXT_ENG_DIR, engine); - return dlopen(engine_path, RTLD_LAZY); + dlhandle = dlopen(engine_path, RTLD_LAZY); + if (!dlhandle) + log_info("Engine %s not found; Either name is invalid, was not built, or fio-engine-%s package is missing.\n", + engine, engine); + + return dlhandle; } #else #define dlopen_external(td, engine) (NULL) @@ -307,8 +313,10 @@ enum fio_q_status td_io_queue(struct thread_data *td, struct io_u *io_u) * started the overlap check because the IO_U_F_FLIGHT * flag is now set */ - if (td_offload_overlap(td)) - pthread_mutex_unlock(&overlap_check); + if (td_offload_overlap(td)) { + int res = pthread_mutex_unlock(&overlap_check); + assert(res == 0); + } assert(fio_file_open(io_u->file)); @@ -344,7 +352,7 @@ enum fio_q_status td_io_queue(struct thread_data *td, struct io_u *io_u) } ret = td->io_ops->queue(td, io_u); - zbd_queue_io_u(io_u, ret); + zbd_queue_io_u(td, io_u, ret); unlock_file(td, io_u->file); @@ -386,7 +394,7 @@ enum fio_q_status td_io_queue(struct thread_data *td, struct io_u *io_u) if (!td->io_ops->commit) { io_u_mark_submit(td, 1); io_u_mark_complete(td, 1); - zbd_put_io_u(io_u); + zbd_put_io_u(td, io_u); } if (ret == FIO_Q_COMPLETED) {