Lines Matching refs:io_u
27 struct io_u *io_u, int eb)
31 ret = mtd_mark_bad(&fmd->info, io_u->file->fd, eb);
33 io_u->error = errno;
43 struct io_u *io_u, int eb)
45 int ret = mtd_is_bad(&fmd->info, io_u->file->fd, eb);
47 io_u->error = errno;
50 io_u->error = EIO; /* Silent failure--don't flood stderr */
54 static int fio_mtd_queue(struct thread_data *td, struct io_u *io_u)
56 struct fio_file *f = io_u->file;
61 fio_ro_check(td, io_u);
71 while (local_offs < io_u->buflen) {
72 int eb = (io_u->offset + local_offs) / fmd->info.eb_size;
73 int eb_offs = (io_u->offset + local_offs) % fmd->info.eb_size;
76 int len = min((int)io_u->buflen - local_offs,
78 char *buf = ((char *)io_u->buf) + local_offs;
81 ret = fio_mtd_is_bad(td, fmd, io_u, eb);
87 if (io_u->ddir == DDIR_READ) {
90 io_u->error = errno;
92 if (fio_mtd_maybe_mark_bad(td, fmd, io_u, eb))
95 } else if (io_u->ddir == DDIR_WRITE) {
99 io_u->error = errno;
101 if (fio_mtd_maybe_mark_bad(td, fmd, io_u, eb))
104 } else if (io_u->ddir == DDIR_TRIM) {
106 io_u->error = EINVAL;
112 io_u->error = errno;
114 if (fio_mtd_maybe_mark_bad(td, fmd, io_u, eb))
118 io_u->error = ENOTSUP;
119 td_verror(td, io_u->error, "operation not supported on mtd");