From 58b8cdb5fd1a1f5c81719fb16a35071ff171e3c4 Mon Sep 17 00:00:00 2001 From: Jose Vasconcellos Date: Fri, 30 Jan 2009 20:48:42 +0000 Subject: [PATCH] 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 --- .../files/etc/hotplug.d/block/10-mount | 19 ++++++++++++++ .../files/etc/hotplug.d/ieee1394/10-ieee1394 | 13 ++++++++++ .../base-files/files/etc/hotplug.d/usb/10-usb | 13 ++++++++++ .../files/etc/hotplug.d/usb/10-usb-storage | 13 ---------- package/base-files/files/sbin/usb-storage | 25 ------------------- package/hotplug2/files/hotplug2.rules | 2 +- 6 files changed, 46 insertions(+), 39 deletions(-) create mode 100644 package/base-files/files/etc/hotplug.d/block/10-mount create mode 100644 package/base-files/files/etc/hotplug.d/ieee1394/10-ieee1394 create mode 100644 package/base-files/files/etc/hotplug.d/usb/10-usb delete mode 100644 package/base-files/files/etc/hotplug.d/usb/10-usb-storage delete mode 100755 package/base-files/files/sbin/usb-storage 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 000000000000..b0104ddfd60a --- /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 000000000000..7e142a2113e3 --- /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 000000000000..7e142a2113e3 --- /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 14001f6ff1a6..000000000000 --- 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 e02efa81159f..000000000000 --- 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 1ccc4f704ac2..c52c60f4a157 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%; } -- 2.30.2