qemu-block
[Top][All Lists]
Advanced

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

Re: [PULL 00/64] Block layer patches


From: Max Reitz
Subject: Re: [PULL 00/64] Block layer patches
Date: Tue, 8 Sep 2020 11:01:39 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0

On 08.09.20 09:01, Kevin Wolf wrote:
> Am 07.09.2020 um 22:22 hat Peter Maydell geschrieben:
>> On Mon, 7 Sep 2020 at 12:09, Kevin Wolf <kwolf@redhat.com> wrote:
>>>
>>> The following changes since commit 7c37270b3fbe3d034ba80e488761461676e21eb4:
>>>
>>>   Merge remote-tracking branch 
>>> 'remotes/kraxel/tags/ui-20200904-pull-request' into staging (2020-09-06 
>>> 16:23:55 +0100)
>>>
>>> are available in the Git repository at:
>>>
>>>   git://repo.or.cz/qemu/kevin.git tags/for-upstream
>>>
>>> for you to fetch changes up to 4cc0ec9b1b8830f7d1fcf5dfded19ef070f98eaa:
>>>
>>>   block/nvme: Pair doorbell registers (2020-09-07 12:47:57 +0200)
>>>
>>> ----------------------------------------------------------------
>>> Block layer patches:
>>>
>>> - qemu-img create: Fail gracefully when backing file is an empty string
>>> - Fixes related to filter block nodes ("Deal with filters" series)
>>> - block/nvme: Various cleanups required to use multiple queues
>>> - block/nvme: Use NvmeBar structure from "block/nvme.h"
>>> - file-win32: Fix "locking" option
>>> - iotests: Allow running from different directory
>>
>> Fails in make check on iotests 040 and/or 041, various hosts:
>>
>> s390x linux:
>>
>>   TEST    iotest-qcow2: 041 [fail]
>> QEMU          --
>> "/home/ubuntu/qemu/build/all/tests/qemu-iotests/../../qemu-system-s390x"
>> -nodefaults -display none -accel qtest
>> QEMU_IMG      -- 
>> "/home/ubuntu/qemu/build/all/tests/qemu-iotests/../../qemu-img"
>> QEMU_IO       --
>> "/home/ubuntu/qemu/build/all/tests/qemu-iotests/../../qemu-io"
>> --cache writeback --aio threads -f qcow2
>> QEMU_NBD      -- 
>> "/home/ubuntu/qemu/build/all/tests/qemu-iotests/../../qemu-nbd"
>> IMGFMT        -- qcow2 (compat=1.1)
>> IMGPROTO      -- file
>> PLATFORM      -- Linux/s390x qemu01 4.15.0-72-generic
>> TEST_DIR      -- /home/ubuntu/qemu/build/all/tests/qemu-iotests/scratch
>> SOCK_DIR      -- /tmp/tmp.5Tpl6u2SCo
>> SOCKET_SCM_HELPER --
>> /home/ubuntu/qemu/build/all/tests/qemu-iotests/socket_scm_helper
>>
>> --- /home/ubuntu/qemu/tests/qemu-iotests/041.out        2020-09-07
>> 14:29:45.468466636 -0400
>> +++ /home/ubuntu/qemu/build/all/tests/qemu-iotests/041.out.bad
>> 2020-09-07 14:43:41.494989911 -0400
>> @@ -1,5 +1,29 @@
>> -...........................................................................................................
>> +.FF........................................................................................................
>> +======================================================================
>> +FAIL: test_explicit_mirror_filter (__main__.TestFilters)
>> +----------------------------------------------------------------------
>> +Traceback (most recent call last):
>> +  File "041", line 1415, in test_explicit_mirror_filter
>> +    self.assert_qmp(result, 'return', {})
>> +  File "/home/ubuntu/qemu/tests/qemu-iotests/iotests.py", line 888,
>> in assert_qmp
>> +    result = self.dictpath(d, path)
>> +  File "/home/ubuntu/qemu/tests/qemu-iotests/iotests.py", line 862, in 
>> dictpath
>> +    self.fail(f'failed path traversal for "{path}" in "{d}"')
>> +AssertionError: failed path traversal for "return" in "{'error':
>> {'class': 'GenericError', 'desc': "Device 'virtio-blk-ccw' can't go on
>> PCI bus"}}"
> 
> Max, any specific reason you specified the bus in device_add?

No, I don’t think so.

> This seems to fix it for me. Do you agree with the change?
> 
> diff --git a/tests/qemu-iotests/041 b/tests/qemu-iotests/041
> index cdbef3ba20..203ed58868 100755
> --- a/tests/qemu-iotests/041
> +++ b/tests/qemu-iotests/041
> @@ -1376,7 +1376,6 @@ class TestFilters(iotests.QMPTestCase):
>          result = self.vm.qmp('device_add',
>                               driver='virtio-blk',
>                               id='virtio',
> -                             bus='pci.0',
>                               drive='source')
>          self.assert_qmp(result, 'return', {})
> 
> @@ -1410,7 +1409,6 @@ class TestFilters(iotests.QMPTestCase):
>          result = self.vm.qmp('device_add',
>                               driver='virtio-blk',
>                               id='virtio',
> -                             bus='pci.0',
>                               drive='source')
>          self.assert_qmp(result, 'return', {})

Partially – this still fails on FreeBSD just like 040 fails.  So as
discussed on IRC, we should probably make this add a scsi-hd device and
add a virtio-scsi device to the VM in setUp().

[...]

>> freebsd:
>>
>>   TEST    iotest-qcow2: 040 [fail]
>> QEMU          --
>> "/usr/home/qemu/qemu-test.6pxNB5/build/tests/qemu-iotests/../../qemu-system-aarch64"
>> -nodefaults -display none -accel qtest -machine virt
>> QEMU_IMG      --
>> "/usr/home/qemu/qemu-test.6pxNB5/build/tests/qemu-iotests/../../qemu-img"
>> QEMU_IO       --
>> "/usr/home/qemu/qemu-test.6pxNB5/build/tests/qemu-iotests/../../qemu-io"
>>  --cache writeback --aio threads -f qcow2
>> QEMU_NBD      --
>> "/usr/home/qemu/qemu-test.6pxNB5/build/tests/qemu-iotests/../../qemu-nbd"
>> IMGFMT        -- qcow2 (compat=1.1)
>> IMGPROTO      -- file
>> PLATFORM      -- FreeBSD/amd64 freebsd 12.1-RELEASE
>> TEST_DIR      -- /home/qemu/qemu-test.6pxNB5/build/tests/qemu-iotests/scratch
>> SOCK_DIR      -- /tmp/tmp.gaJ11NA1
>> SOCKET_SCM_HELPER --
>>
>> --- /home/qemu/qemu-test.6pxNB5/src/tests/qemu-iotests/040.out
>> 2020-09-07 18:29:28.000000000 +0000
>> +++ /home/qemu/qemu-test.6pxNB5/build/tests/qemu-iotests/040.out.bad
>>  2020-09-07 18:37:26.783967000 +0000
>> @@ -1,5 +1,17 @@
>> -.................................................................
>> +....................F............................................
>> +======================================================================
>> +FAIL: test_filtered_active_commit_with_filter 
>> (__main__.TestCommitWithFilters)
>>  ----------------------------------------------------------------------
>> +Traceback (most recent call last):
>> +  File "040", line 867, in test_filtered_active_commit_with_filter
>> +    self.assert_qmp(result, 'return', {})
>> +  File "/usr/home/qemu/qemu-test.6pxNB5/src/tests/qemu-iotests/iotests.py",
>> line 888, in assert_qmp
>> +    result = self.dictpath(d, path)
>> +  File "/usr/home/qemu/qemu-test.6pxNB5/src/tests/qemu-iotests/iotests.py",
>> line 862, in dictpath
>> +    self.fail(f'failed path traversal for "{path}" in "{d}"')
>> +AssertionError: failed path traversal for "return" in "{'error':
>> {'class': 'GenericError', 'desc': "Bus 'pcie.0' does not support
>> hotplugging"}}"
> 
> This one I don't really understand. Why "pcie.0"? Do FreeBSD hosts
> default to a different machine type? The default should be the "pc"
> machine type, which has pci, not pcie.

As you’ve pointed out on IRC, this is for aarch64, so probably not so
much about the pc machine type.  Still, it passes on Linux, so there’s a
bit of a mystery still.

Anyway, using virtio-scsi + scsi-hd should make it pass.

I’ve attached a diff that makes “make vm-build-freebsd” (for aarch64)
pass for me.

Max

Attachment: diff
Description: Text document

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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