qemu-block
[Top][All Lists]
Advanced

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

Re: [Qemu-block] [qemu-s390x] [Qemu-devel] [PULL 2/2] iotests: simple mi


From: Christian Borntraeger
Subject: Re: [Qemu-block] [qemu-s390x] [Qemu-devel] [PULL 2/2] iotests: simple mirror test with kvm on 1G image
Date: Tue, 4 Dec 2018 14:49:26 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1


On 04.12.2018 14:46, Christian Borntraeger wrote:
> FWIW, this testcase fails with current qemu master on s390:
> 
> QEMU          -- 
> "/home/cborntra/REPOS/qemu/build/tests/qemu-iotests/../../s390x-softmmu/qemu-system-s390x"
>  -nodefaults -machine accel=qtest
> QEMU_IMG      -- 
> "/home/cborntra/REPOS/qemu/build/tests/qemu-iotests/../../qemu-img" 
> QEMU_IO       -- 
> "/home/cborntra/REPOS/qemu/build/tests/qemu-iotests/../../qemu-io"  --cache 
> writeback -f qcow2
> QEMU_NBD      -- 
> "/home/cborntra/REPOS/qemu/build/tests/qemu-iotests/../../qemu-nbd" 
> IMGFMT        -- qcow2 (compat=1.1)
> IMGPROTO      -- file
> PLATFORM      -- Linux/s390x s38lp08 4.19.0+
> TEST_DIR      -- /home/cborntra/REPOS/qemu/build/tests/qemu-iotests/scratch
> SOCKET_SCM_HELPER -- 
> /home/cborntra/REPOS/qemu/build/tests/qemu-iotests/socket_scm_helper
> 235        
>  [failed, exit status 1] - output mismatch (see 235.out.bad)
> --- /home/cborntra/REPOS/qemu/tests/qemu-iotests/235.out      2018-12-04 
> 14:44:27.913714608 +0100
> +++ /home/cborntra/REPOS/qemu/build/tests/qemu-iotests/235.out.bad    
> 2018-12-04 14:44:51.512958864 +0100
> @@ -1,3 +1,14 @@
> -{"return": {}}
> -{"return": {}}
> -{"return": {}}
> +Traceback (most recent call last):
> +  File "235", line 54, in <module>
> +    vm.launch()
> +  File "/home/cborntra/REPOS/qemu/tests/qemu-iotests/../../scripts/qemu.py", 
> line 295, in launch
> +    self._launch()
> +  File "/home/cborntra/REPOS/qemu/tests/qemu-iotests/../../scripts/qemu.py", 
> line 321, in _launch
> +    self._post_launch()
> +  File "/home/cborntra/REPOS/qemu/tests/qemu-iotests/../../scripts/qemu.py", 
> line 266, in _post_launch
> +    self._qmp.accept()
> +  File 
> "/home/cborntra/REPOS/qemu/tests/qemu-iotests/../../scripts/qmp/qmp.py", line 
> 155, in accept
> +    self.__sock, _ = self.__sock.accept()
> +  File "/usr/lib64/python2.7/socket.py", line 206, in accept
> +    sock, addr = self._sock.accept()
> +socket.timeout: timed out
> 


forgot to cc Vladimir

 
> 
> On 03.12.2018 17:58, Kevin Wolf wrote:
>> From: Vladimir Sementsov-Ogievskiy <address@hidden>
>>
>> This test is broken without previous commit fixing dead-lock in mirror.
>>
>> Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
>> Signed-off-by: Max Reitz <address@hidden>
>> Acked-by: Vladimir Sementsov-Ogievskiy <address@hidden>
>> Signed-off-by: Kevin Wolf <address@hidden>
>> ---
>>  tests/qemu-iotests/235     | 76 ++++++++++++++++++++++++++++++++++++++
>>  tests/qemu-iotests/235.out |  3 ++
>>  tests/qemu-iotests/group   |  1 +
>>  3 files changed, 80 insertions(+)
>>  create mode 100755 tests/qemu-iotests/235
>>  create mode 100644 tests/qemu-iotests/235.out
>>
>> diff --git a/tests/qemu-iotests/235 b/tests/qemu-iotests/235
>> new file mode 100755
>> index 0000000000..da044ed34e
>> --- /dev/null
>> +++ b/tests/qemu-iotests/235
>> @@ -0,0 +1,76 @@
>> +#!/usr/bin/env python
>> +#
>> +# Simple mirror test
>> +#
>> +# Copyright (c) 2018 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/>.
>> +#
>> +
>> +import sys
>> +import os
>> +import iotests
>> +from iotests import qemu_img_create, qemu_io, file_path, log
>> +
>> +sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 
>> 'scripts'))
>> +
>> +from qemu import QEMUMachine
>> +
>> +# Note:
>> +# This test was added to check that mirror dead-lock was fixed (see previous
>> +# commit before this test addition).
>> +# And it didn't reproduce if at least one of the following:
>> +# 1. use small image size
>> +# 2. use raw format (not qcow2)
>> +# 3. drop kvm and use iotests.VM() (maybe, because of qtest) (however, it 
>> still
>> +#    reproduces, if just drop kvm, but gdb failed to produce full backtraces
>> +#    for me)
>> +# 4. add iothread
>> +
>> +size = 1 * 1024 * 1024 * 1024
>> +
>> +iotests.verify_image_format(supported_fmts=['qcow2'])
>> +
>> +disk = file_path('disk')
>> +
>> +# prepare source image
>> +qemu_img_create('-f', iotests.imgfmt, '-o', 'preallocation=metadata', disk,
>> +                str(size))
>> +
>> +vm = QEMUMachine(iotests.qemu_prog)
>> +vm.add_args('-machine', 'pc,accel=kvm')
>> +vm.add_args('-drive', 'id=src,file=' + disk)
>> +vm.launch()
>> +
>> +log(vm.qmp('object-add', qom_type='throttle-group', id='tg0',
>> +           props={ 'x-bps-total': size }))
>> +
>> +log(vm.qmp('blockdev-add',
>> +           **{ 'node-name': 'target',
>> +               'driver': 'throttle',
>> +               'throttle-group': 'tg0',
>> +               'file': {
>> +                   'driver': 'null-co',
>> +                   'size': size
>> +                } }))
>> +
>> +log(vm.qmp('blockdev-mirror', device='src', target='target', sync='full'))
>> +
>> +try:
>> +    vm.event_wait('BLOCK_JOB_READY', timeout=10.0)
>> +except:
>> +    vm.shutdown()
>> +    raise
>> +
>> +vm.shutdown()
>> diff --git a/tests/qemu-iotests/235.out b/tests/qemu-iotests/235.out
>> new file mode 100644
>> index 0000000000..39db621e04
>> --- /dev/null
>> +++ b/tests/qemu-iotests/235.out
>> @@ -0,0 +1,3 @@
>> +{"return": {}}
>> +{"return": {}}
>> +{"return": {}}
>> diff --git a/tests/qemu-iotests/group b/tests/qemu-iotests/group
>> index 8c56a0ad11..61a6d98ebd 100644
>> --- a/tests/qemu-iotests/group
>> +++ b/tests/qemu-iotests/group
>> @@ -232,3 +232,4 @@
>>  232 auto quick
>>  233 auto quick
>>  234 auto quick migration
>> +235 auto quick
>>
> 
> 




reply via email to

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