On 25-04-14, Ahmad Fatoum wrote:
> Multiple devices with the same disk UUID shouldn't happen and if it

Do we need to print a warning to inform the user that two disks share
the same disk-UUID?

Regards,
  Marco

> does, the existing code is not equipped to handle that.
> 
> Change  it, so only the first _disk_ is considered. diskuuid is in a
> union with partuuid and that could lead to cdev partition being taken as
> backend storage instead.
> 
> Signed-off-by: Ahmad Fatoum <a.fat...@pengutronix.de>
> ---
>  drivers/misc/storage-by-uuid.c | 12 ++++++++----
>  1 file changed, 8 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/misc/storage-by-uuid.c b/drivers/misc/storage-by-uuid.c
> index 8b8fd901685e..7bb987dffbec 100644
> --- a/drivers/misc/storage-by-uuid.c
> +++ b/drivers/misc/storage-by-uuid.c
> @@ -143,10 +143,14 @@ static void check_exist(struct sbu *sbu)
>       struct cdev *cdev;
>  
>       for_each_cdev(cdev) {
> -             if (!strcmp(cdev->diskuuid, sbu->uuid)) {
> -                     dev_dbg(sbu->dev, "Found %s %s\n", cdev->name, 
> cdev->diskuuid);
> -                     storage_by_uuid_add_partitions(sbu, cdev);
> -             }
> +             if (cdev_is_partition(cdev))
> +                     continue;
> +             if (strcmp(cdev->diskuuid, sbu->uuid))
> +                     continue;
> +
> +             dev_dbg(sbu->dev, "Found %s %s\n", cdev->name, cdev->diskuuid);
> +             storage_by_uuid_add_partitions(sbu, cdev);
> +             return;
>       }
>  }
>  
> -- 
> 2.39.5
> 
> 
> 

Reply via email to