#!/bin/sh # $FreeBSD$ name="$(mktemp -u mirror.XXXXXX)" class="mirror" base=`basename $0` gmirror_test_cleanup() { [ -c /dev/$class/$name ] && gmirror destroy $name geom_test_cleanup } trap gmirror_test_cleanup ABRT EXIT INT TERM gmirror_worker_pid() { pgrep -S -n "g_mirror mirror\..*" } syncwait() { while $(gmirror status -s $name | grep -q SYNCHRONIZING); do sleep 0.1; 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 |