bus/vdev: add warning for duplicated vdev name
Checks
Commit Message
If duplicated vdev name is detected, print out a warning message.
Signed-off-by: Yahui Cao <yahui.cao@intel.com>
---
drivers/bus/vdev/vdev.c | 2 ++
1 file changed, 2 insertions(+)
Comments
29/11/2018 08:16, Yahui Cao:
> If duplicated vdev name is detected, print out a warning message.
>
> Signed-off-by: Yahui Cao <yahui.cao@intel.com>
> ---
> drivers/bus/vdev/vdev.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/bus/vdev/vdev.c b/drivers/bus/vdev/vdev.c
> index 9c66bdc78..ff2db7d3f 100644
> --- a/drivers/bus/vdev/vdev.c
> +++ b/drivers/bus/vdev/vdev.c
> @@ -462,6 +462,8 @@ vdev_scan(void)
> if (find_vdev(devargs->name)) {
> rte_spinlock_recursive_unlock(&vdev_device_list_lock);
> free(dev);
> + VDEV_LOG(WARNING, "duplicated vdev name %s detected!",
> + devargs->name);
> continue;
> }
I'm surprised there is nothing to prevent from creating 2 vdevs
with the same name. It should be considered as an error
and reject the vdev creation.
On Wed, Dec 19, 2018 at 03:26:36AM +0100, Thomas Monjalon wrote:
> 29/11/2018 08:16, Yahui Cao:
> > If duplicated vdev name is detected, print out a warning message.
> >
> > Signed-off-by: Yahui Cao <yahui.cao@intel.com>
> > ---
> > drivers/bus/vdev/vdev.c | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/drivers/bus/vdev/vdev.c b/drivers/bus/vdev/vdev.c
> > index 9c66bdc78..ff2db7d3f 100644
> > --- a/drivers/bus/vdev/vdev.c
> > +++ b/drivers/bus/vdev/vdev.c
> > @@ -462,6 +462,8 @@ vdev_scan(void)
> > if (find_vdev(devargs->name)) {
> > rte_spinlock_recursive_unlock(&vdev_device_list_lock);
> > free(dev);
> > + VDEV_LOG(WARNING, "duplicated vdev name %s detected!",
> > + devargs->name);
> > continue;
> > }
>
> I'm surprised there is nothing to prevent from creating 2 vdevs
> with the same name. It should be considered as an error
> and reject the vdev creation.
>
>
Actually it does skip the creation of vdev with the same name. Is it
enough to return error from vdev_scan(), or even return error from
rte_bus_scan()? Please give some advice.
On Thu, 29 Nov 2018 15:16:08 +0800
Yahui Cao <yahui.cao@intel.com> wrote:
> If duplicated vdev name is detected, print out a warning message.
>
> Signed-off-by: Yahui Cao <yahui.cao@intel.com>
> ---
> drivers/bus/vdev/vdev.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/bus/vdev/vdev.c b/drivers/bus/vdev/vdev.c
> index 9c66bdc78..ff2db7d3f 100644
> --- a/drivers/bus/vdev/vdev.c
> +++ b/drivers/bus/vdev/vdev.c
> @@ -462,6 +462,8 @@ vdev_scan(void)
> if (find_vdev(devargs->name)) {
> rte_spinlock_recursive_unlock(&vdev_device_list_lock);
> free(dev);
> + VDEV_LOG(WARNING, "duplicated vdev name %s detected!",
> + devargs->name);
> continue;
> }
>
Do you have an example of this?
It should be an error and have the scan fail.
@@ -462,6 +462,8 @@ vdev_scan(void)
if (find_vdev(devargs->name)) {
rte_spinlock_recursive_unlock(&vdev_device_list_lock);
free(dev);
+ VDEV_LOG(WARNING, "duplicated vdev name %s detected!",
+ devargs->name);
continue;
}