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;
if (errno == ENODATA || errno == EAGAIN)
continue;
while (ret) {
ret2 = read(sd->pipe[0], p, ret);
if (ret2 < 0)
while (ret) {
ret2 = read(sd->pipe[0], p, ret);
if (ret2 < 0)
ret = vmsplice(sd->pipe[1], iov, 1, SPLICE_F_NONBLOCK);
if (ret < 0)
ret = vmsplice(sd->pipe[1], iov, 1, SPLICE_F_NONBLOCK);
if (ret < 0)
iov[0].iov_len -= ret;
iov[0].iov_base += ret;
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)
while (ret) {
ret2 = splice(sd->pipe[0], NULL, f->fd, &off, ret, 0);
if (ret2 < 0)