[CentOS-virt] kernel 4.9.86-30 missing mpt2sas module

Tue Mar 6 17:45:43 UTC 2018
Akemi Yagi <amyagi at gmail.com>

On Tue, Mar 6, 2018 at 7:27 AM, T.Weyergraf <T.Weyergraf at virtfinity.de> wrote:
> Hi
>
> I am attempting to setup Xen 4.10 with kernel 4.9.86-30 (
> virt7-xen-410-testing, virt7-common-testing ) on CentOS7
> After installing everything, the machine was unable to boot and hung in
> dracut stating it could not find its root device.
>
> The testsystem I use is a somewhat aged Dell M915 Blade (Quad opteron 61xx),
> using an MPT SAS controller for it's SAS boot drives. Stock CentOS 7 reports
> mpt2sas module being used to access the controller.
> That module is not present in the modules directory of the 4.9.86:
>
> 4.9.86-30:
> # pwd
> /lib/modules/4.9.86-30.el7.x86_64
> # find . -name "*mpt2*" -print
> #
>
> stock 3.10.0-693:
> # pwd
> /lib/modules/3.10.0-693.el7.x86_64
> # find . -name "*mpt2*" -print
> ./kernel/drivers/scsi/mpt3sas/mpt2sas.ko.xz
>
> The fun part is, that according to the shipped config, it should be there:
> # grep MPT2 /boot/config-4.9.86-30.el7.x86_64
> CONFIG_SCSI_MPT2SAS_MAX_SGE=128
> CONFIG_SCSI_MPT2SAS=m
>
> Any idea, what happened? I will try myself to build a new kernel from the
> corresponding source package to check, what went wrong.

In newer kernels (such as 4.9), the way the mpt2[3]sas driver is
provided has changed.

In the distro kernel config:

SCSI_MPT3SAS -> SAS 3.0 driver
SCSI_MPT2SAS -> SAS 2.0 driver

In the 4.x kernel config:

SCSI_MPT3SAS -> SAS 3.0 and SAS 2.0 device driver
SCSI_MPT2SAS -> Legacy MPT2SAS config option

config SCSI_MPT2SAS
        tristate "Legacy MPT2SAS config option"
        default n
        select SCSI_MPT3SAS
        depends on PCI && SCSI
        ---help---
        Dummy config option for backwards compatiblity: configure the MPT3SAS
        driver instead.

Therefore I suggest you try using the mpt3sas module. You can check to
see if your device is supported by the device ID paring (see lspci
-nn).

Akemi