Re: [PATCH] dm: add module parameter bdev_wait

From: Christoph Hellwig
Date: Wed Oct 27 2021 - 02:55:52 EST


On Fri, Oct 22, 2021 at 02:47:47PM +0800, Mark-PK Tsai wrote:
> dm_early_create() fail if the target block device not found in
> the late init stage.
> The block device is created in mmc_rescan() which kernel do
> it async by queue it into system_freezable_wq.
> Add module param bdev_wait to support waiting the block device
> ready before dm_early_create() like prepare_namespace() does.

This adds a busy loop. There is a reason why we usually set up
stacking drivers from userspace, in that we have a working event
system there. So the answer is not to add further hacks to the
in-kernel DM setup hack, but to stop using it.