Lines Matching refs:sio
1807 struct scatter_io sio;
1891 if (scatter_io_init(&vs->vs_data, offset, len, &sio)) {
1892 err = scatter_io_uiomove(&sio, uio);
1895 done = len - sio.sio_resid;
2678 struct scatter_io sio;
2703 &sio))
2705 scatter_io_copyin(&sio, payload->data);
2706 buf->bytesused += (payload->size - sio.sio_resid);
2849 struct scatter_io *sio)
2858 sio->sio_buf = sb;
2859 sio->sio_offset = off;
2860 sio->sio_resid = len;
2869 scatter_io_next(struct scatter_io *sio, void **p, size_t *sz)
2873 if (sio->sio_resid == 0)
2876 pg = sio->sio_offset >> PAGE_SHIFT;
2877 pgo = sio->sio_offset & PAGE_MASK;
2879 *sz = uimin(PAGE_SIZE - pgo, sio->sio_resid);
2880 *p = sio->sio_buf->sb_page_ary[pg] + pgo;
2882 sio->sio_offset += *sz;
2883 sio->sio_resid -= *sz;
2891 scatter_io_undo(struct scatter_io *sio, size_t sz)
2893 sio->sio_offset -= sz;
2894 sio->sio_resid += sz;
2899 scatter_io_copyin(struct scatter_io *sio, const void *p)
2905 while(scatter_io_next(sio, &dst, &sz)) {
2913 scatter_io_copyout(struct scatter_io *sio, void *p)
2919 while(scatter_io_next(sio, &src, &sz)) {
2930 scatter_io_uiomove(struct scatter_io *sio, struct uio *uio)
2937 while(scatter_io_next(sio, &p, &sz)) {
2940 scatter_io_undo(sio, sz);