What | Removed | Added |
---|---|---|
CC | ronisbr@gmail.com | |
Flags | needinfo?(ronisbr@gmail.com) |
(In reply to Takashi Iwai from comment #3) > The part marked is the problem. In this case, mpt3sas module does exist in > 4.3 kernel but it isn't loaded because 4.3 driver doesn't support yet > mpt2sas devices. dracut still believes it's safe to ignore. Oops. > > That said, dracut can't handle the case where a module is folded into > another. Jup, the module handling (the "hostonly" part) logic is totally broken and flawed for kernel migrations. https://github.com/haraldh/dracut/commit/07a081f352497258862ae164d11d9e6dc2c5b959 solved some of the issues, but most still remain... The source of this issue is that > # check if module is loaded > [[ ${host_modules["$_modenc"]} ]] && return 0 does not trigger for mpt3sas, as host_modules does not contain aliases. I'd say that it should be replaced by > # check if module could be loaded. > # If not, it's either new or already loaded -> install it! > [[ $(/usr/sbin/modprobe -nv "$_mod" 2>/dev/null | wc -l) -eq 0 ]] && return 0 Adding aliases to $host_modules would probably work as well, but that would require parsing the output of modinfo for each module. This way is IMO more obvious and easier. Ronan: Can you test the above? Simply replace the lines in /usr/lib/dracut/dracut-init.sh:1029 and run mkinitrd from the 4.3.3 kernel.