mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-01-01 13:58:06 +00:00
udev-extra-rules: refactor mount.sh script
Avoids a fork for using cat and do a whitespace cleanup. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
This commit is contained in:
parent
d1bda096a7
commit
d014d6322b
|
|
@ -2,7 +2,7 @@ DESCRIPTION = "Extra udev rules"
|
|||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58"
|
||||
|
||||
PR = "r1"
|
||||
PR = "r2"
|
||||
|
||||
SRC_URI = " \
|
||||
file://automount.rules \
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# Called from udev
|
||||
# Attemp to mount any added block devices
|
||||
# Attemp to mount any added block devices
|
||||
# and remove any removed devices
|
||||
#
|
||||
|
||||
|
|
@ -10,7 +10,7 @@ PMOUNT="/usr/bin/pmount"
|
|||
UMOUNT="/bin/umount"
|
||||
name="`basename "$DEVNAME"`"
|
||||
|
||||
for line in `cat /etc/udev/mount.blacklist | grep -v ^#`
|
||||
for line in `grep -v ^# /etc/udev/mount.blacklist`
|
||||
do
|
||||
if ( echo "$DEVNAME" | grep -q "$line" )
|
||||
then
|
||||
|
|
@ -19,9 +19,9 @@ do
|
|||
fi
|
||||
done
|
||||
|
||||
automount() {
|
||||
automount() {
|
||||
! test -d "/media/$name" && mkdir -p "/media/$name"
|
||||
|
||||
|
||||
if ! $MOUNT -t auto -o async,relatime $DEVNAME "/media/$name"
|
||||
then
|
||||
#logger "mount.sh/automount" "$MOUNT -t auto $DEVNAME \"/media/$name\" failed!"
|
||||
|
|
@ -31,7 +31,7 @@ automount() {
|
|||
touch "/tmp/.automount-$name"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
rm_dir() {
|
||||
# We do not want to rm -r populated directories
|
||||
if test "`find "$1" | wc -l | tr -d " "`" -lt 2 -a -d "$1"
|
||||
|
|
@ -46,27 +46,19 @@ if [ "$ACTION" = "add" ] && [ -n "$DEVNAME" ]; then
|
|||
if [ -x "$PMOUNT" ]; then
|
||||
$PMOUNT $DEVNAME 2> /dev/null
|
||||
elif [ -x $MOUNT ]; then
|
||||
$MOUNT $DEVNAME 2> /dev/null
|
||||
$MOUNT $DEVNAME 2> /dev/null
|
||||
fi
|
||||
|
||||
# If the device isn't mounted at this point, it isn't configured in fstab
|
||||
# 20061107: Small correction: The rootfs partition may be called just "rootfs" and not by
|
||||
# its true device name so this would break. If the rootfs is mounted on two places
|
||||
# during boot, it confuses the heck out of fsck. So Im auto-adding the root-partition
|
||||
# to /etc/udev/mount.blacklist via postinst
|
||||
|
||||
cat /proc/mounts | awk '{print $1}' | grep -q "^$DEVNAME$" || automount
|
||||
|
||||
# Avoid remounting devices (e.g: rootfs)
|
||||
awk '{print $1}' /proc/mounts | grep -q "^$DEVNAME$" || automount
|
||||
fi
|
||||
|
||||
|
||||
|
||||
if [ "$ACTION" = "remove" ] && [ -x "$UMOUNT" ] && [ -n "$DEVNAME" ]; then
|
||||
for mnt in `cat /proc/mounts | grep "$DEVNAME" | cut -f 2 -d " " `
|
||||
for mnt in `grep "$DEVNAME" /proc/mounts | cut -f 2 -d " " `
|
||||
do
|
||||
$UMOUNT -l $mnt
|
||||
done
|
||||
|
||||
|
||||
# Remove empty directories from auto-mounter
|
||||
test -e "/tmp/.automount-$name" && rm_dir "/media/$name"
|
||||
fi
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user