ret = poll(sd->pfds, td->nr_files, -1);
if (ret < 0) {
- td_verror(td, errno);
if (!r)
- r = -1;
+ r = -errno;
+ td_verror(td, errno, "poll");
break;
} else if (!ret)
continue;
if (ret < 0) {
if (errno == EAGAIN)
continue;
- td_verror(td, errno);
- r = -1;
+ r = -errno;
+ td_verror(td, errno, "read");
break;
} else if (ret) {
p += ret;
ret = ioctl(f->fd, SG_IO, hdr);
if (ret < 0)
- return ret;
+ return -errno;
return FIO_Q_COMPLETED;
}
if (sync) {
ret = read(f->fd, hdr, sizeof(*hdr));
if (ret < 0)
- return errno;
+ return -errno;
return FIO_Q_COMPLETED;
}
}
if (io_u->error) {
- td_verror(td, io_u->error);
+ td_verror(td, io_u->error, "xfer");
return FIO_Q_COMPLETED;
}
if (td->filetype == FIO_TYPE_BD) {
if (ioctl(f->fd, BLKSSZGET, &bs) < 0) {
- td_verror(td, errno);
+ td_verror(td, errno, "ioctl");
goto err;
}
} else if (td->filetype == FIO_TYPE_CHAR) {
int version;
if (ioctl(f->fd, SG_GET_VERSION_NUM, &version) < 0) {
- td_verror(td, errno);
+ td_verror(td, errno, "ioctl");
goto err;
}