Re: System not booting since dm changes? (was Linux 4.20-rc1)

From: Michael Ellerman
Date: Tue Nov 06 2018 - 19:59:30 EST


Mike Snitzer <snitzer@xxxxxxxxxx> writes:
> On Mon, Nov 05 2018 at 5:25am -0500,
> Michael Ellerman <mpe@xxxxxxxxxxxxxx> wrote:
>
>> Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> writes:
>> ...
>> > Mike Snitzer (1):
>> > device mapper updates
>>
>> Hi Mike,
>>
>> Replying here because I can't find the device-mapper pull or the patch
>> in question on LKML. I guess I should be subscribed to dm-devel.
>>
>> We have a box that doesn't boot any more, bisect points at one of:
>>
>> cef6f55a9fb4 Mike Snitzer dm table: require that request-based DM be layered on blk-mq devices
>> 953923c09fe8 Mike Snitzer dm: rename DM_TYPE_MQ_REQUEST_BASED to DM_TYPE_REQUEST_BASED
>> 6a23e05c2fe3 Jens Axboe dm: remove legacy request-based IO path
>>
>>
>> It's a Power8 system running Rawhide, it does have multipath, but I'm
>> told it was setup by the Fedora installer, ie. nothing fancy.
>>
>> The symptom is the system can't find its root filesystem and drops into
>> the initramfs shell. The dmesg includes a bunch of errors like below:
>>
>> [ 43.263460] localhost multipathd[1344]: sdb: fail to get serial
>> [ 43.268762] localhost multipathd[1344]: mpatha: failed in domap for addition of new path sdb
>> [ 43.268762] localhost multipathd[1344]: uevent trigger error
>> [ 43.282065] localhost kernel: device-mapper: table: table load rejected: not all devices are blk-mq request-stackable
> ...
>>
>> Any ideas what's going wrong here?
>
> "table load rejected: not all devices are blk-mq request-stackable"
> speaks to the fact that you aren't using blk-mq for scsi (aka scsi-mq).
>
> You need to use scsi_mod.use_blk_mq=Y on the kernel commandline (or set
> CONFIG_SCSI_MQ_DEFAULT in your kernel config)

Thanks.

Looks like CONFIG_SCSI_MQ_DEFAULT is default y, so new configs should
pick that up by default. We must have had an old .config that didn't get
that update.

cheers