Need to update for XFS crc=1 (non-default) on-disk format change

Bug #1424123 reported by Peter Cordes
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
grub2 (Fedora)
Fix Released
Undecided
grub2 (Ubuntu)
Fix Released
Low
Unassigned

Bug Description

Filing a note here in case I forget later.

It looks like GRUB (2.02-beta2-15) in 14.10 doesn't support XFS's new on-disk metadata format that has CRCs. (rationale: https://www.kernel.org/doc/Documentation/filesystems/xfs-self-describing-metadata.txt)

mkfs.xfs -m crc=1,finobt=1 /dev/sdXY creates an XFS with the new on-disk format. This is NOT the default, and probably won't be until kernel support for it has been in distros for a while.

redhat bug with some patches from Dec 2014:
https://bugzilla.redhat.com/show_bug.cgi?id=1001279

I haven't yet dug up any changelogs about those patches getting merged into GRUB's upstream git repo.

If there's a PPA, or an easy way to build a .deb from git master (or some other way I can easily test git master on an Ubuntu system), I'd be interested and willing to test this.

Testing confirms that xfs crc support was the issue. I made two plain non-MD partitions to take that out of the equation. I formatted one with XFS defaults, and the other with XFS crc. I copied my fresh ubuntu install into each one. I did grub-install /dev/sda while chrooted into the non-crc xfs, and grub-install /dev/sdb in the CRC one. Booting from sda worked fine.

Booting from sdb (I can tell them apart in the bios boot menu easily, because they're not the same make), I was dropped into the grub rescue shell. I could use grub's ls to see data on the non-crc partition, but not on the crc partition. So it's clear that GRUB doesn't understand the new XFS metadata v5 format.

Revision history for this message
In , Eric (eric-redhat-bugs) wrote :

From the XFS list:

> Just a heads-up: GRUB currently doesn't work on a CRC enabled
> file-system. It will print the following error message:
> "not a correct XFS inode"

This format is still WIP upstream, but we should probably have the issue on the RHEL7 radar since we plan to default to XFS even for /boot.

A simple workaround would be to not enable CRCs for the root fs; this may be done by default in any case.

So this bug may be a WONTFIX or NOTABUG, but I figured we should at least log the issue.

Thanks,
-Eric

Revision history for this message
In , Ric (ric-redhat-bugs) wrote :

We probably do want this support in though - I can imagine we might not always need a broken out /boot?

Revision history for this message
In , Peter (peter-redhat-bugs) wrote :

At the very least can we get a pointer here to some details about the FS feature?

Revision history for this message
In , Eric (eric-redhat-bugs) wrote :

on-disk format stuff has recently been coalesced into libxfs/xfs_format.h

http://oss.sgi.com/cgi-bin/gitweb.cgi?p=xfs/xfs.git;a=blob;f=fs/xfs/libxfs/xfs_format.h

Other than that, we maybe need to do some buddy coding to do this, as I don't think either grub2 or xfs has great up-to-date documentation...

For starters I assume grub2 could just grok new formats, but skip the actual CRC verification... things haven't changed *that* much.

-Eric

Revision history for this message
In , Zach (zach-redhat-bugs) wrote :

https://www.google.com/search?q=add+grub2+support+for+xfs+crc

https://<email address hidden>/msg1288553.html

wget http://download.opensuse.org/repositories/Base:/System/openSUSE_Factory/src/grub2-2.02~beta2-201.4.src.rpm

rpm2cpio grub2-2.02~beta2-201.4.src.rpm | cpio -id

ls *xfs*

grub2-xfs-Add-helper-for-inode-size.patch
grub2-xfs-Convert-inode-numbers-to-cpu-endianity-immediate.patch
grub2-xfs-Fix-termination-loop-for-directory-iteration.patch
grub2-xfs-V5-filesystem-format-support.patch

description: updated
Revision history for this message
Peter Cordes (peter-cordes) wrote :

This will get fixed upstream at some point for sure, so having the bug here is probably only useful as a reminder to check that we have an updated-enough GRUB before the next release, or next LTS release at worst.

description: updated
Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

Setting to Triaged/Low, since it's not currently a default in any kind of way. I'll review/test the patches and try to upstream them.

Changed in grub2 (Ubuntu):
status: New → Triaged
importance: Undecided → Low
Revision history for this message
In , Peter (peter-redhat-bugs) wrote :

*** Bug 1220844 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Winfrid (winfrid-redhat-bugs) wrote :

I have tested grub2-2.02-0.23.fc23.x86_64 installed on an Fedora 21

I succeeded in booting a CentOS 7 with XFS from the fedora boot menu,
but I still cannot boot a SLED 12 with XFS from the fedora boot menu.

Using my openSUSE 13.2 I can boot CentOS 7 and SLED 12.

If you need more information, please advise me, how to create a log from grub2.

Revision history for this message
In , errata-xmlrpc (errata-xmlrpc-redhat-bugs) wrote :

Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHSA-2015-2401.html

Changed in grub2 (Fedora):
importance: Unknown → Undecided
status: Unknown → Fix Released
Revision history for this message
Mate Kukri (mkukri) wrote :

This was fixed upstream in 2015

Changed in grub2 (Ubuntu):
status: Triaged → Fix Released
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.