[dpdk-dev] vhost: fix return avail ring position in get vring base

Message ID 20180209172821.9240-1-tomaszx.kulasek@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Maxime Coquelin
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Tomasz Kulasek Feb. 9, 2018, 5:28 p.m. UTC
  According to the "Vhost-user Protocol" document,
VHOST_USER_GET_VRING_BASE should get the available vring base offset.

Fixes: 8f972312b8f4 ("vhost: support vhost-user")
Cc: huawei.xie@intel.com
Cc: stable@dpdk.org

Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
Signed-off-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
---
 lib/librte_vhost/vhost_user.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
  

Comments

Jianfeng Tan Feb. 11, 2018, 4:09 a.m. UTC | #1
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Tomasz Kulasek
> Sent: Saturday, February 10, 2018 1:28 AM
> To: yliu@fridaylinux.org
> Cc: dev@dpdk.org; Xie, Huawei; stable@dpdk.org; Wodkowski, PawelX
> Subject: [dpdk-dev] [PATCH] vhost: fix return avail ring position in get vring
> base
> 
> According to the "Vhost-user Protocol" document,
> VHOST_USER_GET_VRING_BASE should get the available vring base offset.
> 
> Fixes: 8f972312b8f4 ("vhost: support vhost-user")
> Cc: huawei.xie@intel.com
> Cc: stable@dpdk.org
> 
> Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
> Signed-off-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>

Reviewed-by: Jianfeng Tan <jianfeng.tan@intel.com>

Nice catch!

> ---
>  lib/librte_vhost/vhost_user.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c
> index 65ee33919..04eee3a3a 100644
> --- a/lib/librte_vhost/vhost_user.c
> +++ b/lib/librte_vhost/vhost_user.c
> @@ -881,8 +881,8 @@ vhost_user_get_vring_base(struct virtio_net *dev,
> 
>  	dev->flags &= ~VIRTIO_DEV_READY;
> 
> -	/* Here we are safe to get the last used index */
> -	msg->payload.state.num = vq->last_used_idx;
> +	/* Here we are safe to get the last avail index */
> +	msg->payload.state.num = vq->last_avail_idx;
> 
>  	RTE_LOG(INFO, VHOST_CONFIG,
>  		"vring base idx:%d file:%d\n", msg->payload.state.index,
> --
> 2.14.1
  
Maxime Coquelin Feb. 21, 2018, 8:29 a.m. UTC | #2
On 02/09/2018 06:28 PM, Tomasz Kulasek wrote:
> According to the "Vhost-user Protocol" document,
> VHOST_USER_GET_VRING_BASE should get the available vring base offset.
> 
> Fixes: 8f972312b8f4 ("vhost: support vhost-user")
> Cc:huawei.xie@intel.com
> Cc:stable@dpdk.org
> 
> Signed-off-by: Pawel Wodkowski<pawelx.wodkowski@intel.com>
> Signed-off-by: Tomasz Kulasek<tomaszx.kulasek@intel.com>
> ---
>   lib/librte_vhost/vhost_user.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)

Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>

And applied to dpdk-next-virtio/master.

Thanks!
Maxime
  
Maxime Coquelin March 2, 2018, 11:09 a.m. UTC | #3
On 02/21/2018 09:29 AM, Maxime Coquelin wrote:
> 
> 
> On 02/09/2018 06:28 PM, Tomasz Kulasek wrote:
>> According to the "Vhost-user Protocol" document,
>> VHOST_USER_GET_VRING_BASE should get the available vring base offset.
>>
>> Fixes: 8f972312b8f4 ("vhost: support vhost-user")
>> Cc:huawei.xie@intel.com
>> Cc:stable@dpdk.org
>>
>> Signed-off-by: Pawel Wodkowski<pawelx.wodkowski@intel.com>
>> Signed-off-by: Tomasz Kulasek<tomaszx.kulasek@intel.com>
>> ---
>>   lib/librte_vhost/vhost_user.c | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
> 
> And applied to dpdk-next-virtio/master.

I changed the commit title to:
vhost: return the right ring index to the master on stop


Please let me know if this is ok for you.

Thanks,
Maxime

> Thanks!
> Maxime
  

Patch

diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c
index 65ee33919..04eee3a3a 100644
--- a/lib/librte_vhost/vhost_user.c
+++ b/lib/librte_vhost/vhost_user.c
@@ -881,8 +881,8 @@  vhost_user_get_vring_base(struct virtio_net *dev,
 
 	dev->flags &= ~VIRTIO_DEV_READY;
 
-	/* Here we are safe to get the last used index */
-	msg->payload.state.num = vq->last_used_idx;
+	/* Here we are safe to get the last avail index */
+	msg->payload.state.num = vq->last_avail_idx;
 
 	RTE_LOG(INFO, VHOST_CONFIG,
 		"vring base idx:%d file:%d\n", msg->payload.state.index,