diff --git a/ioengines.c b/ioengines.c
index 5a32165..9b1ad60 100644
--- a/ioengines.c
+++ b/ioengines.c
@@ -14,9 +14,34 @@
 #include <unistd.h>
 #include <string.h>
 #include <dlfcn.h>
+
 #include "fio.h"
 #include "os.h"
 
+static int check_engine_ops(struct ioengine_ops *ops)
+{
+	/*
+	 * cpu thread doesn't need to provide anything
+	 */
+	if (ops->flags & FIO_CPUIO)
+		return 0;
+
+	if (!ops->event) {
+		log_err("%s: no event handler)\n", ops->name);
+		return 1;
+	}
+	if (!ops->getevents) {
+		log_err("%s: no getevents handler)\n", ops->name);
+		return 1;
+	}
+	if (!ops->queue) {
+		log_err("%s: no queue handler)\n", ops->name);
+		return 1;
+	}
+		
+	return 0;
+}
+
 struct ioengine_ops *load_ioengine(struct thread_data *td, char *name)
 {
 	char engine[16], engine_lib[256];
@@ -52,6 +77,14 @@
 		return NULL;
 	}
 
+	/*
+	 * Check that the required methods are there.
+	 */
+	if (check_engine_ops(ops)) {
+		dlclose(dlhandle);
+		return NULL;
+	}
+
 	ret = malloc(sizeof(*ret));
 	memcpy(ret, ops, sizeof(*ret));
 	ret->data = NULL;
@@ -98,3 +131,11 @@
 
 	return td->io_ops->queue(td, io_u);
 }
+
+int td_io_init(struct thread_data *td)
+{
+	if (td->io_ops->init)
+		return td->io_ops->init(td);
+
+	return 0;
+}
