#! /bin/bash # aoe-stat - collate and present information about AoE storage # Copyright 2007, Coraid, Inc., and licensed under GPL v.2. set -e format="%10s %15s %6s %-14s\n" me=`basename $0` sysd=${sysfs_dir:-/sys} # printf "$format" device mac netif state # Suse 9.1 Pro doesn't put /sys in /etc/mtab #test -z "`mount | grep sysfs`" && { test ! -d "$sysd/block" && { echo "$me Error: sysfs is not mounted" 1>&2 exit 1 } function checknode () { devname="$1" m_sysfs="$2" if test -b "@devdir@/$devname"; then m_node="`ls -l \"@devdir@/$devname\" | awk '{print $6}'`" test "$m_sysfs" = "$m_node" || { cat 1>&2 </dev/null | grep -v p` end; do # maybe ls comes up empty, so we use "end" test $d = end && continue dev=`echo "$d" | sed 's/.*!//'` sectors="`cat \"$d/size\"`" minor="`awk -F: '{print $2}' \"$d/dev\"`" checknode "$dev" "$minor" psize=$(((512000 * $sectors) / (1000 * 1000 * 1000))) psize=`printf "%04d\n" $psize | sed 's!\(...\)$!.\1!'` printf "$format" \ "$dev" \ "${psize}GB" \ "`cat \"$d/netif\"`" \ "`cat \"$d/state\"`" done | sort