109d98641SEnji Cooper#!/bin/sh 209d98641SEnji Cooper 309d98641SEnji Coopername="$(mktemp -u mirror.XXXXXX)" 409d98641SEnji Cooperclass="mirror" 509d98641SEnji Cooperbase=`basename $0` 609d98641SEnji Cooper 709d98641SEnji Coopergmirror_test_cleanup() 809d98641SEnji Cooper{ 909d98641SEnji Cooper [ -c /dev/$class/$name ] && gmirror destroy $name 1009d98641SEnji Cooper geom_test_cleanup 1109d98641SEnji Cooper} 1209d98641SEnji Coopertrap gmirror_test_cleanup ABRT EXIT INT TERM 1309d98641SEnji Cooper 14*3cee7cb2SBryan Drewerygmirror_worker_pid() 15*3cee7cb2SBryan Drewery{ 16*3cee7cb2SBryan Drewery pgrep -S -n "g_mirror mirror\..*" 17*3cee7cb2SBryan Drewery} 18*3cee7cb2SBryan Drewery 1921274cadSMark Johnstonsyncwait() 2021274cadSMark Johnston{ 2121274cadSMark Johnston while $(gmirror status -s $name | grep -q SYNCHRONIZING); do 2221274cadSMark Johnston sleep 0.1; 2321274cadSMark Johnston done 2421274cadSMark Johnston} 2521274cadSMark Johnston 26af7dcae0SConrad Meyerconsumerrefs() 27af7dcae0SConrad Meyer{ 28af7dcae0SConrad Meyer gclass=$1 29af7dcae0SConrad Meyer geom=$2 30af7dcae0SConrad Meyer 31af7dcae0SConrad Meyer if [ $# -ne 2 ]; then 32af7dcae0SConrad Meyer echo "Bad usage consumerrefs" >&2 33af7dcae0SConrad Meyer exit 1 34af7dcae0SConrad Meyer fi 35af7dcae0SConrad Meyer 36af7dcae0SConrad Meyer geom "${gclass}" list "${geom}" | \ 37af7dcae0SConrad Meyer grep -A5 ^Consumers | \ 38af7dcae0SConrad Meyer grep Mode | \ 39af7dcae0SConrad Meyer cut -d: -f2 40af7dcae0SConrad Meyer} 41af7dcae0SConrad Meyer 42af7dcae0SConrad Meyerdisconnectwait() 43af7dcae0SConrad Meyer{ 44af7dcae0SConrad Meyer gclass=$1 45af7dcae0SConrad Meyer geom=$2 46af7dcae0SConrad Meyer 47af7dcae0SConrad Meyer if [ $# -ne 2 ]; then 48af7dcae0SConrad Meyer echo "Bad usage disconnectwait" >&2 49af7dcae0SConrad Meyer exit 1 50af7dcae0SConrad Meyer fi 51af7dcae0SConrad Meyer 52af7dcae0SConrad Meyer while [ $(consumerrefs "$gclass" "$geom") != r0w0e0 ]; do 53af7dcae0SConrad Meyer sleep 0.05 54af7dcae0SConrad Meyer done 55af7dcae0SConrad Meyer} 56af7dcae0SConrad Meyer 5709d98641SEnji Cooper. `dirname $0`/../geom_subr.sh 58