diff options
Diffstat (limited to 'sys-apps/busybox/files/mdev/usbdisk_link')
-rw-r--r-- | sys-apps/busybox/files/mdev/usbdisk_link | 36 |
1 files changed, 20 insertions, 16 deletions
diff --git a/sys-apps/busybox/files/mdev/usbdisk_link b/sys-apps/busybox/files/mdev/usbdisk_link index 6bb069243f4c..e42cc8bc9085 100644 --- a/sys-apps/busybox/files/mdev/usbdisk_link +++ b/sys-apps/busybox/files/mdev/usbdisk_link @@ -4,31 +4,35 @@ current=$(readlink usbdisk) -if [ "$current" = "$MDEV" ] && [ "$ACTION" = "remove" ]; then +if [ "${current}" = "${MDEV}" ] && [ "${ACTION}" = "remove" ]; then rm -f usbdisk usba1 fi -[ -n "$current" ] && exit +[ -n "${current}" ] && exit -if [ -e /sys/block/$MDEV ]; then - SYSDEV=$(readlink -f /sys/block/$MDEV/device) +if [ -e /sys/block/"${MDEV}" ]; then + SYSDEV=$(readlink -f /sys/block/"${MDEV}"/device) # if /sys device path contains '/usb[0-9]' then we assume its usb # also, if it's a usb without partitions we require FAT - if [ "${SYSDEV##*/usb[0-9]}" != "$SYSDEV" ]; then + if [ "${SYSDEV##*/usb[0-9]}" != "${SYSDEV}" ]; then # do not create link if there is not FAT - dd if=/dev/$MDEV bs=512 count=1 2>/dev/null | strings | grep FAT >/dev/null || exit 0 + dd if=/dev/"${MDEV}" bs=512 count=1 2>/dev/null | strings | grep FAT >/dev/null || exit 0 - ln -sf $MDEV usbdisk + ln -sf "${MDEV}" usbdisk # keep this for compat. people have it in fstab - ln -sf $MDEV usba1 + ln -sf "${MDEV}" usba1 fi -elif [ -e /sys/block/*/$MDEV ] ; then - PARENT=$(dirname /sys/block/*/$MDEV) - SYSDEV=$(readlink -f $PARENT/device) - if [ "${SYSDEV##*/usb[0-9]}" != "$SYSDEV" ]; then - ln -sf $MDEV usbdisk - # keep this for compat. people have it in fstab - ln -sf $MDEV usba1 - fi +else + for i in /sys/block/*/"${MDEV}"; do + if [ -e "$i" ]; then + PARENT=$(dirname "$i") + SYSDEV=$(readlink -f "${PARENT}"/device) + if [ "${SYSDEV##*/usb[0-9]}" != "${SYSDEV}" ]; then + ln -sf "${MDEV}" usbdisk + # keep this for compat. people have it in fstab + ln -sf "${MDEV}" usba1 + fi + fi + done fi |