qemu-block
[Top][All Lists]
Advanced

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

Re: [PULL v2 00/42] Block layer patches and object-add QAPIfication


From: Stefan Hajnoczi
Subject: Re: [PULL v2 00/42] Block layer patches and object-add QAPIfication
Date: Tue, 16 Mar 2021 17:16:07 +0000

On Tue, Mar 16, 2021 at 03:55:59PM +0100, Kevin Wolf wrote:
> Am 16.03.2021 um 15:35 hat Kevin Wolf geschrieben:
> > Am 16.03.2021 um 14:17 hat Peter Maydell geschrieben:
> > > On Mon, 15 Mar 2021 at 12:35, Kevin Wolf <kwolf@redhat.com> wrote:
> > > >
> > > > The following changes since commit 
> > > > 6157b0e19721aadb4c7fdcfe57b2924af6144b14:
> > > >
> > > >   Merge remote-tracking branch 
> > > > 'remotes/vivier2/tags/linux-user-for-6.0-pull-request' into staging 
> > > > (2021-03-14 17:47:49 +0000)
> > > >
> > > > are available in the Git repository at:
> > > >
> > > >   git://repo.or.cz/qemu/kevin.git tags/for-upstream
> > > >
> > > > for you to fetch changes up to 078ee48ef7d172df1b3ad020255d1eb6beda2daf:
> > > >
> > > >   qom: Support JSON in HMP object_add and tools --object (2021-03-15 
> > > > 13:04:27 +0100)
> > > >
> > > > ----------------------------------------------------------------
> > > > Block layer patches and object-add QAPIfication
> > > >
> > > > - QAPIfy object-add and --object for tools (keyval and JSON support)
> > > > - Add vhost-user-blk-test
> > > > - stream: Fail gracefully if permission is denied
> > > > - storage-daemon: Fix crash on quit when job is still running
> > > > - curl: Fix use after free
> > > > - char: Deprecate backend aliases, fix QMP query-chardev-backends
> > > > - Fix image creation option defaults that exist in both the format and
> > > >   the protocol layer (e.g. 'cluster_size' in qcow2 and rbd; the qcow2
> > > >   default was incorrectly applied to the rbd layer)
> > > >
> > > > ----------------------------------------------------------------
> > > 
> > > Fails 'make check' on x86-64 linux:
> > > 
> > > PASS 61 qtest-x86_64/qos-test
> > > /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/virtio-blk-pci/virtio-blk/virtio-blk-tests/config
> > > PASS 62 qtest-x86_64/qos-test
> > > /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/virtio-blk-pci/virtio-blk/virtio-blk-tests/basic
> > > PASS 63 qtest-x86_64/qos-test
> > > /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/virtio-blk-pci/virtio-blk/virtio-blk-tests/resize
> > > **
> > > ERROR:../../tests/qtest/libqos/virtio.c:194:qvirtio_wait_status_byte_no_isr:
> > > assertion failed: (!d->bus->get_queue_isr_status(d, vq))
> > > ERROR qtest-x86_64/qos-test - Bail out!
> > > ERROR:../../tests/qtest/libqos/virtio.c:194:qvirtio_wait_status_byte_no_isr:
> > > assertion failed: (!d->bus->get_queue_isr_status(d, vq))
> > > Makefile.mtest:1008: recipe for target 'run-test-124' failed
> > > make: *** [run-test-124] Error 1
> > 
> > It didn't fail to me, so the condition must be a little more specific
> > than just x86_64 Linux.
> > 
> > Stefan, can you have a look? I may have to drop these patches again.
> 
> Actually, these are not the new vhost-user-blk test, but just the normal
> virtio-blk ones and it's probably unrelated. This is weird, because this
> pull request doesn't include any change to virtio-blk or the related
> qtests. Could this be intermittent failure of a change introduced by an
> earlier pull request?
> 
> Peter, which environment was this and are full logs available? It
> doesn't seem to be the Gitlab CI (because the build is still running
> there and hasn't failed yet). My first attempts to reproduce have failed
> so far.

This patch fixes the failure. You can squash it into the
vhost-user-blk-test.c patch or if you've already dropped the patches
then I can send a new revision.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>

diff --git a/tests/qtest/vhost-user-blk-test.c 
b/tests/qtest/vhost-user-blk-test.c
index dc9d7a31ae..8796c74ca4 100644
--- a/tests/qtest/vhost-user-blk-test.c
+++ b/tests/qtest/vhost-user-blk-test.c
@@ -580,6 +580,12 @@ static void idx(void *obj, void *u_data, QGuestAllocator 
*t_alloc)

     qvirtio_set_driver_ok(dev);

+    /*
+     * libvhost-user signals the call fd in VHOST_USER_SET_VRING_CALL, make
+     * sure to wait for the isr here so we don't race and confuse it later on.
+     */
+    qvirtio_wait_queue_isr(qts, dev, vq, QVIRTIO_BLK_TIMEOUT_US);
+
     /* Write request */
     req.type = VIRTIO_BLK_T_OUT;
     req.ioprio = 1;

Attachment: signature.asc
Description: PGP signature


reply via email to

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