| Summary: | Kernel 3.8.0 fails to mount XFS filesystems breaking boot and installation | ||
|---|---|---|---|
| Product: | Mageia | Reporter: | Christiaan Welvaart <cjw> |
| Component: | Installer | Assignee: | Thierry Vignaud <thierry.vignaud> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | Normal | CC: | mageia, tmb |
| Version: | Cauldron | ||
| Target Milestone: | --- | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Source RPM: | dracut-023-12.mga3.src.rpm | CVE: | |
| Status comment: | |||
|
Description
Christiaan Welvaart
2013-01-12 23:04:00 CET
I guess you are using cauldron ? :) Version:
2 =>
Cauldron Yes cauldron only, thanks. The problem is not really in xfs.ko but in libcrc32c and is apparently an old issue that won't be solved in the kernel. The new thing is that XFS now uses (lib)crc32c. The problem was reported for btrfs in bug #3214 and can be resolved in dracut. I'm not sure if an additional fix is needed for the installer. Assignee:
tmb =>
mageia Yeah I remember fixing this for btrfs, same can be done with xen I reckon... tho' btrfs is kinda specially handled in dracut, so it might need a more generic fix (i.e. just changing our default config to always include that modules...?) I think I've included an appropriate fix in dracut for this now. Can you please check as I've not got an easy way to test. - dracut-023-14.mga3 installed - old initrd saved - mkinitrd /boot/initrd-3.8.0-desktop-0.rc3.1.mga3.img 3.8.0-desktop-0.rc3.1.mga3 - lilo (with this kernel as default) The system still boots with the right kernel so I think the boot problem is fixed. I have not tried a new install. I believe something like the following patch is needed to get XFS mounts working with the installer + kernel 3.8.0 . Patch not tested.
Index: perl-install/modules.pm
===================================================================
--- perl-install/modules.pm (revision 7107)
+++ perl-install/modules.pm (working copy)
@@ -111,7 +111,7 @@
my @l = map {
if_(member($_, 'plip', @parallel_zip_modules), 'parport_pc'),
if_($_ eq 'vfat', 'nls_cp437', 'nls_iso8859_1'),
- if_($_ eq 'btrfs', 'crc32c', 'crc32c-intel'),
+ if_($_ eq 'btrfs' || $_ eq 'xfs', 'crc32c', 'crc32c-intel'),
dependencies_closure(cond_mapping_24_26($_));
} @$l;Component:
RPM Packages =>
Installer
Thierry Vignaud
2013-01-18 19:34:05 CET
CC:
(none) =>
tmb Fixed in SVN. Colin, Thomas, shouldn't the kernel or udev autoloads the module when needed? Status:
NEW =>
RESOLVED I forgot we run insmod instead of modprobe in installer Since we now include modprobe in drakx for udev, we could as well run modprobe instead of insmod... Yep, I think that would be a good idea, and would help avoiding cases like this Done in SVN. OK, there is actually a bug in my dracut module hack in some setups, but I'll fix that one shortly. |