Index: package/block-mount/files/60-services
===================================================================
--- package/block-mount/files/60-services	(revision 0)
+++ package/block-mount/files/60-services	(revision 0)
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+. /etc/functions.sh
+
+start_service() {
+	/etc/init.d/$1 $2
+}
+
+find_device() {
+	local cfg="$1"
+	local hotdev="$2"
+	local action="$3"
+	local enabled
+	local device
+
+	config_get device "$cfg" device
+	config_get_bool enabled "$cfg" enabled 0
+	[ $enabled -lt 1 ] && return 
+	[ $action = "start" ] && {
+		grep -q "$hotdev" /proc/mounts || return
+	}
+
+	[ "$device" = "$hotdev" ] && {
+		config_get target "$1" target
+		config_list_foreach "$1" "service" start_service $action
+	}
+}
+
+config_load fstab
+
+case "$ACTION" in
+	add)
+		config_foreach find_device mount "/dev/$DEVNAME" "start"
+		;;
+	remove)
+		config_foreach find_device mount "/dev/$DEVNAME" "stop"
+		;;
+esac
+		
Index: package/block-mount/Makefile
===================================================================
--- package/block-mount/Makefile	(revision 25428)
+++ package/block-mount/Makefile	(working copy)
@@ -60,6 +60,7 @@
 	$(INSTALL_DATA) ./files/10-swap $(1)/etc/hotplug.d/block/
 	$(INSTALL_DATA) ./files/20-fsck $(1)/etc/hotplug.d/block/
 	$(INSTALL_DATA) ./files/40-mount $(1)/etc/hotplug.d/block/
+	$(INSTALL_DATA) ./files/60-services $(1)/etc/hotplug.d/block/
 endef
 
 $(eval $(call BuildPackage,block-mount))
