On 3/19/13 11:21 AM, Jan Kara wrote: > Test 289 ignored the fact that historically journal is not accounted as > fs overhead. For larger filesystems it is hidden in 1% tolerance but for > filesystems smaller than 12G the test fails. So make the counting > precise to work everywhere. Thanks. 0875a2b448fcaba67010850cf9649293a5ef653d ext4: include journal blocks in df overhead calcs changed this again, right - so will this change work in both cases? Also: is using "Journal length: " any simpler? Although I do like the new filter ;) -Eric > Signed-off-by: Jan Kara <jack@xxxxxxx> > --- > 289 | 12 ++++++++---- > common.filter | 15 +++++++++++++++ > 2 files changed, 23 insertions(+), 4 deletions(-) > > diff --git a/289 b/289 > index b057c20..9bba144 100755 > --- a/289 > +++ b/289 > @@ -59,10 +59,14 @@ TOTAL_BLOCKS=`dumpe2fs -h $SCRATCH_DEV 2>/dev/null \ > FREE_BLOCKS=`dumpe2fs -h $SCRATCH_DEV 2>/dev/null \ > | awk '/Free blocks:/{print $3}'` > > -# nb: kernels today don't count journal blocks as overhead, but should. > -# For most filesystems this will still be within tolerance. > -# Overhead is all the blocks (already) used by the fs itself: > -OVERHEAD=$(($TOTAL_BLOCKS-$FREE_BLOCKS)) > +JOURNAL_SIZE=`dumpe2fs -h $SCRATCH_DEV 2>/dev/null \ > + | awk '/Journal size:/{print $3}' | _filter_size_to_bytes` > +BLOCK_SIZE=`dumpe2fs -h $SCRATCH_DEV 2>/dev/null \ > + | awk '/Block size:/{print $3}'` > +JOURNAL_BLOCKS=$(($JOURNAL_SIZE/$BLOCK_SIZE)) > + > +# kernels today don't count journal blocks as overhead, but should. > +OVERHEAD=$(($TOTAL_BLOCKS-$FREE_BLOCKS-$JOURNAL_BLOCKS)) > > # bsddf|minixdf > # Set the behaviour for the statfs system call. The minixdf > diff --git a/common.filter b/common.filter > index f0f6076..fcd7589 100644 > --- a/common.filter > +++ b/common.filter > @@ -229,5 +229,20 @@ _filter_spaces() > sed -e 's/ [ ]*/ /g' > } > > +# Convert string read from stdin like 128K to bytes and print it to stdout > +_filter_size_to_bytes() > +{ > + read size > + suffix=${size:${#size}-1} > + mul=1 > + case $suffix in > + K) mul=1024 ;; > + M) mul=$((1024*1024)) ;; > + G) mul=$((1024*1024*1024)) ;; > + T) mul=$((1024*1024*1024*1024)) ;; > + esac > + echo $((${size:0:${#size}-1}*$mul)) > +} > + > # make sure this script returns success > /bin/true > _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs