blob: 6db1ad6df82efe5e202592fe4fbbe5b6eb68295d [file] [log] [blame]
Jens Axboea94ea282006-11-24 12:37:34 +01001/*
2 * null engine - doesn't do any transfers. Used to test fio.
3 *
4 */
5#include <stdio.h>
6#include <stdlib.h>
7#include <unistd.h>
8#include <errno.h>
9#include <assert.h>
10
11#include "../fio.h"
12#include "../os.h"
13
Jens Axboe36167d82007-02-18 05:41:31 +010014static int fio_null_queue(struct thread_data fio_unused *td, struct io_u *io_u)
Jens Axboea94ea282006-11-24 12:37:34 +010015{
Jens Axboea94ea282006-11-24 12:37:34 +010016 io_u->resid = 0;
17 io_u->error = 0;
Jens Axboe36167d82007-02-18 05:41:31 +010018 return FIO_Q_COMPLETED;
Jens Axboea94ea282006-11-24 12:37:34 +010019}
20
21static struct ioengine_ops ioengine = {
22 .name = "null",
23 .version = FIO_IOOPS_VERSION,
Jens Axboea94ea282006-11-24 12:37:34 +010024 .queue = fio_null_queue,
Jens Axboe138502a2007-03-01 08:27:42 +010025 .flags = FIO_SYNCIO | FIO_NULLIO | FIO_DISKLESSIO,
Jens Axboea94ea282006-11-24 12:37:34 +010026};
27
28static void fio_init fio_null_register(void)
29{
30 register_ioengine(&ioengine);
31}
32
33static void fio_exit fio_null_unregister(void)
34{
35 unregister_ioengine(&ioengine);
36}