* [PATCH] xfstests: use correct size value in generic/273
@ 2013-11-20 17:54 Brian Foster
2013-11-21 2:46 ` Dave Chinner
0 siblings, 1 reply; 4+ messages in thread
From: Brian Foster @ 2013-11-20 17:54 UTC (permalink / raw)
To: xfs
generic/273 factors the "space available" output from df into the
calculation for the size of the origin data set. Recent commit
bfdd1e72b358 xfstests: added -P option to $DF_PROG
... converted the use of 'df' to $DF_PROG. This implicitly adds the
-T parameter to add the fs type column, shifts the available space
column over by one and unintentionally causes 273 to look at "used
space" and create too small of a data set for a useful test.
Realign to the to the available space value.
Signed-off-by: Brian Foster <bfoster@redhat.com>
---
tests/generic/273 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/generic/273 b/tests/generic/273
index 63bbf9b..2d54493 100755
--- a/tests/generic/273
+++ b/tests/generic/273
@@ -68,7 +68,7 @@ _file_create()
cd $SCRATCH_MNT/origin
- _disksize=`$DF_PROG --block-size=1 $SCRATCH_DEV | awk -v sd=$SCRATCH_DEV 'BEGIN{c=0}{for(i=1;i<=NF;++i){a[c]=$i;++c}}END{for(entry in a){if(a[entry] ~ sd){print a[entry + 3]; break}}}'`
+ _disksize=`$DF_PROG --block-size=1 $SCRATCH_DEV | awk -v sd=$SCRATCH_DEV 'BEGIN{c=0}{for(i=1;i<=NF;++i){a[c]=$i;++c}}END{for(entry in a){if(a[entry] ~ sd){print a[entry + 4]; break}}}'`
_disksize=$(($_disksize / 3))
_num=$(($_disksize / $count / $threads / 4096))
_count=$count
--
1.8.1.4
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] xfstests: use correct size value in generic/273
2013-11-20 17:54 [PATCH] xfstests: use correct size value in generic/273 Brian Foster
@ 2013-11-21 2:46 ` Dave Chinner
2013-11-21 2:59 ` Eric Sandeen
0 siblings, 1 reply; 4+ messages in thread
From: Dave Chinner @ 2013-11-21 2:46 UTC (permalink / raw)
To: Brian Foster; +Cc: xfs
On Wed, Nov 20, 2013 at 12:54:30PM -0500, Brian Foster wrote:
> generic/273 factors the "space available" output from df into the
> calculation for the size of the origin data set. Recent commit
>
> bfdd1e72b358 xfstests: added -P option to $DF_PROG
>
> ... converted the use of 'df' to $DF_PROG. This implicitly adds the
> -T parameter to add the fs type column, shifts the available space
> column over by one and unintentionally causes 273 to look at "used
> space" and create too small of a data set for a useful test.
> Realign to the to the available space value.
>
> Signed-off-by: Brian Foster <bfoster@redhat.com>
> ---
> tests/generic/273 | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tests/generic/273 b/tests/generic/273
> index 63bbf9b..2d54493 100755
> --- a/tests/generic/273
> +++ b/tests/generic/273
> @@ -68,7 +68,7 @@ _file_create()
>
> cd $SCRATCH_MNT/origin
>
> - _disksize=`$DF_PROG --block-size=1 $SCRATCH_DEV | awk -v sd=$SCRATCH_DEV 'BEGIN{c=0}{for(i=1;i<=NF;++i){a[c]=$i;++c}}END{for(entry in a){if(a[entry] ~ sd){print a[entry + 3]; break}}}'`
> + _disksize=`$DF_PROG --block-size=1 $SCRATCH_DEV | awk -v sd=$SCRATCH_DEV 'BEGIN{c=0}{for(i=1;i<=NF;++i){a[c]=$i;++c}}END{for(entry in a){if(a[entry] ~ sd){print a[entry + 4]; break}}}'`
> _disksize=$(($_disksize / 3))
> _num=$(($_disksize / $count / $threads / 4096))
> _count=$count
Just what is this bunch of unmaintainable line noise actually doing?
$ df -T -P --block-size=1 $SCRATCH_DEV | awk -v sd=$SCRATCH_DEV 'BEGIN{c=0}{for(i=1;i<=NF;++i){a[c]=$i;++c}}END{for(entry in a){if(a[entry] ~ sd){print a[entry + 4]; break}}}'
5282562048
$
Ok, someone didn't know about --output:
$ df --block-size=1 --output=avail $SCRATCH_DEV | tail -1
5282562048
$
But --output is incompatible with DF_PROG="df -T -P" and so we need
to do:
$ df -T -P --block-size=1 $SCRATCH_DEV | tail -1 | awk '// { print $5 }'
5282562048
$
Looks a little easier to understand, yes?
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] xfstests: use correct size value in generic/273
2013-11-21 2:46 ` Dave Chinner
@ 2013-11-21 2:59 ` Eric Sandeen
2013-11-21 3:21 ` Dave Chinner
0 siblings, 1 reply; 4+ messages in thread
From: Eric Sandeen @ 2013-11-21 2:59 UTC (permalink / raw)
To: Dave Chinner, Brian Foster; +Cc: xfs
On 11/20/13, 8:46 PM, Dave Chinner wrote:
> On Wed, Nov 20, 2013 at 12:54:30PM -0500, Brian Foster wrote:
>> generic/273 factors the "space available" output from df into the
>> calculation for the size of the origin data set. Recent commit
>>
>> bfdd1e72b358 xfstests: added -P option to $DF_PROG
>>
>> ... converted the use of 'df' to $DF_PROG. This implicitly adds the
>> -T parameter to add the fs type column, shifts the available space
>> column over by one and unintentionally causes 273 to look at "used
>> space" and create too small of a data set for a useful test.
>> Realign to the to the available space value.
>>
>> Signed-off-by: Brian Foster <bfoster@redhat.com>
>> ---
>> tests/generic/273 | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/tests/generic/273 b/tests/generic/273
>> index 63bbf9b..2d54493 100755
>> --- a/tests/generic/273
>> +++ b/tests/generic/273
>> @@ -68,7 +68,7 @@ _file_create()
>>
>> cd $SCRATCH_MNT/origin
>>
>> - _disksize=`$DF_PROG --block-size=1 $SCRATCH_DEV | awk -v sd=$SCRATCH_DEV 'BEGIN{c=0}{for(i=1;i<=NF;++i){a[c]=$i;++c}}END{for(entry in a){if(a[entry] ~ sd){print a[entry + 3]; break}}}'`
>> + _disksize=`$DF_PROG --block-size=1 $SCRATCH_DEV | awk -v sd=$SCRATCH_DEV 'BEGIN{c=0}{for(i=1;i<=NF;++i){a[c]=$i;++c}}END{for(entry in a){if(a[entry] ~ sd){print a[entry + 4]; break}}}'`
>> _disksize=$(($_disksize / 3))
>> _num=$(($_disksize / $count / $threads / 4096))
>> _count=$count
>
> Just what is this bunch of unmaintainable line noise actually doing?
>
> $ df -T -P --block-size=1 $SCRATCH_DEV | awk -v sd=$SCRATCH_DEV 'BEGIN{c=0}{for(i=1;i<=NF;++i){a[c]=$i;++c}}END{for(entry in a){if(a[entry] ~ sd){print a[entry + 4]; break}}}'
> 5282562048
> $
>
> Ok, someone didn't know about --output:
I sure didn't. Not in my manpage or in my df --help output... Is it new?
$ df --block-size=1 --output=avail /
df: unrecognized option '--output=avail'
Try `df --help' for more information.
The above chicken-scratching went in w/ 1fce0780f63ccdd308767e23fe39a18d30d973d6 because:
273: fix of reading scratch size and removing lost+found
There were two reasons why test 273 was failing. Firstrly, when running on
ext4 fs it was removing everything from SCRATCH_MNT directory at the beginning
of tests including the lost+found directory. This caused error while checking
scratch fs after finishing test. Secondly, obtaining of the partition size was
not counting with with behaviour of df utility which may split the line containg
informations about one partition when it is too long thus it may have returned
nothing.
First problem was solved with removing all unnecessary rm -rf commands and the
second one was fixed with alternative awk script which is able to deal with
any line splitting possible. Also 'umount $SCRATCH_DEV' was substituted for
'_scratch_unmount'.
presumably from long lvm devicenames.
# df --block-size=1 /dev/mapper/vg_bp05-lv_home
Filesystem 1B-blocks Used Available Use% Mounted on
/dev/mapper/vg_bp05-lv_home
437264879616 254143942656 183120936960 59% /home
> $ df --block-size=1 --output=avail $SCRATCH_DEV | tail -1
> 5282562048
> $
>
> But --output is incompatible with DF_PROG="df -T -P" and so we need
> to do:
>
> $ df -T -P --block-size=1 $SCRATCH_DEV | tail -1 | awk '// { print $5 }'
> 5282562048
> $
>
> Looks a little easier to understand, yes?
yeah, and I guess it does work:
# df -T -P --block-size=1 /dev/mapper/vg_bp05-lv_home | tail -1 | awk '// { print $5 }'
183120936960
-Eric
> Cheers,
>
> Dave.
>
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] xfstests: use correct size value in generic/273
2013-11-21 2:59 ` Eric Sandeen
@ 2013-11-21 3:21 ` Dave Chinner
0 siblings, 0 replies; 4+ messages in thread
From: Dave Chinner @ 2013-11-21 3:21 UTC (permalink / raw)
To: Eric Sandeen; +Cc: Brian Foster, xfs
On Wed, Nov 20, 2013 at 08:59:03PM -0600, Eric Sandeen wrote:
> On 11/20/13, 8:46 PM, Dave Chinner wrote:
> > On Wed, Nov 20, 2013 at 12:54:30PM -0500, Brian Foster wrote:
> >> generic/273 factors the "space available" output from df into the
> >> calculation for the size of the origin data set. Recent commit
> >>
> >> bfdd1e72b358 xfstests: added -P option to $DF_PROG
> >>
> >> ... converted the use of 'df' to $DF_PROG. This implicitly adds the
> >> -T parameter to add the fs type column, shifts the available space
> >> column over by one and unintentionally causes 273 to look at "used
> >> space" and create too small of a data set for a useful test.
> >> Realign to the to the available space value.
> >>
> >> Signed-off-by: Brian Foster <bfoster@redhat.com>
> >> ---
> >> tests/generic/273 | 2 +-
> >> 1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/tests/generic/273 b/tests/generic/273
> >> index 63bbf9b..2d54493 100755
> >> --- a/tests/generic/273
> >> +++ b/tests/generic/273
> >> @@ -68,7 +68,7 @@ _file_create()
> >>
> >> cd $SCRATCH_MNT/origin
> >>
> >> - _disksize=`$DF_PROG --block-size=1 $SCRATCH_DEV | awk -v sd=$SCRATCH_DEV 'BEGIN{c=0}{for(i=1;i<=NF;++i){a[c]=$i;++c}}END{for(entry in a){if(a[entry] ~ sd){print a[entry + 3]; break}}}'`
> >> + _disksize=`$DF_PROG --block-size=1 $SCRATCH_DEV | awk -v sd=$SCRATCH_DEV 'BEGIN{c=0}{for(i=1;i<=NF;++i){a[c]=$i;++c}}END{for(entry in a){if(a[entry] ~ sd){print a[entry + 4]; break}}}'`
> >> _disksize=$(($_disksize / 3))
> >> _num=$(($_disksize / $count / $threads / 4096))
> >> _count=$count
> >
> > Just what is this bunch of unmaintainable line noise actually doing?
> >
> > $ df -T -P --block-size=1 $SCRATCH_DEV | awk -v sd=$SCRATCH_DEV 'BEGIN{c=0}{for(i=1;i<=NF;++i){a[c]=$i;++c}}END{for(entry in a){if(a[entry] ~ sd){print a[entry + 4]; break}}}'
> > 5282562048
> > $
> >
> > Ok, someone didn't know about --output:
>
> I sure didn't. Not in my manpage or in my df --help output... Is it new?
It must be - I noticed it a while back when I upgraded a 5 year old
coreutils package to 8.21, so it's sometime in the past 5 years it
was added ;)
> presumably from long lvm devicenames.
>
> # df --block-size=1 /dev/mapper/vg_bp05-lv_home
> Filesystem 1B-blocks Used Available Use% Mounted on
> /dev/mapper/vg_bp05-lv_home
> 437264879616 254143942656 183120936960 59% /home
The "-P" option prevents that from occurring - from the info page:
`-P'
`--portability'
Use the POSIX output format. This is like the default format
except for the following:
1. The information about each file system is always printed on
exactly one line; a mount device is never put on a line by
itself. This means that if the mount device name is more
than 20 characters long (e.g., for some network mounts), the
columns are misaligned.
So that's no longer an issue when we use $DF_PROG....
> > $ df -T -P --block-size=1 $SCRATCH_DEV | tail -1 | awk '// { print $5 }'
> > 5282562048
> > $
> >
> > Looks a little easier to understand, yes?
>
> yeah, and I guess it does work:
>
> # df -T -P --block-size=1 /dev/mapper/vg_bp05-lv_home | tail -1 | awk '// { print $5 }'
> 183120936960
Great!
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-11-21 3:21 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-20 17:54 [PATCH] xfstests: use correct size value in generic/273 Brian Foster
2013-11-21 2:46 ` Dave Chinner
2013-11-21 2:59 ` Eric Sandeen
2013-11-21 3:21 ` Dave Chinner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox