Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.kernel > #91668 > unrolled thread

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

Started bySteven Shiau <steven@spider.nchc.org.tw>
First post2026-03-15 05:00 +0100
Last post2026-03-19 14:20 +0100
Articles 5 — 4 participants

Back to article view | Back to linux.debian.kernel


Contents

  Bug#1130775: Regression: MDRAID 1.2 superblock created in Kernel 6.19 is rejected by older kernels (-EINVAL) Steven Shiau <steven@spider.nchc.org.tw> - 2026-03-15 05:00 +0100
    Bug#1130775: Regression: MDRAID 1.2 superblock created in Kernel 6.19 is rejected by older kernels (-EINVAL) Salvatore Bonaccorso <carnil@debian.org> - 2026-03-15 09:00 +0100
    Processed: Re: Bug#1130775: Regression: MDRAID 1.2 superblock  created in Kernel 6.19 is rejected by older kernels (-EINVAL) "Debian Bug Tracking System" <owner@bugs.debian.org> - 2026-03-15 09:00 +0100
    Bug#1130775: Regression: MDRAID 1.2 superblock created in Kernel 6.19 is rejected by older kernels (-EINVAL) Steven Shiau <steven.shiau@niar.org.tw> - 2026-03-19 14:20 +0100
    Bug#1130775: Regression: MDRAID 1.2 superblock created in Kernel 6.19 is rejected by older kernels (-EINVAL) Steven Shiau <steven.shiau@niar.org.tw> - 2026-03-19 14:20 +0100

#91668 — Bug#1130775: Regression: MDRAID 1.2 superblock created in Kernel 6.19 is rejected by older kernels (-EINVAL)

FromSteven Shiau <steven@spider.nchc.org.tw>
Date2026-03-15 05:00 +0100
SubjectBug#1130775: Regression: MDRAID 1.2 superblock created in Kernel 6.19 is rejected by older kernels (-EINVAL)
Message-ID<MyKNY-7Bmp-3@gated-at.bofh.it>
Package: src:linux
Version: 6.19.6+deb14-amd64
Severity: important

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

[toc] | [next] | [standalone]


#91671

FromSalvatore Bonaccorso <carnil@debian.org>
Date2026-03-15 09:00 +0100
Message-ID<MyOye-7E1P-11@gated-at.bofh.it>
In reply to#91668
Control: tags -1 + upstream
Control: forwarded -1 https://lore.kernel.org/all/b3e941b0-38d1-4809-a386-34659a20415e@gmail.com/

Hi,

On Sun, Mar 15, 2026 at 11:28:53AM +0800, Steven Shiau wrote:
> Package: src:linux
> Version: 6.19.6+deb14-amd64
> Severity: important
> 
> 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.

I believe this is the same as reported upstream in
https://lore.kernel.org/all/b3e941b0-38d1-4809-a386-34659a20415e@gmail.com/

In my understanding it was decided that that new created arrays will
not be possible to assemble with older kernels. Future stable series
kernels might get an additional patch to make it possible that array
with default lbs can be still assembled again in old kernels.

Regards,
Salvatore

[toc] | [prev] | [next] | [standalone]


#91672 — Processed: Re: Bug#1130775: Regression: MDRAID 1.2 superblock created in Kernel 6.19 is rejected by older kernels (-EINVAL)

From"Debian Bug Tracking System" <owner@bugs.debian.org>
Date2026-03-15 09:00 +0100
SubjectProcessed: Re: Bug#1130775: Regression: MDRAID 1.2 superblock created in Kernel 6.19 is rejected by older kernels (-EINVAL)
Message-ID<MyOye-7E1P-9@gated-at.bofh.it>
In reply to#91668
Processing control commands:

> tags -1 + upstream
Bug #1130775 [src:linux] Regression: MDRAID 1.2 superblock created in Kernel 6.19 is rejected by older kernels (-EINVAL)
Bug #1130781 [src:linux] Regression: MDRAID 1.2 superblock created in Kernel 6.19 is rejected by older kernels (-EINVAL)
Ignoring request to alter tags of bug #1130775 to the same tags previously set
Ignoring request to alter tags of bug #1130781 to the same tags previously set
> forwarded -1 https://lore.kernel.org/all/b3e941b0-38d1-4809-a386-34659a20415e@gmail.com/
Bug #1130775 [src:linux] Regression: MDRAID 1.2 superblock created in Kernel 6.19 is rejected by older kernels (-EINVAL)
Bug #1130781 [src:linux] Regression: MDRAID 1.2 superblock created in Kernel 6.19 is rejected by older kernels (-EINVAL)
Set Bug forwarded-to-address to 'https://lore.kernel.org/all/b3e941b0-38d1-4809-a386-34659a20415e@gmail.com/'.
Set Bug forwarded-to-address to 'https://lore.kernel.org/all/b3e941b0-38d1-4809-a386-34659a20415e@gmail.com/'.

-- 
1130775: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1130775
1130781: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1130781
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems

[toc] | [prev] | [next] | [standalone]


#91749

FromSteven Shiau <steven.shiau@niar.org.tw>
Date2026-03-19 14:20 +0100
Message-ID<MAls6-8HNW-5@gated-at.bofh.it>
In reply to#91668

[Multipart message — attachments visible in raw view] — view raw

Marcos,

Thanks for your reply.

> Yes, it's related to this, most likely:
> md0: echo current LBS to md/logical_block_size to prevent data loss issues
> from LBS changes.
>                 Note: After setting, array will not be assembled in old
> kernels (<= 6.18)
>
> So, if you create a new one it will have the md/logical_block_size already
> set. Is there no warning when creating a new md array in 6.19?
Not really. The command I ran:
$ yes | mdadm --create "/dev/md127" --force --run --level=raid1 
--raid-devices=2 --metadata=1.2 --data-offset=34816s 
--uuid=1516103a-450f-4954-ac48-6b1151d13e63 --name=astra_0 
  /dev/nvme1n1p2 /dev/nvme0n1p2 --assume-clean
mdadm: array /dev/md127 started.
$ uname -r
6.19.8+deb14-amd64

You can see it just showed me the array was started without any warning.

-- 
Steven Shiau <steven _at_ stevenshiau org>
Public Key Server PGP Key ID: 4096R/163E3FB0
Fingerprint: EB1D D5BF 6F88 820B BCF5  356C 8E94 C9CD 163E 3FB0

[toc] | [prev] | [next] | [standalone]


#91750

FromSteven Shiau <steven.shiau@niar.org.tw>
Date2026-03-19 14:20 +0100
Message-ID<MAls6-8HNW-7@gated-at.bofh.it>
In reply to#91668

[Multipart message — attachments visible in raw view] — view raw

Salvatore,

> I believe this is the same as reported upstream in
> https://lore.kernel.org/all/b3e941b0-38d1-4809-a386-34659a20415e@gmail.com/
>
> In my understanding it was decided that that new created arrays will
> not be possible to assemble with older kernels. Future stable series
> kernels might get an additional patch to make it possible that array
> with default lbs can be still assembled again in old kernels.
>
Got it. Thank you very much for the info.

-- 
Steven Shiau <steven _at_ stevenshiau org>
Public Key Server PGP Key ID: 4096R/163E3FB0
Fingerprint: EB1D D5BF 6F88 820B BCF5  356C 8E94 C9CD 163E 3FB0

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.kernel


csiph-web