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