2006-06-27 00:36:13 +00:00
|
|
|
#!/bin/sh
|
|
|
|
# Copyright (C) 2006 OpenWrt.org
|
|
|
|
|
2005-11-07 01:12:51 +00:00
|
|
|
mount_storage() {
|
|
|
|
cd /dev/discs
|
|
|
|
for dev in disc*; do
|
|
|
|
[ -f /tmp/.${dev}_id ] || {
|
|
|
|
echo ${INTERFACE}${PRODUCT} > /tmp/.${dev}_id
|
|
|
|
mount | grep /mnt/${dev} || (
|
|
|
|
[ -d /mnt/. ] || {
|
|
|
|
mkdir -p /tmp/mnt
|
|
|
|
ln -s /tmp/mnt /
|
|
|
|
}
|
|
|
|
cd $dev
|
|
|
|
for part in part*; do
|
|
|
|
path=/mnt/${dev}_${part##*part}
|
|
|
|
mkdir -p ${path}
|
|
|
|
mount ${part} ${path}
|
|
|
|
done
|
|
|
|
)
|
|
|
|
}
|
|
|
|
done
|
|
|
|
}
|
|
|
|
|
|
|
|
umount_storage() {
|
|
|
|
for tmp in /tmp/.*_id; do
|
|
|
|
id=$(cat $tmp 2>&-)
|
|
|
|
[ "${INTERFACE}${PRODUCT}" = "$id" ] && {
|
|
|
|
rm -f $tmp
|
|
|
|
disc=${tmp##*disc}
|
|
|
|
disc=${disc%%_id}
|
|
|
|
for disc in /mnt/disc${disc}*; do
|
|
|
|
umount -f $disc || umount -l $disc
|
|
|
|
done
|
|
|
|
}
|
|
|
|
done
|
|
|
|
}
|
|
|
|
|
|
|
|
[ -f /proc/bus/usb/devices ] || mount -t usbfs none /proc/bus/usb
|
|
|
|
|
|
|
|
case "$ACTION" in
|
|
|
|
add)
|
|
|
|
case "${INTERFACE%%/*}" in
|
|
|
|
8) mount_storage ;;
|
|
|
|
esac
|
|
|
|
;;
|
|
|
|
remove)
|
|
|
|
case "${INTERFACE%%/*}" in
|
|
|
|
8) umount_storage ;;
|
|
|
|
esac
|
|
|
|
;;
|
|
|
|
esac
|