aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJose Vasconcellos <jvasco@verizon.net>2009-01-30 20:48:42 +0000
committerJose Vasconcellos <jvasco@verizon.net>2009-01-30 20:48:42 +0000
commit58b8cdb5fd1a1f5c81719fb16a35071ff171e3c4 (patch)
treedada30a347ce20f89aeec5a15c2a619433fbbcec
parent7cb6d9f6a16b9223b6bfe7667b0f6a5a0aff6683 (diff)
downloadupstream-58b8cdb5fd1a1f5c81719fb16a35071ff171e3c4.tar.gz
upstream-58b8cdb5fd1a1f5c81719fb16a35071ff171e3c4.tar.bz2
upstream-58b8cdb5fd1a1f5c81719fb16a35071ff171e3c4.zip
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.
SVN-Revision: 14289
-rw-r--r--package/base-files/files/etc/hotplug.d/block/10-mount19
-rw-r--r--package/base-files/files/etc/hotplug.d/ieee1394/10-ieee139413
-rw-r--r--package/base-files/files/etc/hotplug.d/usb/10-usb13
-rw-r--r--package/base-files/files/etc/hotplug.d/usb/10-usb-storage13
-rwxr-xr-xpackage/base-files/files/sbin/usb-storage25
-rw-r--r--package/hotplug2/files/hotplug2.rules2
6 files changed, 46 insertions, 39 deletions
diff --git a/package/base-files/files/etc/hotplug.d/block/10-mount b/package/base-files/files/etc/hotplug.d/block/10-mount
new file mode 100644
index 0000000000..b0104ddfd6
--- /dev/null
+++ b/package/base-files/files/etc/hotplug.d/block/10-mount
@@ -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
diff --git a/package/base-files/files/etc/hotplug.d/ieee1394/10-ieee1394 b/package/base-files/files/etc/hotplug.d/ieee1394/10-ieee1394
new file mode 100644
index 0000000000..7e142a2113
--- /dev/null
+++ b/package/base-files/files/etc/hotplug.d/ieee1394/10-ieee1394
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+# Copyright (C) 2009 OpenWrt.org
+
+case "$ACTION" in
+ add)
+ # update LEDs
+ ;;
+ remove)
+ # update LEDs
+ ;;
+esac
+
diff --git a/package/base-files/files/etc/hotplug.d/usb/10-usb b/package/base-files/files/etc/hotplug.d/usb/10-usb
new file mode 100644
index 0000000000..7e142a2113
--- /dev/null
+++ b/package/base-files/files/etc/hotplug.d/usb/10-usb
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+# Copyright (C) 2009 OpenWrt.org
+
+case "$ACTION" in
+ add)
+ # update LEDs
+ ;;
+ remove)
+ # update LEDs
+ ;;
+esac
+
diff --git a/package/base-files/files/etc/hotplug.d/usb/10-usb-storage b/package/base-files/files/etc/hotplug.d/usb/10-usb-storage
deleted file mode 100644
index 14001f6ff1..0000000000
--- a/package/base-files/files/etc/hotplug.d/usb/10-usb-storage
+++ /dev/null
@@ -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
-
diff --git a/package/base-files/files/sbin/usb-storage b/package/base-files/files/sbin/usb-storage
deleted file mode 100755
index e02efa8115..0000000000
--- a/package/base-files/files/sbin/usb-storage
+++ /dev/null
@@ -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
diff --git a/package/hotplug2/files/hotplug2.rules b/package/hotplug2/files/hotplug2.rules
index 1ccc4f704a..c52c60f4a1 100644
--- a/package/hotplug2/files/hotplug2.rules
+++ b/package/hotplug2/files/hotplug2.rules
@@ -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%;
}