grub2 fails to install/probe into md device when drives have moved around

Bug #1912043 reported by Kees Cook
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
grub2 (Ubuntu)
New
Undecided
Unassigned

Bug Description

grub2 appears to _sometimes_ ignore md devices with a hot spare:

$ cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md5 : active raid1 sda2[0](S) sdb2[1] sde2[2]
      2925939136 blocks super 1.2 [2/2] [UU]
      bitmap: 2/22 pages [8KB], 65536KB chunk

md6 : active raid1 sdf2[0] sdd2[2](S) sdk2[1]
      3902691136 blocks super 1.2 [2/2] [UU]
      bitmap: 1/30 pages [4KB], 65536KB chunk

unused devices: <none>

$ sudo grub-probe -vvv / 2>&1 | grep -E 'info: Inserting md/|error'
grub-probe: info: Inserting md/6 (+0,7805382272) into systemvg (lvm)
grub-probe: error: disk `lvmid/5R9E1M-V0xL-pEsR-74zV-3oOm-JorM-hb2Erw/WHUtMx-lZcd-2RmH-WVSk-Z0Et-qiqS-hFBd4u' not found.

If I remove the hotspare from md5, everything works normally and I can install grub again.

And if devices have moved around enough internally that the internal index doesn't match the max count any more, they also become invisible to grub. For example:

$ cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md5 : active raid1 sdb2[3] sde2[4]
      2925939136 blocks super 1.2 [2/2] [UU]
      bitmap: 2/22 pages [8KB], 65536KB chunk

Note the "[3]" and "[4]". Unlike mdadm, grub was not checking beyond the array size. This needs fixing as well.

Tags: patch
Kees Cook (kees)
summary: - grub2 fails to install/probe into md device with hot spare
+ grub2 fails to install/probe into md device with first drive not active
+ (i.e. hot spare)
Revision history for this message
Kees Cook (kees) wrote : Re: grub2 fails to install/probe into md device with first drive not active (i.e. hot spare)
Revision history for this message
Kees Cook (kees) wrote :
tags: added: patch
Revision history for this message
Kees Cook (kees) wrote :

Also need to fix the indexing.

Kees Cook (kees)
summary: - grub2 fails to install/probe into md device with first drive not active
- (i.e. hot spare)
+ grub2 fails to install/probe into md device when drives have moved
+ around
description: updated
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.