Messages in this thread | | | Date | Mon, 15 Mar 2021 18:06:07 +0100 | From | Stefano Garzarella <> | Subject | Re: [PATCH v4 06/14] vringh: add vringh_kiov_length() helper |
| |
On Mon, Mar 15, 2021 at 05:51:30PM +0100, Laurent Vivier wrote: >On 15/03/2021 17:34, Stefano Garzarella wrote: >> This new helper returns the total number of bytes covered by >> a vringh_kiov. >> >> Suggested-by: Jason Wang <jasowang@redhat.com> >> Acked-by: Jason Wang <jasowang@redhat.com> >> Signed-off-by: Stefano Garzarella <sgarzare@redhat.com> >> --- >> include/linux/vringh.h | 11 +++++++++++ >> 1 file changed, 11 insertions(+) >> >> diff --git a/include/linux/vringh.h b/include/linux/vringh.h >> index 755211ebd195..84db7b8f912f 100644 >> --- a/include/linux/vringh.h >> +++ b/include/linux/vringh.h >> @@ -199,6 +199,17 @@ static inline void vringh_kiov_cleanup(struct vringh_kiov *kiov) >> kiov->iov = NULL; >> } >> >> +static inline size_t vringh_kiov_length(struct vringh_kiov *kiov) >> +{ >> + size_t len = 0; >> + int i; >> + >> + for (i = kiov->i; i < kiov->used; i++) >> + len += kiov->iov[i].iov_len; >> + >> + return len; >> +} > >Do we really need an helper? > >For instance, we can use: > >len = iov_length((struct iovec *)kiov->iov, kiov->used); > >Or do we want to avoid the cast?
Yes, that should be fine. If we want, I can remove the helper and use iov_length() directly. I thought vringh wanted to hide iovec from users though.
Anyway talking to Jason, as a long term solution we should reconsider vringh and support iov_iter.
Thanks, Stefano
| |