]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
tests/env-ddf-template: some helper functions
authormwilck@arcor.de <mwilck@arcor.de>
Mon, 5 Aug 2013 20:37:47 +0000 (22:37 +0200)
committerNeilBrown <neilb@suse.de>
Mon, 5 Aug 2013 23:52:58 +0000 (09:52 +1000)
helper functions to determine the list of devices in an array,
etc.

Signed-off-by: Martin Wilck <mwilck@arcor.de>
Signed-off-by: NeilBrown <neilb@suse.de>
tests/env-ddf-template

index fa7af1f51adcb2f28d8e3b3637e45237430fead6..1c1ca124729ca4edaf314aa3a5a4e97110426369 100644 (file)
@@ -1,3 +1,24 @@
+get_sysdir() {
+    local mddev=$1
+    [ -L $mddev ] && mddev=$(readlink -f $mddev)
+    echo "/sys/class/block/$(basename $mddev)/md"
+}
+
+get_raiddisks() {
+    sysdir=$(get_sysdir "$1")
+    for i in $(seq 0 $(($(cat $sysdir/raid_disks)-1))); do
+       if [ -d $sysdir/rd$i ]; then
+           readlink -f /dev/block/$(cat $sysdir/rd$i/block/dev)
+       else
+           echo MISSING
+        fi
+    done
+}
+
+get_present() {
+    get_raiddisks $1 | grep -vc MISSING
+}
+
 ddf_check() {
     udevadm settle
     case $1 in