Message ID | 20210119212507.1043636-26-maxime.coquelin@redhat.com (mailing list archive) |
---|---|
State | Superseded, archived |
Delegated to: | Maxime Coquelin |
Headers | show |
Series | net/virtio: Virtio PMD rework | expand |
Context | Check | Description |
---|---|---|
ci/checkpatch | success | coding style OK |
> -----Original Message----- > From: Maxime Coquelin <maxime.coquelin@redhat.com> > Sent: Wednesday, January 20, 2021 5:25 AM > To: dev@dpdk.org; Xia, Chenbo <chenbo.xia@intel.com>; olivier.matz@6wind.com; > amorenoz@redhat.com; david.marchand@redhat.com > Cc: Maxime Coquelin <maxime.coquelin@redhat.com> > Subject: [PATCH v2 25/44] net/virtio: make Vhost-user req sender consistent > > This patch makes vhost_user_write() consistent with > vhost_user_read(), by passing a Vhost-user message > pointer instead of a buffer pointer and its length, which > is now calculated in the function. > > Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> > --- > drivers/net/virtio/virtio_user/vhost_user.c | 10 ++++------ > 1 file changed, 4 insertions(+), 6 deletions(-) > > diff --git a/drivers/net/virtio/virtio_user/vhost_user.c > b/drivers/net/virtio/virtio_user/vhost_user.c > index 350eed4182..55c813333a 100644 > --- a/drivers/net/virtio/virtio_user/vhost_user.c > +++ b/drivers/net/virtio/virtio_user/vhost_user.c > @@ -51,7 +51,7 @@ struct vhost_user_msg { > (sizeof(struct vhost_user_msg) - VHOST_USER_HDR_SIZE) > > static int > -vhost_user_write(int fd, void *buf, int len, int *fds, int fd_num) > +vhost_user_write(int fd, struct vhost_user_msg *msg, int *fds, int fd_num) > { > int r; > struct msghdr msgh; > @@ -63,8 +63,8 @@ vhost_user_write(int fd, void *buf, int len, int *fds, int > fd_num) > memset(&msgh, 0, sizeof(msgh)); > memset(control, 0, sizeof(control)); > > - iov.iov_base = (uint8_t *)buf; > - iov.iov_len = len; > + iov.iov_base = (uint8_t *)msg; > + iov.iov_len = VHOST_USER_HDR_SIZE + msg->size; > > msgh.msg_iov = &iov; > msgh.msg_iovlen = 1; > @@ -259,7 +259,6 @@ vhost_user_sock(struct virtio_user_dev *dev, > int has_reply_ack = 0; > int fds[VHOST_MEMORY_MAX_NREGIONS]; > int fd_num = 0; > - int len; > int vhostfd = dev->vhostfd; > > RTE_SET_USED(m); > @@ -364,8 +363,7 @@ vhost_user_sock(struct virtio_user_dev *dev, > return -1; > } > > - len = VHOST_USER_HDR_SIZE + msg.size; > - if (vhost_user_write(vhostfd, &msg, len, fds, fd_num) < 0) { > + if (vhost_user_write(vhostfd, &msg, fds, fd_num) < 0) { > PMD_DRV_LOG(ERR, "%s failed: %s", > vhost_msg_strings[req], strerror(errno)); > return -1; > -- > 2.29.2 Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
diff --git a/drivers/net/virtio/virtio_user/vhost_user.c b/drivers/net/virtio/virtio_user/vhost_user.c index 350eed4182..55c813333a 100644 --- a/drivers/net/virtio/virtio_user/vhost_user.c +++ b/drivers/net/virtio/virtio_user/vhost_user.c @@ -51,7 +51,7 @@ struct vhost_user_msg { (sizeof(struct vhost_user_msg) - VHOST_USER_HDR_SIZE) static int -vhost_user_write(int fd, void *buf, int len, int *fds, int fd_num) +vhost_user_write(int fd, struct vhost_user_msg *msg, int *fds, int fd_num) { int r; struct msghdr msgh; @@ -63,8 +63,8 @@ vhost_user_write(int fd, void *buf, int len, int *fds, int fd_num) memset(&msgh, 0, sizeof(msgh)); memset(control, 0, sizeof(control)); - iov.iov_base = (uint8_t *)buf; - iov.iov_len = len; + iov.iov_base = (uint8_t *)msg; + iov.iov_len = VHOST_USER_HDR_SIZE + msg->size; msgh.msg_iov = &iov; msgh.msg_iovlen = 1; @@ -259,7 +259,6 @@ vhost_user_sock(struct virtio_user_dev *dev, int has_reply_ack = 0; int fds[VHOST_MEMORY_MAX_NREGIONS]; int fd_num = 0; - int len; int vhostfd = dev->vhostfd; RTE_SET_USED(m); @@ -364,8 +363,7 @@ vhost_user_sock(struct virtio_user_dev *dev, return -1; } - len = VHOST_USER_HDR_SIZE + msg.size; - if (vhost_user_write(vhostfd, &msg, len, fds, fd_num) < 0) { + if (vhost_user_write(vhostfd, &msg, fds, fd_num) < 0) { PMD_DRV_LOG(ERR, "%s failed: %s", vhost_msg_strings[req], strerror(errno)); return -1;
This patch makes vhost_user_write() consistent with vhost_user_read(), by passing a Vhost-user message pointer instead of a buffer pointer and its length, which is now calculated in the function. Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> --- drivers/net/virtio/virtio_user/vhost_user.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-)