diff options
author | Lukas Funke <lukas.funke@weidmueller.com> | 2023-11-08 10:40:59 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2023-11-10 17:44:15 +0000 |
commit | 695e0a41e3c1cb47484605934a57e7df591bd19f (patch) | |
tree | bb324a9c68199c2d4df6436b1c4eceff5e0eaef1 /meta/recipes-core/udev | |
parent | e17b76644b26ef832b632a03f537060f88344bd8 (diff) | |
download | openembedded-core-contrib-695e0a41e3c1cb47484605934a57e7df591bd19f.tar.gz |
udev-extraconf: mount.sh: check if filesystem is supported before mounting
Check if the filesystem is supported by the kernel before trying to
mount it. Systemd-mount will mount the directories asynchronously
resulting in stale directories if the devices filesystem is not
supported.
Signed-off-by: Lukas Funke <lukas.funke@weidmueller.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Diffstat (limited to 'meta/recipes-core/udev')
-rw-r--r-- | meta/recipes-core/udev/udev-extraconf/mount.sh | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/meta/recipes-core/udev/udev-extraconf/mount.sh b/meta/recipes-core/udev/udev-extraconf/mount.sh index b7e86dbc0e..0cd51fcde8 100644 --- a/meta/recipes-core/udev/udev-extraconf/mount.sh +++ b/meta/recipes-core/udev/udev-extraconf/mount.sh @@ -36,6 +36,16 @@ do fi done +is_filesystem_supported() { + while read -r fs; do + if [ "${fs#nodev}" = "$1" ]; + then + return 0 + fi + done < "/proc/filesystems" + return 1 +} + automount_systemd() { name="`basename "$DEVNAME"`" @@ -64,6 +74,11 @@ automount_systemd() { grep "^[[:space:]]*$tmp" /etc/fstab && return done + if ! is_filesystem_supported $ID_FS_TYPE; then + logger "mount.sh/automount" "Filesystem '$ID_FS_TYPE' on '${DEVNAME}' is unsupported" + return + fi + [ -d "$MOUNT_BASE/$name" ] || mkdir -p "$MOUNT_BASE/$name" MOUNT="$MOUNT -o silent" |