From b4ba5f302c467dc10c8b89459a8cb97d2958f359 Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Mon, 2 Apr 2007 10:36:59 +0200 Subject: [PATCH] splice engine: return negative for error Otherwise fio_splice_queue() will think it has handle errno number of bytes. Signed-off-by: Jens Axboe --- engines/splice.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/engines/splice.c b/engines/splice.c index 59bf7e4f..6d843538 100644 --- a/engines/splice.c +++ b/engines/splice.c @@ -48,7 +48,7 @@ static int fio_splice_read(struct thread_data *td, struct io_u *io_u) if (errno == ENODATA || errno == EAGAIN) continue; - return errno; + return -errno; } buflen -= ret; @@ -56,7 +56,7 @@ static int fio_splice_read(struct thread_data *td, struct io_u *io_u) while (ret) { ret2 = read(sd->pipe[0], p, ret); if (ret2 < 0) - return errno; + return -errno; ret -= ret2; p += ret2; @@ -90,7 +90,7 @@ static int fio_splice_write(struct thread_data *td, struct io_u *io_u) ret = vmsplice(sd->pipe[1], iov, 1, SPLICE_F_NONBLOCK); if (ret < 0) - return errno; + return -errno; iov[0].iov_len -= ret; iov[0].iov_base += ret; @@ -98,7 +98,7 @@ static int fio_splice_write(struct thread_data *td, struct io_u *io_u) while (ret) { ret2 = splice(sd->pipe[0], NULL, f->fd, &off, ret, 0); if (ret2 < 0) - return errno; + return -errno; ret -= ret2; } -- 2.25.1