From 6752805392f3b421d820effa4bf3f7484862d409 Mon Sep 17 00:00:00 2001 From: Charles Manning Date: Fri, 14 Jan 2011 15:24:53 +1300 Subject: [PATCH] yaffs testing: Change plotting to check for null data /proc/yaffs reads can get mangled. These changes repeat the reads until stable valid values are read. Signed-off-by: Charles Manning --- linux-tests/plot_data.sh | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/linux-tests/plot_data.sh b/linux-tests/plot_data.sh index 59c26b0..e7482bc 100755 --- a/linux-tests/plot_data.sh +++ b/linux-tests/plot_data.sh @@ -1,4 +1,4 @@ -\#!/bin/sh +#!/bin/sh # Script that gathers data erased vs free data from /proc/yaffs_stats and simultaneously \ # plots it using gnuplot. @@ -25,9 +25,24 @@ i=0; rm -f $log_file while [ ! -e $done_file ] ; do - erased_blocks=$(cat /proc/yaffs | grep n_erased_blocks | cut -d ' ' -f 2) - free_chunks=$(cat /proc/yaffs | grep n_free_chunks | cut -d ' ' -f 2) - + xx='1' + erased_blocks='2' + while [ "$xx" != "$erased_blocks" ] ; do + xx=$(cat /proc/yaffs | grep n_erased_blocks | cut -d ' ' -f 2) + erased_blocks=$(cat /proc/yaffs | grep n_erased_blocks | cut -d ' ' -f 2) + if [ -z "$xx" ] ; then + xx='bad value' + fi + done + xx='1' + free_chunks='2' + while [ "$xx" != "$free_chunks" ] ; do + xx=$(cat /proc/yaffs | grep n_free_chunks | cut -d ' ' -f 2) + free_chunks=$(cat /proc/yaffs | grep n_free_chunks | cut -d ' ' -f 2) + if [ -z "$xx" ] ; then + xx='bad value' + fi + done erased_chunks=$(($erased_blocks*64)) str=" $i, 0, $free_chunks, $erased_chunks" echo $str -- 2.30.2