summaryrefslogtreecommitdiff
path: root/test/testd.block
blob: ca9ac8c1acf99bb44f6f226ff5da05570182dcbc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/bin/bash
#
# test.block - run udev(8) on each block device in /sys/block

if [ $# = "0" ] ; then
	echo
	echo "usage: $0 <action>"
	echo "where <action> is \"add\" or \"remove\""
	echo
	exit 1
fi

killall udevd

SYSFSDIR=/sys		# change this for a nonstand sysfs mount point
BIN=./udevsend		# location of your udev binary
export ACTION=$1	# 'add' or 'remove'
seq=1

for i in ${SYSFSDIR}/block/*; do
	# add each drive
	export DEVPATH=${i#${SYSFSDIR}}
	export SEQNUM=$seq
	$BIN block
	x=$((seq++))

	# add each partition, on each device
	for j in $i/*; do
		if [ -f $j/dev ]; then
			export DEVPATH=${j#${SYSFSDIR}}
			export SEQNUM=$seq
			$BIN block
			x=$((seq++))
		fi
	done
done