#include <sys/poll.h>
#include "../fio.h"
-#include "../os.h"
#ifdef FIO_HAVE_SPLICE
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;
}