[PATCH] Link in known io engines
No real point in using dlopen() to find engines we know about. We still
support loading external modules, just give the name as the full path
to such a file.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
diff --git a/fio.h b/fio.h
index f859608..9f5201b 100644
--- a/fio.h
+++ b/fio.h
@@ -565,6 +565,7 @@
} while (0)
struct ioengine_ops {
+ struct list_head list;
char name[16];
int version;
int flags;
@@ -583,12 +584,16 @@
#define FIO_IOOPS_VERSION 3
extern struct ioengine_ops *load_ioengine(struct thread_data *, const char *);
+extern int register_ioengine(struct ioengine_ops *);
+extern void unregister_ioengine(struct ioengine_ops *);
extern void close_ioengine(struct thread_data *);
/*
* Mark unused variables passed to ops functions as unused, to silence gcc
*/
#define fio_unused __attribute((__unused__))
+#define fio_init __attribute__((constructor))
+#define fio_exit __attribute__((destructor))
#define for_each_td(td, i) \
for ((i) = 0, (td) = &threads[0]; (i) < (int) thread_number; (i)++, (td)++)