[systemd-devel] udev and probing of eMMC partition devices

Alan Perry alanp at snowmoose.com
Wed Sep 30 20:57:35 UTC 2020



On 9/23/20 9:29 AM, Lennart Poettering wrote:
> On Di, 22.09.20 10:06, Alan Perry (alanp at snowmoose.com) wrote:
>
>>>> device add events will get stuck at the probe step.
>>> "Get stuck"? What does that mean? What is it actually doing? What does
>>> a stack trace say? Anything in the logs?
>> When this happens, the last thing seen in the log for those devices is the
>> probe ("probe /dev/mmcblk0<part> raid offset=0").
> This debug log message is generated by udev-builtin-blkid.c, right
> after opening the block device, and right before issuing the probe,
> i.e. reading the fs label/partition table signatures off disk. If
> things hang there, and the blkid prober worker process freezes then
> this really looks like a hw/driver problem, i.e. IO access from the
> block device just hangs.
>

It does seem to be a hw/driver problem. From what I have seen searching 
the web, this seems to be something that sometimes happens with eMMC 
devices.

In our experience, the problem resolves itself and subsequent reads and 
probes succeed. However, the systemd job is still around, hung, and 
stopping boot from completing. I think that changing udev-builtin-blkid 
to be able to timeout and end the job gracefully when this happens is 
the right thing to do here. But what is a suitable timeout and what does 
a graceful exit here look like?

alan



More information about the systemd-devel mailing list