From: Jose Vasconcellos Date: Fri, 30 Jan 2009 20:48:42 +0000 (+0000) Subject: Use block events for the mounting/unmounting of external storage devices. X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fsvn-archive%2Farchive.git;a=commitdiff_plain;h=82ec1e91942272170e953f492850c769aa7fe5c5;ds=inline 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 --- 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%; }