chiark / gitweb /
[PATCH] udev: cool test scripts again
authorrml@tech9.net <rml@tech9.net>
Sat, 18 Oct 2003 08:18:04 +0000 (01:18 -0700)
committerGreg KH <gregkh@suse.de>
Wed, 27 Apr 2005 04:01:41 +0000 (21:01 -0700)
> But the test.block script doesn't catch any partitions on the block
> devices :)

Never happy!

        [19:07:52]root@phantasy:~/src/udev/udev# ./test.block
        [19:13:37]root@phantasy:~/src/udev/udev# ls /udev/hd*
        ls: /udev/hd*: No such file or directory
        [19:13:42]root@phantasy:~/src/udev/udev# ./test.block
        [19:13:53]root@phantasy:~/src/udev/udev# ls /udev/hd*
        /udev/hda   /udev/hda2  /udev/hda4  /udev/hda6  /udev/hdd
        /udev/hda1  /udev/hda3  /udev/hda5  /udev/hdc

test.block now recurses /sys/block, looking for partitions.  Should add
all drives and all partitions.

test.block

index f6011a22213f2ce796233f1d6ed715fc3a74aec3..781560dee1dfa0af41e78bfcde90a128b32bb073 100644 (file)
@@ -7,6 +7,16 @@ BIN=./udev             # location of your udev binary
 export ACTION=add      # 'add' or 'remove'
 
 for i in ${SYSFSDIR}/block/*; do
 export ACTION=add      # 'add' or 'remove'
 
 for i in ${SYSFSDIR}/block/*; do
+       # add each drive
        export DEVPATH="/"`echo $i | cut --delimiter='/' --fields=3-`
        $BIN block
        export DEVPATH="/"`echo $i | cut --delimiter='/' --fields=3-`
        $BIN block
+
+       # add each partition, on each device
+       for j in $i/*; do
+               if [ -f $j/dev ]; then
+                       export DEVPATH="/"`echo $j |  \
+                               cut --delimiter='/' --fields=3-`
+                       $BIN block
+               fi
+       done
 done
 done