qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-block] [PATCH v5 01/10] tests/perf: Test qemu-img convert from


From: Vladimir Sementsov-Ogievskiy
Subject: Re: [Qemu-block] [PATCH v5 01/10] tests/perf: Test qemu-img convert from raw to encrypted qcow2
Date: Tue, 30 Apr 2019 08:53:41 +0000

29.04.2019 1:55, Max Reitz wrote:
> On 02.04.19 17:37, Vladimir Sementsov-Ogievskiy wrote:
>> Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
>> ---
>>   tests/perf/block/qcow2/convert-to-encrypted | 48 +++++++++++++++++++++
>>   1 file changed, 48 insertions(+)
>>   create mode 100755 tests/perf/block/qcow2/convert-to-encrypted
> 
> Thanks for the test case, but I don’t know whether this is the right way
> to include it.
> 
> A concrete problem is that it doesn’t work with out-of-tree builds (I
> only do out-of-tree builds).  I wonder whether it would be possible and
> make sense (I have no idea) to add a subdirectory "perf" to the iotests
> and reuse its infrastructure?  Those tests wouldn’t run by default.
> 

Honestly, I don't really like existing iotests infrastructure, bound to check
script, which I don't like too (and any other large script in bash, sorry :(..

What do you mean? You have env variables QEMU_IMG, etc, and want them to be
accepted by script?

I'd prefer to commit something simple and separate, to be able to build up
infrastructure around it gradually.. Finally, I want a simple way to run
a set of perf tests on a set of git commits and get an html and ascii
tables of performance comparison between these commits.

> 
>> diff --git a/tests/perf/block/qcow2/convert-to-encrypted 
>> b/tests/perf/block/qcow2/convert-to-encrypted
>> new file mode 100755
>> index 0000000000..7a6b7b1cab
>> --- /dev/null
>> +++ b/tests/perf/block/qcow2/convert-to-encrypted
>> @@ -0,0 +1,48 @@
>> +#!/bin/bash
>> +#
>> +# Test qemu-img convert from raw to encrypted qcow2
>> +#
>> +# Copyright (c) 2019 Virtuozzo International GmbH. All rights reserved.
>> +#
>> +# This program is free software; you can redistribute it and/or modify
>> +# it under the terms of the GNU General Public License as published by
>> +# the Free Software Foundation; either version 2 of the License, or
>> +# (at your option) any later version.
>> +#
>> +# This program is distributed in the hope that it will be useful,
>> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
>> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>> +# GNU General Public License for more details.
>> +#
>> +# You should have received a copy of the GNU General Public License
>> +# along with this program.  If not, see <http://www.gnu.org/licenses/>.
>> +#
>> +
>> +if [ "$#" -lt 2 ]; then
>> +    echo "Usage: $0 SOURCE_FILE DESTINATION_FILE [additional qemu-img 
>> convert parameters]"
>> +    exit 1
>> +fi
>> +
>> +ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/../../../.." >/dev/null 
>> 2>&1 && pwd )"
>> +QEMU_IMG="$ROOT_DIR/qemu-img"
>> +QEMU_IO="$ROOT_DIR/qemu-io"
>> +
>> +size=1G
>> +
>> +src="$1"
>> +shift
>> +
>> +dst="$1"
>> +shift
>> +
>> +(
>> +# create source
>> +$QEMU_IMG create -f raw "$src" $size
>> +$QEMU_IO -f raw -c "write -P 0xa 0 $size" "$src"
>> +
>> +# create target
>> +$QEMU_IMG create -f qcow2 --object secret,id=sec0,data=test -o 
>> encrypt.format=luks,encrypt.key-secret=sec0 "$dst" $size
>> +) > /dev/null
>> +
>> +# test with additional parameters left in $@
>> +/usr/bin/time -f %e $QEMU_IMG convert "$@" -f raw --object 
>> secret,id=sec0,data=test --target-image-opts -n "$src" 
>> "driver=qcow2,file.filename=$dst,encrypt.key-secret=sec0"
>>
> 
> 


-- 
Best regards,
Vladimir

reply via email to

[Prev in Thread] Current Thread [Next in Thread]