[dpdk-dev] [PATCH] virtio-user: fix backend selection if stat fails

Adrian Moreno amorenoz at redhat.com
Tue Oct 20 12:33:30 CEST 2020



On 10/20/20 11:55 AM, Maxime Coquelin wrote:
> 
> 
> On 10/20/20 11:38 AM, Kevin Traynor wrote:
>> On 20/10/2020 10:11, Maxime Coquelin wrote:
>>>
>>>
>>> On 10/20/20 11:01 AM, Kevin Traynor wrote:
>>>> On 20/10/2020 08:16, Adrian Moreno wrote:
>>>>> If stat fails it means the backend must be vhost-user in server mode
>>>>>
>>>>> Bugzilla ID: 559
>>>>> Fixes: f908b22ea47a ("net/virtio: move backend type selection to ethdev")
>>>>> Cc: stable at dpdk.org
>>>>>
>>>>> Signed-off-by: Adrian Moreno <amorenoz at redhat.com>
>>>>> ---
>>>>>  drivers/net/virtio/virtio_user_ethdev.c | 5 +++--
>>>>>  1 file changed, 3 insertions(+), 2 deletions(-)
>>>>>
>>>>> diff --git a/drivers/net/virtio/virtio_user_ethdev.c b/drivers/net/virtio/virtio_user_ethdev.c
>>>>> index 042665bc0..ce74d08ab 100644
>>>>> --- a/drivers/net/virtio/virtio_user_ethdev.c
>>>>> +++ b/drivers/net/virtio/virtio_user_ethdev.c
>>>>> @@ -560,9 +560,10 @@ virtio_user_backend_type(const char *path)
>>>>>  	struct stat sb;
>>>>>  
>>>>>  	if (stat(path, &sb) == -1) {
>>>>> -		PMD_INIT_LOG(ERR, "Stat fails: %s (%s)\n", path,
>>>>> +		PMD_INIT_LOG(INFO, "Stat fails: %s (%s)\n", path,
>>>>>  			     strerror(errno));
>>>>
>>>> It may be accurate, but a 'fail' in the logs can be confusing for users
>>>> when it is an INFO log and normal operation. Suggest to reword to
>>>> something softer like 'Unable to stat' or 'Not able to get file status'
>>>
>>>
>>> We may want to:
>>> - only return VIRTIO_USER_BACKEND_VHOST_USER if -ENOENT, and log that
>>> we assume this is Vhost-user backend in server mode at INFO level.
>>
>> It will mean that sometimes the backend type is logged and sometimes
>> not, but maybe you make a distinction because there is an assumption
>> being made in this case?
> 
> I agree it would  make sense to log at INFO level for all backend types.
> 
>>> - return VIRTIO_USER_BACKEND_UNKNOWN otherwise and print an error
>>> message with the strerror(errno).
>>>
>>
>> yes, it seems better like that.
>>
Thanks Maxime and Kevin for your feedback and Jiang for testing. I'll send a v2
addressing the comments.


>>> What do you think?
>>>
>>>>> -		return VIRTIO_USER_BACKEND_UNKNOWN;
>>>>> +		/* Must be vhost-user in server mode */
>>>>> +		return VIRTIO_USER_BACKEND_VHOST_USER;
>>>>>  	}
>>>>>  
>>>>>  	if (S_ISSOCK(sb.st_mode)) {
>>>>>
>>>>
>>
> 

-- 
Adrián Moreno



More information about the dev mailing list