Use block events for the mounting/unmounting of external storage devices.

This handles both USB and IEEE1394 devices. It removes /sbin/usb-storage in
favor of using the block hotplug event. There are dummy scripts to handle the
plug in/out of USB and IEEE1394 devices for updating LEDs. Storage devices 
are mount as a sub-directory under /mnt.


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@14289 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Jose Vasconcellos 2009-01-30 20:48:42 +00:00
parent 03c903a325
commit c47c1e353e
6 changed files with 46 additions and 39 deletions

View File

@ -0,0 +1,19 @@
#!/bin/sh
# Copyright (C) 2009 OpenWrt.org
blkdev=`dirname $DEVPATH`
if [ `basename $blkdev` != "block" ]; then
device=`basename $DEVPATH`
case "$ACTION" in
add)
mkdir -p /mnt/$device
mount /dev/$device /mnt/$device
;;
remove)
umount /dev/$device
;;
esac
fi

View File

@ -0,0 +1,13 @@
#!/bin/sh
# Copyright (C) 2009 OpenWrt.org
case "$ACTION" in
add)
# update LEDs
;;
remove)
# update LEDs
;;
esac

View File

@ -0,0 +1,13 @@
#!/bin/sh
# Copyright (C) 2009 OpenWrt.org
case "$ACTION" in
add)
# update LEDs
;;
remove)
# update LEDs
;;
esac

View File

@ -1,13 +0,0 @@
#!/bin/sh
# Copyright (C) 2006 OpenWrt.org
case "$ACTION" in
add)
[ -n "${INTERFACE}" ] &&
[ "$(expr substr ${INTERFACE} 1 2)" == "8/" ] && {
/sbin/usb-storage &
}
;;
esac

View File

@ -1,25 +0,0 @@
#!/bin/sh
# Copyright (C) 2007 OpenWrt.org
logger "usb device is mass storage"
i=0
while [ $i -le 10 ]; do
logger "waiting on usb drive $i ..."
i=$(($i+1))
cd /sys${DEVPATH}
for blk in `find host* -type d 2>/dev/null`; do
[ -d /sys/${DEVPATH}/${blk}/block/ ] && {
cd
for disc in `find /sys/${DEVPATH}/${blk}/block -name "sd*"`; do
sleep 2
cd $disc
for node in `find . -name "sd*" | cut -d "/" -f2`; do
echo "mounting /dev/${node} on /mnt/usbdrive"
mkdir -p /mnt/usbdrive
mount /dev/${node} /mnt/usbdrive
i=20
done
done
}
done
sleep 1
done

View File

@ -1,6 +1,6 @@
$include /etc/hotplug2-common.rules
SUBSYSTEM ~~ (net|button|usb|platform) {
SUBSYSTEM ~~ (net|button|usb|platform|ieee1394|block) {
exec /sbin/hotplug-call %SUBSYSTEM%;
}