/*
* don't block for min events == 0
*/
- if (!min) {
- sd->fd_flags[i] = fcntl(f->fd, F_GETFL);
- fcntl(f->fd, F_SETFL, sd->fd_flags[i] | O_NONBLOCK);
- }
+ if (!min)
+ fio_set_fd_nonblocking(f->fd, "sg");
+
sd->pfds[i].fd = f->fd;
sd->pfds[i].events = POLLIN;
}
return FIO_Q_COMPLETED;
}
-static int fio_sgio_rw_doio(struct fio_file *f, struct io_u *io_u, int sync)
+static int fio_sgio_rw_doio(struct fio_file *f, struct io_u *io_u, int do_sync)
{
struct sg_io_hdr *hdr = &io_u->hdr;
int ret;
if (ret < 0)
return ret;
- if (sync) {
+ if (do_sync) {
ret = read(f->fd, hdr, sizeof(*hdr));
if (ret < 0)
return ret;
return FIO_Q_QUEUED;
}
-static int fio_sgio_doio(struct thread_data *td, struct io_u *io_u, int sync)
+static int fio_sgio_doio(struct thread_data *td, struct io_u *io_u, int do_sync)
{
struct fio_file *f = io_u->file;
if (f->filetype == FIO_TYPE_BD)
return fio_sgio_ioctl_doio(td, f, io_u);
- return fio_sgio_rw_doio(f, io_u, sync);
+ return fio_sgio_rw_doio(f, io_u, do_sync);
}
static int fio_sgio_prep(struct thread_data *td, struct io_u *io_u)
*/
static int fio_sgio_init(struct thread_data fio_unused *td)
{
- fprintf(stderr, "fio: ioengine sg not available\n");
+ log_err("fio: ioengine sg not available\n");
return 1;
}