Home | History | Annotate | Download | only in engines

Lines Matching defs:io_u

21 	struct io_u *io_u;
26 struct io_u **aio_events;
41 static struct io_u *fio_windowsaio_event(struct thread_data *td, int event);
43 struct io_u *io_u);
62 wd->aio_events = malloc(td->o.iodepth * sizeof(struct io_u*));
252 static struct io_u* fio_windowsaio_event(struct thread_data *td, int event)
264 struct io_u *io_u;
279 io_u_qiter(&td->io_u_all, io_u, i) {
280 if (!(io_u->flags & IO_U_F_FLIGHT))
283 fov = (struct fio_overlapped*)io_u->engine_data;
288 wd->aio_events[dequeued] = io_u;
309 static int fio_windowsaio_queue(struct thread_data *td, struct io_u *io_u)
311 struct fio_overlapped *o = io_u->engine_data;
317 fio_ro_check(td, io_u);
321 lpOvl->Offset = io_u->offset & 0xFFFFFFFF;
322 lpOvl->OffsetHigh = io_u->offset >> 32;
324 switch (io_u->ddir) {
326 success = WriteFile(io_u->file->hFile, io_u->xfer_buf, io_u->xfer_buflen, &iobytes, lpOvl);
329 success = ReadFile(io_u->file->hFile, io_u->xfer_buf, io_u->xfer_buflen, &iobytes, lpOvl);
334 success = FlushFileBuffers(io_u->file->hFile);
337 io_u->error = win_to_posix_error(GetLastError());
344 io_u->error = 1;
345 io_u->resid = io_u->xfer_buflen;
356 io_u->error = win_to_posix_error(GetLastError());
357 io_u->resid = io_u->xfer_buflen;
368 struct io_u *io_u;
382 io_u = fov->io_u;
385 io_u->resid = io_u->xfer_buflen - ovl->InternalHigh;
386 io_u->error = 0;
388 io_u->resid = io_u->xfer_buflen;
389 io_u->error = win_to_posix_error(GetLastError());
401 static void fio_windowsaio_io_u_free(struct thread_data *td, struct io_u *io_u)
403 struct fio_overlapped *o = io_u->engine_data;
407 io_u->engine_data = NULL;
412 static int fio_windowsaio_io_u_init(struct thread_data *td, struct io_u *io_u)
418 o->io_u = io_u;
426 io_u->engine_data = o;