IMSM (Intel Matrix Storage Manager) device is not detected by 6.6.x/6.7.x but works in 5.19.17

From: Aleksey Midenkov
Date: Mon Feb 05 2024 - 12:18:21 EST


In 6.x.x /dev/md/imsm0 does not appear at boot.
The only difference I see in dmesg which seems to be relevant:

block device autoloading is deprecated and will be removed.

Printed in 5.x.x, but not in 6.x.x.

/proc/mdstat in 5.x.x:

Personalities : [raid0] [linear] [multipath] [raid1] [raid6] [raid5]
[raid4] [raid10]
md126 : active raid0 sdb[1] sda[0]
937698304 blocks super external:/md127/0 128k chunks

md127 : inactive sdb[1](S) sda[0](S)
4784 blocks super external:imsm

/proc/mdstat in 6.x.x:

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5]
[raid4] [raid10]
unused devices: <none>

Kernel config is the same regarding MD and RAID. Trying to manually
assemble RAID in 6.x.x leads to:

mdadm: looking for devices for /dev/md0
mdadm: No OROM/EFI properties for /dev/sda
mdadm: no RAID superblock on /dev/sda
mdadm: /dev/sda has no superblock - assembly aborted

While superblock is correctly displayed by 6.x.x as well:

/dev/sda:
Magic : Intel Raid ISM Cfg Sig.
Version : 1.0.00
Orig Family : 38d93728
Family : 38d93728
Generation : 0000018b
Creation Time : Unknown
Attributes : All supported
UUID : b762ef98:7900e4ea:f6395076:47a40d15
Checksum : 4c2193cc correct
MPB Sectors : 1
Disks : 2
RAID Devices : 1

Disk01 Serial : YG952401WA480BGN
State : active
Id : 00000000
Usable Size : 937698304 (447.13 GiB 480.10 GB)

[Vortex]:
Subarray : 0
UUID : b41d5d94:b2438127:629eca5c:4a65945a
RAID Level : 0
Members : 2
Slots : [UU]
Failed disk : none
This Slot : 1
Sector Size : 512
Array Size : 1875396608 (894.26 GiB 960.20 GB)
Per Dev Size : 937698568 (447.13 GiB 480.10 GB)
Sector Offset : 0
Num Stripes : 3662884
Chunk Size : 128 KiB
Reserved : 0
Migrate State : idle
Map State : normal
Dirty State : clean
RWH Policy : off
Volume ID : 1

Disk00 Serial : YG952300KC480BGN
State : active
Id : 00000001
Usable Size : 937698304 (447.13 GiB 480.10 GB)

Any info on what happened with IMSM driver in 6.x.x?

I guess CONFIG_MD_AUTODETECT is responsible for that, which is Y in
both kernels (as well as CONFIG_BLOCK_LEGACY_AUTOLOAD).
--
@midenok