int register_ioengine(struct ioengine_ops *ops)
{
- if (check_engine_ops(ops))
- return 1;
-
INIT_LIST_HEAD(&ops->list);
list_add_tail(&ops->list, &engine_list);
return 0;
return NULL;
}
+ /*
+ * Unlike the included modules, external engines should have a
+ * non-static ioengine structure that we can reference.
+ */
ops = dlsym(dlhandle, "ioengine");
if (!ops) {
td_vmsg(td, -1, dlerror());
int td_io_queue(struct thread_data *td, struct io_u *io_u)
{
- gettimeofday(&io_u->issue_time, NULL);
+ fio_gettime(&io_u->issue_time, NULL);
return td->io_ops->queue(td, io_u);
}