aboutsummaryrefslogtreecommitdiff
path: root/tools/regression/ccd/layout/ccd.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tools/regression/ccd/layout/ccd.sh')
-rw-r--r--tools/regression/ccd/layout/ccd.sh60
1 files changed, 60 insertions, 0 deletions
diff --git a/tools/regression/ccd/layout/ccd.sh b/tools/regression/ccd/layout/ccd.sh
new file mode 100644
index 000000000000..16e62a3b3d43
--- /dev/null
+++ b/tools/regression/ccd/layout/ccd.sh
@@ -0,0 +1,60 @@
+#!/bin/sh
+
+set -e
+
+if mount | grep ccd3 ; then
+ echo "ccd3 seems to be mounted"
+ exit 1
+fi
+
+(
+ccdconfig -u ccd3 || true
+mdconfig -d -u 90 || true
+mdconfig -d -u 91 || true
+mdconfig -d -u 92 || true
+mdconfig -d -u 93 || true
+) > /dev/null 2>&1
+
+mdconfig -a -t malloc -s $1 -u 90
+mdconfig -a -t malloc -s $2 -u 91
+mdconfig -a -t malloc -s $3 -u 92
+mdconfig -a -t malloc -s $4 -u 93
+
+ccdconfig -v ccd3 $5 $6 /dev/md90 /dev/md91 /dev/md92 /dev/md93
+./a > /dev/ccd3
+
+md5 < /dev/md90
+md5 < /dev/md91
+md5 < /dev/md92
+md5 < /dev/md93
+
+(
+./b < /dev/md90 | sed -e 1,16d -e 's/^/md90 /'
+./b < /dev/md91 | sed -e 1,16d -e 's/^/md91 /'
+./b < /dev/md92 | sed -e 1,16d -e 's/^/md92 /'
+./b < /dev/md93 | sed -e 1,16d -e 's/^/md93 /'
+) | sort +2n | awk '
+ {
+ if ($1 != l1) {
+ if (l1 != "") {
+ if (l1 == "md90") printf ""
+ if (l1 == "md91") printf " "
+ if (l1 == "md92") printf " "
+ if (l1 == "md93") printf " "
+ print l3,l2,l
+ }
+ l1 = $1
+ l2 = $2
+ l3 = $3
+ l = 0;
+ }
+ l++;
+ }
+END {
+ if (l1 == "md90") printf ""
+ if (l1 == "md91") printf " "
+ if (l1 == "md92") printf " "
+ if (l1 == "md93") printf " "
+ print l3,l2,l
+ }
+'