Skip to content

Fix issues with RAID1 metadata 1.0 partitions on IEEE1275#212

Open
Rolv-Apneseth wants to merge 2 commits into
rhboot:fedora-44from
Rolv-Apneseth:fix_ppc_raid1
Open

Fix issues with RAID1 metadata 1.0 partitions on IEEE1275#212
Rolv-Apneseth wants to merge 2 commits into
rhboot:fedora-44from
Rolv-Apneseth:fix_ppc_raid1

Conversation

@Rolv-Apneseth
Copy link
Copy Markdown

I'm here from coreos/fedora-coreos-tracker#2134, where the relevant context for this PR is in coreos/fedora-coreos-tracker#2134 (comment).

This PR contains 2 commits, which when combined fix the issue we're encountering with metadata 1.0 RAID1 arrays on ppc64le on Fedora CoreOS. Additional context can be found in the comment linked above, and in the individual commits, but for a brief overview (both specific to PowerPC):

  1. Avoid skipping detection of metadata 1.0 partitions in userspace utilities, since the skip was only introduced to avoid firmware issues
  2. In grub-install, use search.fs_uuid for RAID1 instead of hard-coding the mduuid prefix, which requires array assembly at boot (and hence can hit the metadata 1.0 skip)

Theoretically these changes should only affect PowerPC RAID1, but I did test that this didn't break boot on x86 or aarch64 (ran our various boot tests with builds including the patched rpm). And with these patches, all our tests pass on PowerPC.

Please let me know if there are any issues, or there are additional checks/tests you would like me to run.

@lsandov1
Copy link
Copy Markdown
Contributor

lsandov1 commented May 19, 2026

There must be an empty newline between commit subject and description, so please fix it. Otherwise LGTM

@nfrayer can you also take a look please?

The powerpc guard in grub_mdraid_detect skips metadata 1.0 to avoid a
firmware block issue, but also ends up applying to userspace utilities
where reads will be going through the kernel. Extend the conditional
with !defined(GRUB_UTIL) so utilities like grub-install can detect
metadata 1.0 arrays.

Signed-off-by: Rolv Apneseth <rolv.apneseth@gmail.com>
On IEEE1275, grub-install hardcodes an mduuid prefix for RAID
abstractions, requiring array assembly at boot. This fails on metadata
1.0 partitions because detection is skipped due to a firmware issue.

Since RAID1 mirrors are individually readable, use search.fs_uuid on
IEEE1275 to find the boot filesystem on any member partition and avoid
requiring array assembly.

Signed-off-by: Rolv Apneseth <rolv.apneseth@gmail.com>
@nfrayer
Copy link
Copy Markdown
Contributor

nfrayer commented May 19, 2026

lgtm !

@Rolv-Apneseth
Copy link
Copy Markdown
Author

Thanks for the reviews! I believe I've addressed the newline between commit subject and description but let me know if there's anything else

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants