Lines Matching refs:io_u
103 static int fio_devdax_prep_limited(struct thread_data *td, struct io_u *io_u)
105 struct fio_file *f = io_u->file;
108 if (io_u->buflen > f->real_file_size) {
117 fdd->devdax_off = io_u->offset;
125 static int fio_devdax_prep_full(struct thread_data *td, struct io_u *io_u)
127 struct fio_file *f = io_u->file;
134 if (io_u->offset != (size_t) io_u->offset ||
150 static int fio_devdax_prep(struct thread_data *td, struct io_u *io_u)
152 struct fio_file *f = io_u->file;
159 if (io_u->offset >= fdd->devdax_off &&
160 io_u->offset + io_u->buflen < fdd->devdax_off + fdd->devdax_sz)
172 if (fio_devdax_prep_full(td, io_u)) {
174 ret = fio_devdax_prep_limited(td, io_u);
180 io_u->mmap_data = fdd->devdax_ptr + io_u->offset - fdd->devdax_off -
185 static int fio_devdax_queue(struct thread_data *td, struct io_u *io_u)
187 fio_ro_check(td, io_u);
188 io_u->error = 0;
190 switch (io_u->ddir) {
192 memcpy(io_u->xfer_buf, io_u->mmap_data, io_u->xfer_buflen);
195 pmem_memcpy_persist(io_u->mmap_data, io_u->xfer_buf,
196 io_u->xfer_buflen);
203 io_u->error = EINVAL;