Otherwise fio_splice_queue() will think it has handle errno number
of bytes.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
if (errno == ENODATA || errno == EAGAIN)
continue;
- return errno;
+ return -errno;
}
buflen -= ret;
while (ret) {
ret2 = read(sd->pipe[0], p, ret);
if (ret2 < 0)
- return errno;
+ return -errno;
ret -= ret2;
p += ret2;
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;
while (ret) {
ret2 = splice(sd->pipe[0], NULL, f->fd, &off, ret, 0);
if (ret2 < 0)
- return errno;
+ return -errno;
ret -= ret2;
}