Re: Re : Query on UFS Lun detection

From: Rob Clark
Date: Thu Jun 10 2021 - 10:48:23 EST


On Thu, Jun 10, 2021 at 6:28 AM <vhiren@xxxxxxxxxxxxxx> wrote:
>
> Hi Community,
>
> We are using UFS as a boot device, and we encountered an error,
> mentioned below while booting through UFS.
>
>
> APPS Crash - Kernel panic - not syncing: VFS: Unable to mount root fs on
> unknown-block(8,7)
>
> Here in Kernel command line we are passing "root=sda7", this is our
> Filesystem partition to be mounted.
>
> While debugging the same we observed the partition which is suppose to
> be mounted as Filesystem is not enumerated itself.
> The reason behind not enumerating of partition is, the other Lun got
> detected first instead of one which is having FS partition.

Use the UUID or PARTUUID instead, ie:

root=UUID=13846802-672b-4a5d-9f0a-22d13957add3

(but you'd have to check the actual UUID of your partition with a tool
like blkid

BR,
-R

> We are using async probe, hence we know the detection will happen in
> async way,
>
>
> In working case : it looks like below
>
> sd 0:0:0:0: sda1 sda2 sda3 sda4 …..sda8
>
> sd 0:0:0:1: sdb1 sdb2
> Here, sd 0:0:0:0 Lun got detected first and enumerated as "sdaN", we
> have FS partition as "sda7" and so we don’t see above mentioned error.
>
>
> In non working case : it looks like below
>
> sd 0:0:0:0: sdb1 sdb2 sdb3 sdb4 …..sdb8
>
> sd 0:0:0:1: sda1 sda2
> Here, sd 0:0:0:1 Lun got detected first and enumerated as "sdaN" but we
> don’t have FS partition in this Lun. Instead FS partition now became
> "sdb7".
>
>
> Observation here is, which ever Lun gets detected first it will have
> "sda" enumeration and so on.
> However, sdx’s driver scsi/sd.c uses async probe to improve performance,
> meaning sdx disks are created in parallel. Whoever calls
> device_add_disk() first becomes sda, the next become sdb….
>
>
> Is there any way, where we can fix this in the Lun detection part of
> code?
>
> Thank You,
> Regards,
> Hiren Gohel