projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[PATCH] Implement file syncing as data direction
[fio.git]
/
engines
/
fio-engine-splice.c
diff --git
a/engines/fio-engine-splice.c
b/engines/fio-engine-splice.c
index cb39b7225946fc55b618b8b65cf0bef8d2500de0..3553d646c0a1f15a4a6e1540a214febf328d0abd 100644
(file)
--- a/
engines/fio-engine-splice.c
+++ b/
engines/fio-engine-splice.c
@@
-16,12
+16,6
@@
struct spliceio_data {
int pipe[2];
};
int pipe[2];
};
-static int fio_spliceio_sync(struct thread_data fio_unused *td,
- struct fio_file *f)
-{
- return fsync(f->fd);
-}
-
static int fio_spliceio_getevents(struct thread_data *td, int fio_unused min,
int max, struct timespec fio_unused *t)
{
static int fio_spliceio_getevents(struct thread_data *td, int fio_unused min,
int max, struct timespec fio_unused *t)
{
@@
-139,8
+133,10
@@
static int fio_spliceio_queue(struct thread_data *td, struct io_u *io_u)
if (io_u->ddir == DDIR_READ)
ret = fio_splice_read(td, io_u);
if (io_u->ddir == DDIR_READ)
ret = fio_splice_read(td, io_u);
- else
+ else
if (io_u->ddir == DDIR_WRITE)
ret = fio_splice_write(td, io_u);
ret = fio_splice_write(td, io_u);
+ else
+ ret = fsync(io_u->file->fd);
if ((unsigned int) ret != io_u->buflen) {
if (ret > 0) {
if ((unsigned int) ret != io_u->buflen) {
if (ret > 0) {
@@
-191,6
+187,5
@@
struct ioengine_ops ioengine = {
.getevents = fio_spliceio_getevents,
.event = fio_spliceio_event,
.cleanup = fio_spliceio_cleanup,
.getevents = fio_spliceio_getevents,
.event = fio_spliceio_event,
.cleanup = fio_spliceio_cleanup,
- .sync = fio_spliceio_sync,
.flags = FIO_SYNCIO,
};
.flags = FIO_SYNCIO,
};