[dm-devel] dm-init.c: boot up race with partitions

Steven Walter steven at stevenwalter.org
Mon Apr 5 21:38:15 UTC 2021


I am using the dm-mod.create kernel command line parameter to create a verity device at boot.  Both the data device and hash device are partitions on an eMMC device.  Seemingly at random, the verity device fails to be created at boot because dm_init_init() (and wait_for_device_probe()) returned before the partitions had been scanned:

mmc1: new high speed MMC card at address 0001
device-mapper: table: 253:0: verity: Data device lookup failed
device-mapper: ioctl: error adding target to table
mmcblk1: mmc1:0001 064G30 58.2 GiB
mmcblk1boot0: mmc1:0001 064G30 partition 1 4.00 MiB
mmcblk1boot1: mmc1:0001 064G30 partition 2 4.00 MiB
mmcblk1rpmb: mmc1:0001 064G30 partition 3 4.00 MiB, chardev (247:0)
 mmcblk1: p1 p2 p3 p4 p5 p6 p7

I don't see how wait_for_device_probe() knows when partition scanning has been completed.  Is this a race or am I missing something?
--
- Steven Walter <steven at stevenwalter.org>
Sent from ProtonMail, encrypted email based in Switzerland.





More information about the dm-devel mailing list