| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 | #! /bin/sh# aoe-flush - ask aoe driver to forget about devices# Copyright 2008, Coraid, Inc., and licensed under GPL v.2.zero="`basename $0`"f="@devdir@/flush"spec=""if ! test -w "$f"; then	echo 1>&2 "$zero: $f does not exist or is not writeable."	exit 1fiif ! test -c $f; then	exec 1>&2	echo "$zero: $f is not a character device file"	echo "$zero: use udev or aoe-mkdevs to create it"	exit 1fi# make sure that each device in the whitespace-separated# list existsverify_devs () {	err=""	for d; do		aoe-stat |			awk -vd="$d" '$1==d{print $1}' |			test "`cat`" || {			exec 2>&1			echo "$zero Error: \"$d\" is not an aoe device"			err="$err $d"		}	done	test ! "$err"}err=""if test "$1"; then	if test "$1" = "-a"; then		spec=all	else		spec="$*"		verify_devs $spec || exit 1	fi	for i in $spec; do		printf "$i" > "$f" || {			echo 1>&2 "$zero: flush failed"			err="$err $i"		}	doneelse	echo > "$f" || err=no_argsfiif test "$err"; then	exit 1fi
 |