diff options
Diffstat (limited to 'tests/sys/geom/class/mirror/conf.sh')
-rw-r--r-- | tests/sys/geom/class/mirror/conf.sh | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/sys/geom/class/mirror/conf.sh b/tests/sys/geom/class/mirror/conf.sh index 1cb785e5113fd..cee2b10e9ff6a 100644 --- a/tests/sys/geom/class/mirror/conf.sh +++ b/tests/sys/geom/class/mirror/conf.sh @@ -19,4 +19,35 @@ syncwait() done } +consumerrefs() +{ + gclass=$1 + geom=$2 + + if [ $# -ne 2 ]; then + echo "Bad usage consumerrefs" >&2 + exit 1 + fi + + geom "${gclass}" list "${geom}" | \ + grep -A5 ^Consumers | \ + grep Mode | \ + cut -d: -f2 +} + +disconnectwait() +{ + gclass=$1 + geom=$2 + + if [ $# -ne 2 ]; then + echo "Bad usage disconnectwait" >&2 + exit 1 + fi + + while [ $(consumerrefs "$gclass" "$geom") != r0w0e0 ]; do + sleep 0.05 + done +} + . `dirname $0`/../geom_subr.sh |