diff options
author | Jose Vasconcellos <jvasco@verizon.net> | 2009-01-30 20:48:42 +0000 |
---|---|---|
committer | Jose Vasconcellos <jvasco@verizon.net> | 2009-01-30 20:48:42 +0000 |
commit | c47c1e353eadcea35ba31468495cc1617d4254c0 (patch) | |
tree | 494a86a8d300bcce4e7c38ccc790dc59991164b1 /package | |
parent | 03c903a32559eecd0afebc90fd037d760f937fb8 (diff) | |
download | master-187ad058-c47c1e353eadcea35ba31468495cc1617d4254c0.tar.gz master-187ad058-c47c1e353eadcea35ba31468495cc1617d4254c0.tar.bz2 master-187ad058-c47c1e353eadcea35ba31468495cc1617d4254c0.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.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@14289 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package')
-rw-r--r-- | package/base-files/files/etc/hotplug.d/block/10-mount | 19 | ||||
-rw-r--r-- | package/base-files/files/etc/hotplug.d/ieee1394/10-ieee1394 | 13 | ||||
-rw-r--r-- | package/base-files/files/etc/hotplug.d/usb/10-usb | 13 | ||||
-rw-r--r-- | package/base-files/files/etc/hotplug.d/usb/10-usb-storage | 13 | ||||
-rwxr-xr-x | package/base-files/files/sbin/usb-storage | 25 | ||||
-rw-r--r-- | package/hotplug2/files/hotplug2.rules | 2 |
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%; } |