| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 | #! /bin/sh# aoe-version - display versions of AoE-related software# Copyright 2013, CORAID, Inc., and licensed under GPL v.2.aoetools=36# modinfo doesn't always work correctly when there is a file# in the current working directory called "aoe", but it's# not hard to change the current working directory.for wd in . / /sys /var/run /usr /proc /etc /home; do	a=`{ cd "$wd" 2> /dev/null && test ! -r aoe && echo yes; } || echo no`	if test "$a" = "yes"; then		cd "$wd"		break	fidone# The aoe module isn't guaranteed to be in the location below,# but if we only try to use it when each of the directories# above was not usable, we shouldn't use the hard-coded location# often.aoe=aoeif test -r ./aoe; then	aoe="/lib/modules/`uname -r`/kernel/drivers/block/aoe/aoe.ko"fi# standalone aoe drivers have a module parameter "version"installed="`modinfo \"$aoe\" 2>/dev/null | awk '/srcversion/ {next} /^parm:.*version:aoe module/ {print $NF; exit 0}'`"if test -z "$installed"; then	# Recent kernels have a "version" of their own, so	# they didn't want our module parameter, so we look	# for that, too, in case user is using kernel.org driver.	installed="`modinfo \"$aoe\" 2>/dev/null | awk '/^version:/ {print $NF; exit 0}'`"fiif test "$?" != "0" || test -z "$installed"; then	installed="(unknown)"fiif test -d /sys/module/aoe; then	running="`find /sys/module/aoe -name version | sed 1q | xargs cat`"	if test "$?" != "0"; then		running="(unknown)"	fielse	running="(none)"fiwhile read val desc; do	printf "%22s:\t%s\n" "$desc" "$val"done <<EOF$aoetools aoetools$installed installed aoe driver$running running aoe driverEOF
 |