client_names[$ndevs]=${str[1]}
ndevs=$((ndevs+1))
done
+if [ $case == "disk" ]; then
+ for ((i = 0; i < $ndevs; i++)); do
+ ost_names[$i]=${client_names[$i]}
+ done
+fi
if [ $case == "netdisk" ]; then
if [ "$targets" ]; then
for ((i = 0; i < $ndevs; i++)); do
# get vmstat started
# disable portals debug and get obdecho loaded on all relevant hosts
unique_hosts=(`unique ${host_names[@]}`)
+load_obdechos
pidcount=0
for host in ${unique_hosts[@]}; do
host_vmstatf=${vmstatf}_${host}
echo -n > $host_vmstatf
- remote_shell $host "vmstat 5 >> $host_vmstatf" &
+ remote_shell $host "vmstat 5 >> $host_vmstatf" &> /dev/null &
pid=$!
vmstatpids[$pidcount]=$pid
pidcount=$((pidcount+1))
- do_unload_obdecho[$host]=0
- if obdecho_loaded $host; then
- continue
- fi
- load_obdecho $host
- if obdecho_loaded $host; then
- do_unload_obdecho[$host]=1
- continue
- fi
- echo "Can't load obdecho on $host" 1>&2
- exit 1
done
# get all the echo_client device numbers and names
for ((i=0; i < $ndevs; i++)); do
echo "no devices or hosts specified"
cleanup 0 $clean_srv_OSS $cleanup_oscs
fi
+# Buffers will be spread out among all hosts, so allow for that
+max_buffer_mem=$(( ${max_buffer_mem} * ${#unique_hosts[@]} ))
print_summary "$(date) Obdfilter-survey for case=$case from $(hostname)"
for ((rsz = $rszlo; rsz <= $rszhi; rsz*=2)); do
for ((nobj = $nobjlo; nobj <= $nobjhi; nobj*=2)); do
tmpfi="${tmpf}_$idx"
echo "=============> $test $client_name" >> $workf
host="${host_names[$idx]}"
- remote_shell $host cat $tmpfi >> $workf
- get_stats $tmpfi >> $tmpf
- rm $tmpfi
+ remote_shell $host cat $tmpfi > ${tmpfi}_local
+ cat ${tmpfi}_local >> $workf
+ get_stats ${tmpfi}_local >> $tmpf
+ rm -f $tmpfi ${tmpfi}_local
done
# compute/display global min/max stats
echo "=============> $test global" >> $workf