projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
oslib: fix asprintf build failure
[fio.git]
/
ioengines.c
diff --git
a/ioengines.c
b/ioengines.c
index 78262bc1a3c70484701345e524f17fb06e60870e..1c5970a4b5a188e5f4aa5f924b483c976a04142f 100644
(file)
--- 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];
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);
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)
}
#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
*/
* 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));
assert(fio_file_open(io_u->file));