1 --- ./snmpdiskio 2008-10-05 16:00:39.870799390 +0300
2 +++ 0.9.6/snmpdiskio 2008-10-05 16:01:46.636993902 +0300
5 -# $Id: snmpdiskio,v 1.3 2006/04/04 13:11:47 mikaelf Exp $
8 +# snmpdiskio v0.9.6 (c) 2008 Dieter Verlaeckt <dieter.verlaeckt@gmail.com>
9 +# snmpdiskio v0.9.5 (c) 2007 Pablo Destefanis <pdestefanis@gmail.com>
10 # snmpdiskio v0.9.4 (c) 2006 Mikael Fridh <mikael@meanstreak.se>
12 +# Fields in /proc/partitions (kernel 2.4)
13 +# major minor #blocks name rio rmerge rsect ruse wio wmerge wsect wuse running use aveq
15 +# Fields in /proc/diskstats (kernel 2.6) for disks (i.e. hda)
16 +# major minor name rio rmerge rsect ruse wio wmerge wsect wuse running use aveq
18 +# Fields in /proc/diskstats (kernel 2.6) for partitions (i.e. hda1)
19 +# major minor name rio rsect wio wsect
21 +# InBlocks = sectors written to disk
22 +# OutBlocks = sectors read from disk
24 # Set default procfile for kernel 2.4
25 PROCFILE="/proc/partitions"
34 - awk ' $1 ~ /[0-9]+/ && $2 ~ /[0-9]+/ && $10 ~ /[0-9]+/ { printf "%.0f\n", $10 * 512 }
35 - $1 ~ /[0-9]+/ && $2 ~ /[0-9]+/ && $10 !~ /[0-9]+/ { printf "%.0f\n", $5 * 512 } ' $PROCFILE
36 + if [ "$MODE" = "linux26" ]; then
37 + awk ' $1 ~ /[0-9]+/ && $2 ~ /[0-9]+/ && NF == 7 { printf "%.0f\n", $7 * 512 }
38 + $1 ~ /[0-9]+/ && $2 ~ /[0-9]+/ && NF == 14 { printf "%.0f\n", $10 * 512 } ' $PROCFILE
40 + awk ' $1 ~ /[0-9]+/ && $2 ~ /[0-9]+/ && NF == 15 { printf "%.0f\n", $11 * 512 } ' $PROCFILE
47 - awk ' $1 ~ /[0-9]+/ && $2 ~ /[0-9]+/ && $8 ~ /[0-9]+/ { printf "%.0f\n", $8 * 512 }
48 - $1 ~ /[0-9]+/ && $2 ~ /[0-9]+/ && $8 !~ /[0-9]+/ { printf "%.0f\n", $7 * 512 } ' $PROCFILE
49 + if [ "$MODE" = "linux26" ]; then
50 + awk ' $1 ~ /[0-9]+/ && $2 ~ /[0-9]+/ && NF == 7 { printf "%.0f\n", $5 * 512 }
51 + $1 ~ /[0-9]+/ && $2 ~ /[0-9]+/ && NF == 14 { printf "%.0f\n", $6 * 512 } ' $PROCFILE
53 + awk ' $1 ~ /[0-9]+/ && $2 ~ /[0-9]+/ && NF == 15 { printf "%.0f\n", $7 * 512 } ' $PROCFILE
61 Usage: $0 <hdNum|hdIndex|hdDescr|hdInBlocks|hdOutBlocks>