xfs
[Top] [All Lists]

Re: [PATCH] xfstests: Improve test 219 to work with different filesystem

To: xfs@xxxxxxxxxxx
Subject: Re: [PATCH] xfstests: Improve test 219 to work with different filesystems
From: Jan Kara <jack@xxxxxxx>
Date: Fri, 3 Jun 2011 13:27:56 +0200
Cc: Dave Chinner <david@xxxxxxxxxxxxx>, Jan Kara <jack@xxxxxxx>
In-reply-to: <1305805675-13753-1-git-send-email-jack@xxxxxxx>
References: <1305805675-13753-1-git-send-email-jack@xxxxxxx>
User-agent: Mutt/1.5.20 (2009-06-14)
On Thu 19-05-11 13:47:55, Jan Kara wrote:
> Different filesystems account different amount of metadata in quota. Thus it 
> is
> impractical to check for a particular amount of space occupied by a file
> because there is no right value. Change the test to verify whether the amount
> of space is between the expected amount of space and the expected amount +5%.
> The number of files is checked exactly as previously.
> 
> Signed-off-by: Jan Kara <jack@xxxxxxx>
> ---
>  219 |   25 +++++++++++++++++++++++--
>  1 files changed, 23 insertions(+), 2 deletions(-)
> 
>  Dave, does this look better?
  Any reaction on this?

                                                                Honza
> 
> diff --git a/219 b/219
> index 836d703..ad4e64d 100755
> --- a/219
> +++ b/219
> @@ -58,6 +58,23 @@ test_files()
>       done
>  }
>  
> +check_usage()
> +{
> +     wroteblocks=$1
> +     wrotefiles=$2
> +     read id exceed blocks bsoft bhard inodes isoft ihard
> +     if [ "$blocks" -lt "$wroteblocks" ]; then
> +             echo "Too few blocks used (type=$type)"
> +     # Save 5% for overhead of metadata or different block size
> +     elif [ "$blocks" -gt $((wroteblocks+wroteblocks/20)) ]; then
> +             echo "Too many blocks used (type=$type)"
> +     elif [ "$inodes" != "$wrotefiles" ]; then
> +             echo "Bad number of inodes used (type=$type)"
> +     else
> +             echo "Usage OK (type=$type)"
> +     fi
> +}
> +
>  test_accounting()
>  {
>       echo "### some controlled buffered, direct and mmapd IO (type=$type)"
> @@ -77,8 +94,12 @@ test_accounting()
>               $here/src/lstat64 $file | head -3 | _filter_scratch
>       done
>  
> -     repquota -$type -n $SCRATCH_MNT  | grep -v "^#0" | _filter_scratch |
> -     awk '/^#/ { if (seen[$1]) next; seen[$1]++; } { print; }'
> +     if [ $type == 'u' ]; then
> +             id=$uid
> +     else
> +             id=$gid
> +     fi
> +     repquota -$type -n $SCRATCH_MNT  | grep "^#$id" | check_usage 144 3
>  }
>  
>  # real QA test starts here
> -- 
> 1.7.1
> 
-- 
Jan Kara <jack@xxxxxxx>
SUSE Labs, CR

<Prev in Thread] Current Thread [Next in Thread>