[PATCH] xfstests: update filters and output of btrfs/006
Stefan Behrens
sbehrens at giantdisaster.de
Fri Aug 23 08:06:23 CDT 2013
On Fri, 16 Aug 2013 12:10:31 -0500, Eric Sandeen wrote:
> On 8/16/13 12:02 PM, Stefan Behrens wrote:
>> The btrfs-progs tools changed the output:
>> - 100GiB instead of 100GB
>> - The number of spaces was changed
>
> ugh.
>
>>
>> Signed-off-by: Stefan Behrens <sbehrens at giantdisaster.de>
>> ---
>> common/filter | 2 +-
>> common/filter.btrfs | 3 ++-
>> tests/btrfs/006 | 6 +++---
>> tests/btrfs/006.out | 36 ++++++++++++++++++------------------
>> 4 files changed, 24 insertions(+), 23 deletions(-)
>>
>> diff --git a/common/filter b/common/filter
>> index dbb1674..ee738ca 100644
>> --- a/common/filter
>> +++ b/common/filter
>> @@ -262,7 +262,7 @@ _filter_uuid()
>> # Filter out sizes like 6.14MB etc
>> _filter_size()
>> {
>> - sed -e "s/[0-9\.]\+\s\?[b|k|m|g|t][b]\?/<SIZE>/ig"
>> + sed -e "s/[0-9\.]\+\s\?[b|k|m|g|t][i]\?[b]\?/<SIZE>/ig"
>> }
>
> makes sense
>
> But for the rest, is the output change intentional, or sloppiness/accidental?
>
> If it's really intentional, then:
>
> Reviewed-by: Eric Sandeen <sandeen at redhat.com>
>
Thanks for the review, Eric!
Since this commit is not yet added to the repo, I just took the time to
create a cleaner fix.
The tools didn't change the number of spaces in the output. The root
cause was that I had 11 devices in SCRATCH_DEV_POOL for the first time.
And this caused changes in the number of spaces in the output wherever
things like %4d was used.
One problem was the output of "uniq -c" which added spaces depending
on the size of the count value (e.g. one space less for 10+ devices).
The second problem was that "btrfs fi show" was doing the same:
"devid %4llu size %s used %s path %s".
Please scratch this patch out, I'll send two better patches instead
which address the real problems.
>> # Convert string read from stdin like 128K to bytes and print it to stdout
>> diff --git a/common/filter.btrfs b/common/filter.btrfs
>> index e9a2bc2..1584596 100644
>> --- a/common/filter.btrfs
>> +++ b/common/filter.btrfs
>> @@ -33,6 +33,7 @@ _filter_btrfs_filesystem_show()
>> # the uniq collapses all device lines into 1
>> _filter_uuid $UUID | _filter_scratch | _filter_scratch_pool | \
>> _filter_size | _filter_btrfs_version | _filter_devid | \
>> + _filter_spaces | \
>> sed -e "s/\(Total devices\) $NUMDEVS/\1 $NUM_SUBST/g" | \
>> uniq
>> }
>> @@ -51,7 +52,7 @@ _filter_btrfs_device_stats()
>> UNIQ_OPT=""
>> fi
>>
>> - _filter_scratch | _filter_scratch_pool | \
>> + _filter_scratch | _filter_scratch_pool | _filter_spaces | \
>> sed -e "s/[0-9]\+$/<NUM>/g" | sort | uniq $UNIQ_OPT | \
>> sed -e "s/$NUMDEVS /<NUMDEVS> /g"
>> }
>> diff --git a/tests/btrfs/006 b/tests/btrfs/006
>> index 9f7beff..f323cc4 100755
>> --- a/tests/btrfs/006
>> +++ b/tests/btrfs/006
>> @@ -82,13 +82,13 @@ echo "== Sync filesystem"
>> $BTRFS_UTIL_PROG filesystem sync $SCRATCH_MNT | _filter_scratch
>>
>> echo "== Show device stats by mountpoint"
>> -$BTRFS_UTIL_PROG device stats $SCRATCH_MNT | _filter_btrfs_device_stats $TOTAL_DEVS
>> +$BTRFS_UTIL_PROG device stats $SCRATCH_MNT | _filter_btrfs_device_stats $TOTAL_DEVS | _filter_spaces
>> echo "== Show device stats by first/scratch dev"
>> $BTRFS_UTIL_PROG device stats $SCRATCH_DEV | _filter_btrfs_device_stats
>> echo "== Show device stats by second dev"
>> -$BTRFS_UTIL_PROG device stats $FIRST_POOL_DEV | sed -e "s,$FIRST_POOL_DEV,FIRST_POOL_DEV,g"
>> +$BTRFS_UTIL_PROG device stats $FIRST_POOL_DEV | sed -e "s,$FIRST_POOL_DEV,FIRST_POOL_DEV,g" | _filter_spaces
>> echo "== Show device stats by last dev"
>> -$BTRFS_UTIL_PROG device stats $LAST_POOL_DEV | sed -e "s,$LAST_POOL_DEV,LAST_POOL_DEV,g"
>> +$BTRFS_UTIL_PROG device stats $LAST_POOL_DEV | sed -e "s,$LAST_POOL_DEV,LAST_POOL_DEV,g" | _filter_spaces
>>
>> # success, all done
>> status=0
>> diff --git a/tests/btrfs/006.out b/tests/btrfs/006.out
>> index ab33b7e..413a5a8 100644
>> --- a/tests/btrfs/006.out
>> +++ b/tests/btrfs/006.out
>> @@ -4,38 +4,38 @@
>> TestLabel.006
>> == Mount.
>> == Show filesystem by label
>> -Label: 'TestLabel.006' uuid: <UUID>
>> +Label: 'TestLabel.006' uuid: <UUID>
>> Total devices <EXACTNUM> FS bytes used <SIZE>
>> - devid <DEVID> size <SIZE> used <SIZE> path SCRATCH_DEV
>> + devid <DEVID> size <SIZE> used <SIZE> path SCRATCH_DEV
>>
>> == Show filesystem by UUID
>> -Label: 'TestLabel.006' uuid: <EXACTUUID>
>> +Label: 'TestLabel.006' uuid: <EXACTUUID>
>> Total devices <EXACTNUM> FS bytes used <SIZE>
>> - devid <DEVID> size <SIZE> used <SIZE> path SCRATCH_DEV
>> + devid <DEVID> size <SIZE> used <SIZE> path SCRATCH_DEV
>>
>> == Sync filesystem
>> FSSync 'SCRATCH_MNT'
>> == Show device stats by mountpoint
>> - <NUMDEVS> [SCRATCH_DEV].corruption_errs <NUM>
>> - <NUMDEVS> [SCRATCH_DEV].flush_io_errs <NUM>
>> - <NUMDEVS> [SCRATCH_DEV].generation_errs <NUM>
>> - <NUMDEVS> [SCRATCH_DEV].read_io_errs <NUM>
>> - <NUMDEVS> [SCRATCH_DEV].write_io_errs <NUM>
>> + <NUMDEVS> [SCRATCH_DEV].corruption_errs <NUM>
>> + <NUMDEVS> [SCRATCH_DEV].flush_io_errs <NUM>
>> + <NUMDEVS> [SCRATCH_DEV].generation_errs <NUM>
>> + <NUMDEVS> [SCRATCH_DEV].read_io_errs <NUM>
>> + <NUMDEVS> [SCRATCH_DEV].write_io_errs <NUM>
>> == Show device stats by first/scratch dev
>> [SCRATCH_DEV].corruption_errs <NUM>
>> -[SCRATCH_DEV].flush_io_errs <NUM>
>> +[SCRATCH_DEV].flush_io_errs <NUM>
>> [SCRATCH_DEV].generation_errs <NUM>
>> -[SCRATCH_DEV].read_io_errs <NUM>
>> -[SCRATCH_DEV].write_io_errs <NUM>
>> +[SCRATCH_DEV].read_io_errs <NUM>
>> +[SCRATCH_DEV].write_io_errs <NUM>
>> == Show device stats by second dev
>> -[FIRST_POOL_DEV].write_io_errs 0
>> -[FIRST_POOL_DEV].read_io_errs 0
>> -[FIRST_POOL_DEV].flush_io_errs 0
>> +[FIRST_POOL_DEV].write_io_errs 0
>> +[FIRST_POOL_DEV].read_io_errs 0
>> +[FIRST_POOL_DEV].flush_io_errs 0
>> [FIRST_POOL_DEV].corruption_errs 0
>> [FIRST_POOL_DEV].generation_errs 0
>> == Show device stats by last dev
>> -[LAST_POOL_DEV].write_io_errs 0
>> -[LAST_POOL_DEV].read_io_errs 0
>> -[LAST_POOL_DEV].flush_io_errs 0
>> +[LAST_POOL_DEV].write_io_errs 0
>> +[LAST_POOL_DEV].read_io_errs 0
>> +[LAST_POOL_DEV].flush_io_errs 0
>> [LAST_POOL_DEV].corruption_errs 0
>> [LAST_POOL_DEV].generation_errs 0
>>
>
More information about the xfs
mailing list