Lines Matching refs:iov
36 struct kvec *iov; member
107 kfree(t->iov); in ksmbd_tcp_free_transport()
126 static unsigned int kvec_array_init(struct kvec *new, struct kvec *iov, in kvec_array_init() argument
131 while (bytes || !iov->iov_len) { in kvec_array_init()
132 int copy = min(bytes, iov->iov_len); in kvec_array_init()
136 if (iov->iov_len == base) { in kvec_array_init()
137 iov++; in kvec_array_init()
143 memcpy(new, iov, sizeof(*iov) * nr_segs); in kvec_array_init()
160 if (t->iov && nr_segs <= t->nr_iov) in get_conn_iovec()
161 return t->iov; in get_conn_iovec()
166 kfree(t->iov); in get_conn_iovec()
167 t->iov = new_iov; in get_conn_iovec()
351 struct kvec *iov; in ksmbd_tcp_readv() local
354 iov = get_conn_iovec(t, nr_segs); in ksmbd_tcp_readv()
355 if (!iov) in ksmbd_tcp_readv()
368 segs = kvec_array_init(iov, iov_orig, nr_segs, total_read); in ksmbd_tcp_readv()
371 iov, segs, to_read, 0); in ksmbd_tcp_readv()
415 struct kvec iov; in ksmbd_tcp_read() local
417 iov.iov_base = buf; in ksmbd_tcp_read()
418 iov.iov_len = to_read; in ksmbd_tcp_read()
420 return ksmbd_tcp_readv(TCP_TRANS(t), &iov, 1, to_read, max_retries); in ksmbd_tcp_read()
423 static int ksmbd_tcp_writev(struct ksmbd_transport *t, struct kvec *iov, in ksmbd_tcp_writev() argument
430 return kernel_sendmsg(TCP_TRANS(t)->sock, &smb_msg, iov, nvecs, size); in ksmbd_tcp_writev()