+ f->mmap_sz = mmap_map_size;
+ if (f->mmap_sz > f->io_size)
+ f->mmap_sz = f->io_size;
+
+ f->mmap_off = io_u->offset & ~mmap_map_mask;
+ if (io_u->offset + io_u->buflen >= f->mmap_off + f->mmap_sz)
+ f->mmap_off -= io_u->buflen;
+
+ ret = fio_mmap_file(td, f, f->mmap_sz, f->mmap_off);
+done:
+ if (!ret)
+ io_u->mmap_data = f->mmap_ptr + io_u->offset - f->mmap_off -
+ f->file_offset;
+err:
+ return ret;
+}