From 58b8cdb5fd1a1f5c81719fb16a35071ff171e3c4 Mon Sep 17 00:00:00 2001 From: Jose Vasconcellos Date: Fri, 30 Jan 2009 20:48:42 +0000 Subject: 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 --- .../base-files/files/etc/hotplug.d/block/10-mount | 19 ++++++++++++++++ .../files/etc/hotplug.d/ieee1394/10-ieee1394 | 13 +++++++++++ package/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 ---------------------- 5 files changed, 45 insertions(+), 38 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 (limited to 'package/base-files') 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 0000000..b0104dd --- /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 0000000..7e142a2 --- /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 0000000..7e142a2 --- /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 14001f6..0000000 --- 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 e02efa8..0000000 --- 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 -- cgit v1.1