#1130781 Regression: MDRAID 1.2 superblock created in Kernel 6.19 is rejected by older kernels (-EINVAL)

#1130781#5
Date:
2026-03-15 05:40:46 UTC
From:
To:
Description:
We have identified a forward-compatibility regression in the md
subsystem introduced between Linux Kernel 6.18 and 6.19. When creating a
standard RAID 1 array using mdadm, the resulting superblock generated
under Kernel 6.19 is violently rejected by older enterprise Linux
kernels (e.g., older LTS kernels with version 6.1) with an -EINVAL
argument error during assembly.

A strict A/B test was performed using Debian Live (based on Sid)
environments. The exact same version of mdadm (4.5-5) and the exact same
creation command was used in both environments:
mdadm --create "/dev/md127" --force --run --level=raid1 --raid-devices=2
--metadata=1.2 --data-offset=34816 --bitmap=internal --assume-clean 
/dev/nvme0n1p2 /dev/nvme1n1p2

Test 1 (Success):
* Environment: Kernel 6.18.15+deb14-amd64
* Result: Array creates successfully. When the machine reboots into the
older guest OS, the legacy kernel assembles the array normally.

Test 2 (Failure/Regression):
* Environment: Kernel 6.19.6+deb14-amd64
* Result: Array creates successfully in the live environment. However,
when the machine reboots into the older guest OS, the legacy kernel
rejects the component drives with:
   mdadm: failed to add /dev/nvme1n1p2 to /dev/md/0: Invalid argument.
   mdadm: failed to add /dev/nvme0n1p2 to /dev/md/0: Invalid argument.
   mdadm: /dev/md0 assembled from 0 drives

Conclusion:
Kernel 6.19 appears to be injecting a new feature flag, modifying the
bitmap format, or altering the superblock structure during creation in a
way that older md_mod drivers cannot parse, breaking backward
compatibility for disaster recovery tools restoring older operating systems.

Steven