* generic io engine that could be used for other projects.
*
*/
-#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
td->ts.total_io_u[io_u->ddir]++;
}
} else if (ret == FIO_Q_QUEUED) {
- int r;
-
td->io_u_queued++;
if (ddir_rw(io_u->ddir) || ddir_sync(io_u->ddir))
td->ts.total_io_u[io_u->ddir]++;
- if (td->io_u_queued >= td->o.iodepth_batch) {
- r = td_io_commit(td);
- if (r < 0)
- return r;
- }
+ if (td->io_u_queued >= td->o.iodepth_batch)
+ td_io_commit(td);
}
if (!td_ioengine_flagged(td, FIO_SYNCIO)) {
return ret;
}
-int td_io_commit(struct thread_data *td)
+void td_io_commit(struct thread_data *td)
{
int ret;
dprint(FD_IO, "calling ->commit(), depth %d\n", td->cur_depth);
if (!td->cur_depth || !td->io_u_queued)
- return 0;
+ return;
io_u_mark_depth(td, td->io_u_queued);
*/
td->io_u_in_flight += td->io_u_queued;
td->io_u_queued = 0;
-
- return 0;
}
int td_io_open_file(struct thread_data *td, struct fio_file *f)
}
if (posix_fadvise(f->fd, f->file_offset, f->io_size, flags) < 0) {
- td_verror(td, errno, "fadvise");
- goto err;
+ if (!fio_did_warn(FIO_WARN_FADVISE))
+ log_err("fio: fadvise hint failed\n");
}
}
#ifdef FIO_HAVE_WRITE_HINT