udev-extraconf: Speed up mount.sh

On devices with many partitions, running blkid without parameters can
be rather slow because all block devices are inspected:

$ time /sbin/blkid
real    0m0.474s
user    0m0.026s
sys     0m0.172s

versus

$ time /sbin/blkid /dev/mmcblk0p10
real    0m0.027s
user    0m0.002s
sys     0m0.018s

Plugging in a device with 5 partitions means that mount.sh is going to
be executed 5 times, and so will be blkid. In the real-world case
outlined above, this adds up to an overhead of about 2.3 seconds for
blkid alone.

This commit changes mount.sh so that the block device of interest is
passed directly to blkid such that blkid inspects only that device,
leading to significant speedup.

(From OE-Core rev: 5e90348ce2fa400c77641062aa0b1efb52c9f955)

Signed-off-by: Robert Tiemann <rtie@gmx.de>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Robert Tiemann
2025-10-02 11:59:24 +02:00
committed by Richard Purdie
parent d5c890186e
commit a153f32b1f

View File

@@ -178,7 +178,7 @@ rm_dir() {
get_label_name() {
# Get the LABEL or PARTLABEL
LABEL=`/sbin/blkid | grep "$1:" | grep -o 'LABEL=".*"' | cut -d '"' -f2`
LABEL=`/sbin/blkid "$1" | grep -o 'LABEL=".*"' | cut -d '"' -f2`
# If the $DEVNAME has a LABEL or a PARTLABEL
if [ -n "$LABEL" ]; then
# Set the mount location dir name to LABEL appended