Antonio Feijoo changed bug 1189776
What Removed Added
CC   ohering@suse.com
Flags   needinfo?(ohering@suse.com)

Comment # 2 on bug 1189776 from
> Specifically, it is failing the check_block_and_slaves_all function in dracut-functions.sh 

I was wrong about this guess. Since a certain upstream commit [1], the function
to detect a block device changed from:

-->
[ -e /sys/dev/block/$1 ] && return 0
--<

to

-->
for _mod in $(get_dev_module /dev/block/$1); do
--<

and the get_dev_module relies on udevadm, which fails to detect the nvme driver
in SLE-15 SP3:

virt158:~ # ls -l /dev/block
total 0
lrwxrwxrwx 1 root root 10 Oct  5 05:53 259:1 -> ../nvme0n1
lrwxrwxrwx 1 root root 12 Oct  5 05:53 259:2 -> ../nvme0n1p1
lrwxrwxrwx 1 root root 12 Oct  5 05:53 259:3 -> ../nvme0n1p2
lrwxrwxrwx 1 root root 12 Oct  5 05:53 259:4 -> ../nvme0n1p3
lrwxrwxrwx 1 root root 12 Oct  5 05:53 259:5 -> ../nvme0n1p4
lrwxrwxrwx 1 root root 12 Oct  5 05:53 259:6 -> ../nvme0n1p5
virt158:~ # udevadm info -a "/dev/block/259:5" | sed -n
's/\s*DRIVERS=="\(\S\+\)"/\1/p'
virt158:~ # udevadm info -a "/dev/block/259:2" | sed -n
's/\s*DRIVERS=="\(\S\+\)"/\1/p'
virt158:~ # udevadm info -a "/dev/block/259:3" | sed -n
's/\s*DRIVERS=="\(\S\+\)"/\1/p'
virt158:~ # udevadm --version
246

But for me the check works in Tumbleweed and the initrd includes the nvme
driver:

dev@localhost:~/src/dracut/test> ls -l /dev/block
lrwxrwxrwx 1 root root 10 Oct  6 09:21 259:0 -> ../nvme0n1
lrwxrwxrwx 1 root root 12 Oct  6 09:21 259:1 -> ../nvme0n1p1
dev@localhost:~/src/dracut/test> udevadm info -a "/dev/block/259:1" | sed -n
's/\s*DRIVERS=="\(\S\+\)"/\1/p'
nvme
dev@localhost:~/src/dracut/test> udevadm --version
249

Please, could you check if this still fails with the latest snapshot of
Tumbleweed?

[1]
https://github.com/dracutdevs/dracut/commit/6375d5d504c5eac1cc5e7d7e26a8643b7e7e1b3b


You are receiving this mail because: